K8S 命令收集

  K8S命令基础学习与实际应用

K8S 命令收集

 

 

 

K8S检查

kubectl get pods

 

kubectl get events

 

kubectl port-forward eos-zentao-blue-5598b7b75c-t9kqr 8080:80

按selector名来查找pod

kubectl get pod -n namespace --selector name=redis

查看集群信息

kubectl cluster-info

查看各组件信息

kubectl get componentstatuses -A

查看pods所在的运行节点

kubectl get pods -o wide

查看pods定义的详细信息

kubectl get pods -o yaml

查看运行的pod的环境变量

kubectl exec pod名 + -n namespace  env

查看指定pod的日志

kubectl logs -f pods/heapster-xxxxx -n kube-system

操作类命令

创建资源

kubectl create -f 文件名.yaml

重建资源

kubectl replace -f 文件名  [--force]

删除资源

kubectl delete -f 文件名

kubectl delete pod pod名

kubectl delete rc rc名

kubectl delete service service名

kubectl delete pod -A

kubectl进阶命令操作

kubectl get:获取指定资源的基本信息

 

1 kubectl get services kubernetes-dashboard -n kube-system #查看所有service

2 kubectl get deployment kubernetes-dashboard -n kube-system #查看所有发布

3 kubectl get pods -A #查看所有pod

4 kubectl get pods -o wide -A #查看所有pod的IP及节点

5 kubectl get pods -n kube-system | grep dashboard

6 kubectl get nodes -lzone #获取zone的节点

 

2、kubectl describe:查看指定资源详细描述信息

1 kubectl describe service/kubernetes-dashboard --namespace="kube-system"

2 kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system" #指定类型查看

3 kubectl describe pod nginx-772ai #查看pod详细信息

3、kubectl scale:动态伸缩

1 kubectl scale rc nginx --replicas=5 # 动态伸缩

2 kubectl scale deployment redis-slave --replicas=5 #动态伸缩

3 kubectl scale --replicas=2 -f redis-slave-deployment.yaml #动态伸缩

kubectl exec:进入pod启动的容器

 kubectl exec -it redis-master-1033017107-q47hh /bin/bash #进入容器

kubectl label:添加label值

kubectl label nodes kube-node1 zone=node1   

1 kubectl label nodes node1 zone=north #增加节点lable值 spec.nodeSelector: zone: north #指定pod在哪个节点

2 kubectl label pod redis-master-1033017107-q47hh role=master #增加lable值 [key]=[value]

3 kubectl label pod redis-master-1033017107-q47hh role- #删除lable值

4 kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite #修改lable值

kubectl rolling-update:滚动升级

1 kubectl rolling-update redis-master -f redis-master-controller-v2.yaml #配置文件滚动升级

2 kubectl rolling-update redis-master --image=redis-master:2.0 #命令升级

3 kubectl rolling-update redis-master --image=redis-master:1.0 --rollback #pod版本回滚

 

kubectl get --raw /apis/metrics.k8s.io/v1beta1/nodes       ========= metrics service 验证

 

 

 

kubectl get svc                         # 列出所有 namespace 中的所有 service

kubectl get pods -A                               # 列出所有 namespace 中的所有 pod

kubectl get pods -A -o wide                      # 列出所有 pod 并显示详细信息

kubectl get deployment my-dep                 # 列出指定 deployment

kubectl get pods --include-uninitialized      # 列出该 namespace 中的所有 pod 包括未初始化的

# 使用详细输出来描述命令

kubectl describe nodes my-node

kubectl describe pods my-pod

 

 

 kubectl delete -f ./pod.json # 删除 pod.json 文件中定义的类型和名称的 pod

 kubectl delete pod,service baz foo # 删除名为“baz”的 pod 和名为“foo”的 service

 kubectl delete pods,services -l name=myLabel # 删除具有 name=myLabel 标签的 pod 和 serivce

 kubectl delete pods,services -l name=myLabel --include-uninitialized # 删除具有 name=myLabel 标签的 pod 和 service,包括尚未初始化的

 kubectl -n my-ns delete po,svc --all # 删除 my-ns namespace 下的所有 pod 和 serivce,包括尚未初始化的

与运行中的 Pod 交互

 kubectl logs -f   podname  -n ns  --since=10m  # ns 命名空间   --since(非必须) 从多长时间开始 10m 10分钟 

与节点和集群交互

 kubectl cordon my-node # 标记 my-node 不可调度

 kubectl drain my-node # 清空 my-node 以待维护

 kubectl uncordon my-node # 标记 my-node 可调度

 kubectl top node my-node # 显示 my-node 的指标度量

 kubectl cluster-info # 显示 master 和服务的地址

 kubectl cluster-info dump # 将当前集群状态输出到 stdout

 kubectl cluster-info dump --output-directory=/path/to/cluster-state # 将当前集群状态输出到 /path/to/cluster-state

 

如果该键和影响的污点(taint)已存在,则使用指定的值替换

 kubectl taint nodes foo dedicated=special-user:NoSchedule

 

上一篇:ucore lab2


下一篇:【葵花宝典】All-in-One模式安装KubeSphere