目录
在命名空间kube-public创建副本控制器(deployment)来启动Pod(nginx)
若无法删除,总是处于terminate状态,则要强行删除pod
kubectl version

kubectl get node

kubectl api-resources

kubectl cluster-info

source <(kubectl completion bash)
可通过TAB键实现命令补全,建议将其写入/etc/profile
一般用的比较少
journalctl -u kubelet -f

kubectl get [-o wide|json|yaml] [-n namespace]
获取资源的相关信息,-n指定命名空间,-o指定输出格式
resource可以是具体资源名称,如“pod nhinx-xxx”;也可以是资源类型,如“pod,node,svc,deploy”多种资源使用逗号间隔;或者all(仅显示包含app标签,并不完整)
- kubectl get componentstatuses
-
- #cpmponentstatuses可以缩写成cs
- kubectl get cs

- kubectl get namespace
-
- #namespace可以缩写成ns
- kubectl get ns

kubectl get all [-n default]
由于default为缺省空间,当不指定命名空间时默认查看default命名空间

kubectl create ns kube-zzz

kubectl delete ns kube-zzz

kubectl create deployment nginx --image=nginx -n kube-public

- kubectl get pod -n kube-public
- #查看命名空间为kube-public的pod

看到状态为running,就是创建完成并成功启动了
kubectl describe deployment nginx -n kube-public

- kubectl describe pod nginx -n kube-public
- #查看pod的详细信息

kubectl get pods -n kube-public

kubectl exec可以跨主机登陆容器,docker exec只能在容器所在主机登陆。
kubectl exec -it nginx-6799fc88d8-w9wkv bash -n kube-public

由于存在deployment/rc之类的副本控制器,删除pod也会重启拉起来

删除后,控制器会自动重新启动一个新的pod
kubectl delete pod [] -n [] --force --grace-period=0
grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod
kubectl scale deployment nginx --replicas=3 -n kube-public

自动创建了3台pod

kubectl scale deployment nginx --replicas=1 -n kube-public

kubectl delete deployment nginx-test -n kube-public
kubectl label deploy nginx version=nginx-latest

kubectl label deploy nginx version-

- kubectl get deploy/nginx -o yaml
- 查看deploy控制器配置清单

- kubcectl get service nginx -o yaml
- 查看pod配置清单

kubectl explain deployment.metadata

kubectl explain service.metadata

修改yaml文件:并用kubectl apply -f xxxx.yaml文件使之生效
注意:当apply不生效时,先使用delete清除资源,再apply创建资源
kubectl get service nginx-service -o yaml > nginx-svc.yaml


kubectl delete -f nginx-svc.yaml

kubectl apply -f nginx-svc.yaml

kubectl get svc

直接使用kubectl edit service nginx-service在线编辑配置资源清单并保存退出即时生效(如port: 888)
PS:此修改方式不会对yaml文件内容修改
kubectl edit service nginx

kubectl delete service nginx

kubectl delete -f nginx-svc.yaml
