6、自动补全、污点管理、标签管理、命名空间管理
1、kubectl Tab命令自动补全
yum install bash-completion -y echo "source /usr/share/bash-completion/bash_completion" >> ~/.bashrc echo "source <(kubectl completion bash)" >> ~/.bashrc
2、污点管理
2.1、查询污点
# 默认master是打标签的 kubectl describe nodes master1 | grep -i taint
kubectl get nodes master1 -o jsonpath='{.spec.taints}'
2.2、删除污点
kubectl taint node master1 node-role.kubernetes.io/control-plane:NoSchedule-
kubectl patch nodes node1 -p '{"spec":{"taints":[]}}'
2.3、增加污点【把清除的污点,给node1打上污点】
kubectl taint node node1 node-role.kubernetes.io/control-plane:NoSchedule
3、标签管理
3.1、添加Label
3.1.1、方法1:yaml文件
apiVersion: v1 kind: Pod metadata: name: nginx labels: # 为Pod设置两个Label app: nginx env: prod spec: containers: - image: nginx:alpine name: container-0 resources: limits: cpu: 100m memory: 200Mi requests: cpu: 100m memory: 200Mi imagePullSecrets: - name: default-secret
3.1.2、方法2:命令行
kubectl -n kube-system label pod etcd-master1 app=etc name=master
3.2、修改标签
kubectl -n kube-system label pod etcd-master1 app=etcd --overwrite
3.3、查看标签
# 查询所有pod标签 kubectl -n kube-system get pod --show-labels # 根据标签过滤查询pod kubectl -n kube-system get pod -l app=etcd
3.4、删除标签
kubectl -n kube-system label pod etcd-master1 app-
kubectl -n kube-system label pod etcd-master1 name-
4、命名空间管理
4.1、查询命名空间
kubectl get namespaces
kubectl get ns
4.2、创建命名空间
4.2.1、方法1:yaml
kubectl apply -f - <<EOF apiVersion: v1 kind: Namespace metadata: name: custom-namespace EOF
4.2.2、方法2:命令行
kubectl create namespace custom-namespace
4.3、删除命名空间
kubectl delete namespaces custom-namespace
# custom-namespace 是命令空间的名称