查看节点信息

kubectl get nodes
image.png

添加/修改/删除/查看节点标签

kubectl label nodes <node-name> node.labels.nodeisp=true #添加标签 #node.labels表示用户定义的标签,nodeisp=true是标签<label-name=label-value>(键值对格式)
kubectl label nodes <node-name> node.labels.nodeisp=false --overwrite #修改标签
kubectl label nodes <node-name> node.labels.nodeisp- #删除标签
kubectl get node --show-labels #查看标签

加载/查看镜像

nerdctl -n k8s.io load -i 镜像 #加载
nerdctl -n k8s.io images|grep 镜像 #查看

K8s中使用kubectl工具创建/删除资源对象

kubectl apply -f aaa.yaml #创建资源对象,存在就会更新,不存在就会创建
kubectl delete -f aaa.yaml #删除资源对象

查看所有名称空间下的资源信息

kubectl get pod -A

查看指定名称空间下的详细资源信息

kubectl get pod -n <namespace-name> -o wide

查看名称空间下所有的容器

kubectl get pod --all-namespaces -o wide

拷贝容器里的文件到宿主机本地

kubectl cp 命名空间/容器名:文件容器路径 宿主机本地路径

拷贝宿主机本地的文件到容器里

kubectl cp 宿主机本地路径 命名空间/容器名:文件容器路径

查看pod详细状态及pod日志

kubectl describe pod <pod-name> -n <namespace-name> #查看pod详细状态
kubectl logs -f <pod-name> -n <namespace-name> #查看pod日志

创建/查看名称空间

kubectl create namespace <namespace-name> #创建
kubectl get namespaces #查看所有名称空间

查看资源

kubectl api-resources

查看节点信息

kubectl describe nodes <node-name> #不加节点名称默认查看所有节点信息

查看容器进行时

kubectl get nodes -w wide

查看指定标签的pod

kubectl get pods -l <label-name>=<label-value>
例如:kubectl get pods -l tomcat=tomcat-pod

配置kubectl子命令补全

 yum install -y bash-completion
 source /usr/share/bash-completion/bash_completion
 kubectl completion bash > ~/.kube/completion.bash.inc
 source '/root/.kube/completion.bash.inc'
 source $HOME/.bash_profile

或者:

source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

查看集群内部的dns服务

kubectl get svc -n <namespace-name>
image-ppek.png

查看yaml,json模板

kubectl explain pod

查看k8s中有那些api版本

kubectl api-versions

重启某名称空间下的pod

kubectl rollout restart deployment -n <namespace-name>

查看指定pod中指定容器的日志

kubectl logs <pod-name> -c <容器名字> -n <namespace-name>

进入pod的容器

kubectl exec -it <pod-name> -c <容器名字> -- /bin/sh

删除控制器管理的pod

image-vqon.png
kubectl delete deployment <pod-name>
例如:kubectl delete deployment my-nginx

查看pod中资源的标签

kubectl get pods --show-labels -n <namespace-name>

查看特定pod的资源

kubectl get pods -n <namespace-name> -l <label-name>=<label-value>
例如:kubectl get pods -n xxx -l run=my-nginx #-l后面跟的是标签名

给pod打标签

kubectl label pods -n <namespace-name> <pod-name> <label-name>=<label-value>
例如:kubectl label pods -n xxx aaa nelease=ceshi

查看指定标签的pod

kubectl get pods -l <label-name>=<label-value> --show-labels
例如:kubectl get pods -l run=my-nginx --show-labels

删除pod资源标签

kubectl label pods -n <namespace-name> <pod-name> <label-name>-
例如:kubectl label pods -n xxx aaa nelease-

查看节点标签

kubectl get nodes --show-labels

给节点打标签

kubectl label nodes <node-name> <label-name>=<label-value>
例如:kubectl label nodes bbb baba=lt

给节点删除标签

kubectl label nodes <node-name> <label-name>-
例如:kubectl label nodes bbb baba-

重启pod容器组

kubectl get pod <pod-name> -n <namespace> -o yaml | kubectl replace --force -f -