文档,
https://kubernetes.io/zh-cn/docs/reference/kubectl/
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get
1.创建
create apply的区别
create 创建相同的名字的,会创建失败,但apply不会,这个会重新创建
1.1create
shell
语法,kubectl create -f FILENAME
语法,kubectl create -f FILENAME
deployment
shell
语法,kubectl create deployment NAME --image=image -- [COMMAND] [args...]
例子,
kubectl create deployment my-dep --image=nginx --replicas=3
#指定namespace
kubectl create deployment my-dep --image=nginx --replicas=3 -n namespace_name
#生成yaml 文件
kubectl create deployment my-dep --image=nginx --replicas=3 --dry-run -oyaml
语法,kubectl create deployment NAME --image=image -- [COMMAND] [args...]
例子,
kubectl create deployment my-dep --image=nginx --replicas=3
#指定namespace
kubectl create deployment my-dep --image=nginx --replicas=3 -n namespace_name
#生成yaml 文件
kubectl create deployment my-dep --image=nginx --replicas=3 --dry-run -oyaml
1.2apply
shell
语法,kubectl apply (-f FILENAME | -k DIRECTORY)
语法,kubectl apply (-f FILENAME | -k DIRECTORY)
2.删除
2.1 delete
shell
#创建
kubectl create deployment my-dep --image=nginx --replicas=3
#查看
kubectl get pod
#删除,或者delete -f xx.yaml
kubectl delete deployment my-dep
#创建
kubectl create deployment my-dep --image=nginx --replicas=3
#查看
kubectl get pod
#删除,或者delete -f xx.yaml
kubectl delete deployment my-dep
3.查看
3.1describe
shell
# 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe nodes <node-name>
或者
kubectl describe nodes/<node-name>
# 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe pods/<pod-name>
# 显示由名为 <rc-name> 的副本控制器管理的所有 Pod 的详细信息。
# 记住:副本控制器创建的任何 Pod 都以副本控制器的名称为前缀。
kubectl describe pods <rc-name>
# 描述所有的 Pod
kubectl describe pods
# 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe nodes <node-name>
或者
kubectl describe nodes/<node-name>
# 显示名为 <pod-name> 的 Pod 的详细信息。
kubectl describe pods/<pod-name>
# 显示由名为 <rc-name> 的副本控制器管理的所有 Pod 的详细信息。
# 记住:副本控制器创建的任何 Pod 都以副本控制器的名称为前缀。
kubectl describe pods <rc-name>
# 描述所有的 Pod
kubectl describe pods
3.2get
svc
shell
[root@kube-master ~]# kubectl get svc|service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 25h
nginx NodePort 192.168.253.94 <none> 8080:32498/TCP 172m
#查看所有 -A
kubectl get svc -A
[root@kube-master ~]# kubectl get svc|service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 25h
nginx NodePort 192.168.253.94 <none> 8080:32498/TCP 172m
#查看所有 -A
kubectl get svc -A
componentstatuses
shell
[root@kube-master yaml]# kubectl get componentstatuses
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
etcd-0 Healthy {"health":"true","reason":""}
scheduler Healthy ok
controller-manager Healthy ok
#- --port=0 注释(kubeadmin)
[root@kube-master yaml]# kubectl get componentstatuses
Warning: v1 ComponentStatus is deprecated in v1.19+
NAME STATUS MESSAGE ERROR
etcd-0 Healthy {"health":"true","reason":""}
scheduler Healthy ok
controller-manager Healthy ok
#- --port=0 注释(kubeadmin)
3.3logs
kubectl logs -f <pod-name>
kubectl logs -f <pod-name>
4.操作Pod
shell
# 从 Pod <pod-name> 中获取运行 'date' 的输出。默认情况下,输出来自第一个容器。
kubectl exec <pod-name> -- date
# 运行输出 'date' 获取在 Pod <pod-name> 中容器 <container-name> 的输出。
kubectl exec <pod-name> -c <container-name> -- date
# 获取一个交互 TTY 并在 Pod <pod-name> 中运行 /bin/bash。默认情况下,输出来自第一个容器。
kubectl exec -ti <pod-name> -- /bin/bash
# 从 Pod <pod-name> 中获取运行 'date' 的输出。默认情况下,输出来自第一个容器。
kubectl exec <pod-name> -- date
# 运行输出 'date' 获取在 Pod <pod-name> 中容器 <container-name> 的输出。
kubectl exec <pod-name> -c <container-name> -- date
# 获取一个交互 TTY 并在 Pod <pod-name> 中运行 /bin/bash。默认情况下,输出来自第一个容器。
kubectl exec -ti <pod-name> -- /bin/bash