kubectl相关
关键词概念
Pods
Labels
Replication Controller
Services
Volumes
kubectl命令详细说明获取pod列表
# 命令会返回当前kubernetes 已经创建的pods列表,主要会显示以下信息# NAME ???????????????????READY ????STATUS ???RESTARTS ??AGE$ kubectl get pod# NAME ???????????????????READY ????STATUS ???RESTARTS ??AGE# etcd-global-9002d ??????1/1 ??????Running ??0 ?????????2d# etcd-global-l3ph8 ??????1/1 ??????Running ??0 ?????????2d# etcd-global-psj52 ??????1/1 ??????Running ??0 ?????????2d
查看pod详细信息
# 使用pod名称查看pod的详细信息, 主要是容器的详细信息$ kubectl describe pod etcd-global-9002d
查询部署列表
# 获取部署列表$ kubectl get deployment
删除部署
# 删除名称为etcd-minikube的部署$ kubectl delete deployment etcd-minikube
删除容器
# 删除rc,即删除该rc控制的所有容器$ kubectl delete rc my-nginx# 删除svc,即删除分配的虚拟IP$ kubectl delete svc my-ngin
获取Replication Controller
# 获取Replication Controller列表$ kubectl get rc
通过外部访问kubectl内部的端口
# expose命令将会创建一个service,将本地(某个节点上)的一个随机端口关联到容器中的80端口$ kubectl expose rc my-nginx --port=80 --type=LoadBalancer
查询服务信息
# 以上通过expose创建了一个叫my-nginx的service,我们可以通过以下命令查询服务信息$ kubectl get svc my-nginx
根据配置文件创建pod
# 根据配置文件*.yaml创建容器$ kubectl create -f ./hello-world.yaml
配置文件正确性校验
# 使用--vaildate参数可以校验配置文件正确性$ kubectl create -f ./hello-world.yaml --validate
查看日志
# 查看vttablet的日志$ kubectl logs vttablet-100 vttablet# 查看vttablet中mysql的日志$ kubectl logs vttablet-100 mysql
shell登录
# 通过kubectl exec 可以直接连接到对应的节点$ kubectl exec vttablet-100 -c vttablet -t -i -- bash -il
查看service详细信息
kubectl describe service etcd-global
RC副本数量修改
# 可以通过本地动态修改RC副本数量实现动态扩容缩容kubectl scale rc xxxx --replicas=3
查询Replica Set
kubectl get rs
查看Endpoints列表
# 查看Endpoints 列表# Endpoint => (Pod Ip + ContainerPort)kubectl get endpoints
查看namespaces
kubectl get namespace
Node的隔离与恢复
# 隔离Node,新创建的Pod不会在改node上创建了,但是已经创建的不会自动关闭kubectl patch node xxx -p ‘{"spec":{"unschedulable":true}}‘# 解除Node的隔离, 可以在上面继续创建podkubectl patch node xxx -p ‘{"spec":{"unschedulable":true}}‘# 隔离还可以通过kubectl replace -f xxx.yaml 命令实现
Pod添加/删除/修改Label
# 给pod xxx添加Lable app=vitesskubectl label pod xxx app=vitess# 删除pod xxx的Lable appkubectl label pod xxx app-# 修改pod xxx的标签kubectl label pod xxx app=mysql --overwrite
查看Pod日志
# 查看Pod下对应容器的日志, 使用-f可以直接监听文件变化$ kubectl logs -f <POD_NAME> -c <CONTAINER_NAME>
kubernetes常用命令
原文地址:https://www.cnblogs.com/davygeek/p/8744100.html