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