集群 node
在初始化 k8s 集群前的所有步骤,在node 上都在执行,仅在初始化 master 时,只在 master 执行。以下步骤为将 node 添加到 master 的步骤
查看所有 nodes
shell
# master 查看集群节点
kubectl get nodes
在master获取加入到集群的命令
shell
# master 上获取加入获取集群的命令
kubeadm token create --print-join-command
node 加入集群
shell
# node 加入集群
kubeadm master_ip:master_port --token xx.xxx --discovery-token-ca-cert-hash sha256:xxxx
给节点打标签
shell
kubectl label nodes [name] node-role.kubernetes.io/work=work
kubectl get nodes
将 master 作为 node 使用
查看污点
shell
kubectl describe node [node_name] | grep Taints
# Taints: node-role.kubernetes.io/control-plane:NoSchedule
kubectl describe node | grep -E "Name:|Taints:"
删除污点
shell
kubectl taint nodes [node_name] node-role.kubernetes.io/master-
kubectl taint nodes --all node-role.kubernetes.io/master-
# 【污点叫 node-role.kubernetes.io/control-plane】
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
标识为 node
shell
kubectl label nodes [node_name] node-role.kubernetes.io/work=work
设置污点
shell
# kubectl taint node [node_name] node-role.kubernetes.io/master=:PreferNoSchedule
node/master01 tainted
- NoSchedule: 一定不能被调度
- PreferNoSchedule: 尽量不要调度
- NoExecute: 不仅不会调度, 还会驱逐Node上已有的Pod