K8S管理命令(一)
配置kubectl自动补全
source <(kubectl completion bash)
node节点查看日志
journalctl -u kubelet -f

kubectl get pods --show tables

标签的格式(键值对的格式)
查看master节点的状态
kubectl get cs

kubectl api-resources | grep namespace

default #系统的默认命名空间
查看default命名空间下的所有资源



创建命名空间
kubectl create ns ky18(删除用delete)


区别
kubectl run:用于创建一个自主式的/静态Pod
kubectl delete pod
增kubectl create deployment :用于创建deployment控制器管理的Pod
删kubectl delete deployment
改kubectl scale --replicas=
查kubectl get pod

若pod无法删除,总是处于terminate状态,则要强行删除pod
kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0

service的四种类型

nodeport只支持四层转发,并且端口是有限的
如何查看一个service绑定了几个节点

删除标签后会自动生成一个从而达到期望值

将删除的标签添加回来

K8S中的四种端口号:
containerPort:容器内部进程使用的端口
Port:为service在clusterIP上暴露的端口
targetPort:容器映射在pod上的端口
nodeport:将端口映射到宿主机上,提供外部流量访问K8S集群中service的入口
k8s集群内部:客户端--> clusterIP:port -- 通过 targetport --> podip:containerport
客户端--> clusterIP:port -- 通过 targetport --> podip:containerport
k8s集群外部:客户端 --> nodeIP:nodeport --通过 targetport--> podip:containerport

更新资源
kubectl set

回滚 kubectl rollout
#可以回滚到上次的版本号



总结:
创建
kubectl create <资源类型> <资源名称> --image=<镜像名> 【--port= --relicas】
发布
kubectl expose <资源类型> <资源名称> --port= --target-port= --type=ClusterIP|NodePort|...
更新
kubectl set image <资源类型> <资源名称> <容器名>=<镜像名>
回滚
kubectl rollout undo <资源类型> <资源名称> #默认时回滚到上一个版本状态
--to-revision= #回滚到指定版本