6、自动补全、污点管理、标签管理、命名空间管理

Kubernetes学习目录

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 是命令空间的名称

 

posted @ 2023-03-16 10:37  小粉优化大师  阅读(65)  评论(0编辑  收藏  举报