IT必备技能啦啦啦啦啦!K8s

Kubernetes-命令记录大全

2022-08-04  本文已影响0人  Chris0Yang

语法格式

kubectl [command] [type] [name] [flags]
kubectl create/apply/delete/ -f yaml文件

查看集群工作是否正常

kubectl cluster-info

查看此状态pod详细情况

kubectl describe pod bk-cmdb-hostserver-58c7675654-zfffp   

强制删除

kubectl get pods -n kube-system | grep ContainerCreating | awk '{print $1}' | xargs kubectl delete pod -n kube-system--force --grace-period=0

检查kubectl命名空间

kubectl get pods -n kube-system -o wide

查看集群中的所有的节点

kubectl get nodes

检查k8s集群 pod状态信息

kubectl describe pod(NAME)-n kube-system

重新部署k8s集群 yaml

kubectl apply -f myapp-deploy.yaml

k8s集群 logs查看日志

kubectl logs pod名 -n 命令空间

k8s删除命名空间

kubectl delete namespaces <insert-some-namespace-name>(命名名称)

切换当前context的namespace到 blueking。切换后,后面排查需要指定 -n XXX 的命令就可以省略了

kubectl config set-context --current --namespace=XXX
kubectl config view

定义Context(运行环境)

kubectl config set-cluster kubernetes-cluster --server=https://10.0.5.28:6443
kubectl config set-context ctx-dev --namespace=dev01 --cluster=kubernetes-cluster --user=user01
kubectl config set-context ctx-prod --namespace=dev02 --cluster=kubernetes-cluster --user=user02

Node的隔离与恢复

kubectl cordon <node_name>    # 某个Node进行隔离调度
kubectl uncordon <node_name>  # 对某个Node进行恢复调度

查看创建的状况

kubectl get pod --watch

查看所有名称空间

kubectl get namespaces  # 简化可以写:ns 

查看所有集群资源的信息

kubectl get all -n default

创建namespaces命名空间的信息

kubectl create ns Name名称

创建镜像的deployment

kubectl create deployment nginx-dp --image=harbor域名地址 -n 命令空间

更新deployment

kubectl apply -f nginx-deployment.yaml

增加节点标签 备注 =:代表增加标签

kubectl label nodes NAME node-role.kubernetes.io/(master、nodeX)=

减少节点标签 备注 -:代表减少标签

kubectl label nodes NAME node-role.kubernetes.io/NAME-

打污点

kubectl taint nodes node集群机器名 污点名=XXXX:NoSchedule

去除污点

kubectl taint nodes node集群机器名 污点名:effect-

去除所有污点

kubectl taint nodes node集群机器名 污点名-

使用jq解析 检查所有node节点的污点

kubectl get nodes -o json | jq '.items[].spec'

自定义添加一个标签

kubectl label nodes k8s-master01 nodeenv=k8s-master
kubectl describe nodes k8s-master01 | grep nodeenv
                    nodeenv=k8s-master

进入pod资源

kubectl exec -ti NAME -n 命令空间 /bin/bash

使用watch命令,是观察pod重建状态变化

watch -n 1 'kubectl describe deployament NAEM -n 命令空间 |grep -C 5 Event'

输出额外信息。对于Pod,将输出Pod所在的Node名

kubectl get pods -o wide

获取所有namespace下的pod

kubectl get pods -o wide -A

删除pod信息 可以通过 --force --grace-period=0来强制删除资源

kubectl delete pod NAME -n 命名空间 --force --grace-period=0

批量删除pod 或 pvc

kubectl get pod|grep 关键字|awk '{print $1}'|xargs kubectl delete pod
kubectl get pvc|grep 关键字|awk '{print $1}'|xargs kubectl delete pvc

删除namespace信息 可以通过 --force --grace-period=0来强制删除资源

kubectl delete namespace NAME --force --grace-period=0

检查K8S集群CPU状态

kubectl describe nodes | grep -EA2 '^Addresses|cpu |  memory '

描述 pod 部署信息

kubectl describe deployment NAME -n XXX |grep -C 5 Event

查看service

kubectl describe svc NAME -n 命令空间

获取资源yaml配置清单 pod信息

kubectl get pod NAME -o yaml -n 命令空间

查看资源配置清单 svc信息

kubectl get svc NAME -o yaml -n 命令空间

解释资源配置清单

kubectl explain service

创建资源配置清单

vim ~/root/nginx-dns-svc.yaml

应用资源配置清单

kubectl apply -f nginx-dns-svc.yaml

安装kubelet kubeadm kubectl 指定版本

yum list kubelet kubeadm kubectl --showduplicates|sort -r
上一篇下一篇

猜你喜欢

热点阅读