Kubernetes 集群部署与管理核心要点
·
一、集群初始化与节点管理
1. 初始化前准备
- 拉取镜像(Master):
kubeadm config images pull --kubernetes-version=v1.30.2 # 或使用阿里云镜像仓库 kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers - Worker节点需手动拉取
kube-proxy和pause镜像。
2. 集群初始化
kubeadm init --kubernetes-version=v1.30.2 --pod-network-cidr=10.224.0.0/16
--pod-network-cidr需与后续网络插件(如Calico)保持一致。- 初始化成功后记录
kubeadm join命令及 token。
3. 配置凭据与网络
- 复制 admin.conf 到
~/.kube/config:mkdir -p $HOME/.kube && cp /etc/kubernetes/admin.conf $HOME/.kube/config - 部署 Calico 网络(修改
CALICO_IPV4POOL_CIDR为集群 Pod CIDR):kubectl apply -f calico.yaml - 所有节点需提前拉取 Calico 相关镜像。
4. 节点加入与验证
- 使用初始化生成的 join 命令或重新生成:
kubeadm token create --print-join-command - 验证集群状态:
kubectl get nodes和kubectl get pods -A。
5. 节点维护与删除
- 驱逐节点(维护模式):
kubectl drain <node> --ignore-daemonsets - 删除节点:
kubectl delete node <node> # 在被删除节点上执行 kubeadm reset -f
6. 集群完全删除与重建
- 删除所有 worker 节点 → 删除 master 节点 → 各节点执行
kubeadm reset -f。 - 重建时可直接复用之前的
kubeadm.yml配置文件或重新执行 init。
二、Namespace 与上下文管理
1. Namespace 概念
- 用于逻辑隔离资源,默认有
default、kube-system、kube-public、kube-node-lease。 - 大多数资源属于 Namespace,Node、PV 等底层资源不属于。
2. Namespace 操作
kubectl create ns <name>
kubectl delete ns <name> # 会级联删除该命名空间下所有资源
kubectl get ns
- 操作特定命名空间需加
-n <namespace>。
3. 切换默认 Namespace
- 使用 kubectl:
kubectl config set-context --current --namespace=<ns> - 使用 kubens(第三方工具):
kubens <ns> # 切换 kubens # 列出所有 kubens -c # 查看当前
4. 多集群切换(Context)
~/.kube/config文件包含 clusters、users、contexts 三段。- 查看与切换上下文:
kubectl config get-contexts kubectl config use-context <context-name> - 使用 kubectx 更便捷:
kubectx # 列出上下文 kubectx <name> # 切换 kubectx -c # 显示当前
三、关键配置文件与命令速查
| 操作 | 命令 |
|---|---|
| 查看集群信息 | kubectl cluster-info |
| 查看节点详情 | kubectl describe node <node> |
| 获取 kubeadm 配置 | kubectl get cm kubeadm-config -n kube-system -o yaml |
| 设置 KUBECONFIG 环境变量 | export KUBECONFIG=/path/to/config |
| 查看当前上下文 | kubectl config current-context |
四、常见问题与注意事项
- 节点 NotReady:检查网络插件是否部署成功、swap 是否关闭、SELinux 是否禁用。
- Pod 网络不一致:Calico 的
CALICO_IPV4POOL_CIDR必须与--pod-network-cidr相同。 - Token 过期:使用
kubeadm token create重新生成。 - 删除 Namespace 需谨慎:会删除其下所有资源,且
default和kube-system不可删除。
更多推荐
所有评论(0)