Files
devstar/docs/kubernetes
2025-11-21 13:54:04 +08:00
..
2025-11-16 19:02:20 +08:00

Kubernetes 文档入口

本目录提供从零到一的 Kubernetes 集群安装与常用脚本。建议:先阅读本 README 的概览与快速开始,再按需查看详细版文档。

文档索引

  • Kubernetes 安装k8s-installtion.md(分步说明、完整命令与排错)
  • Istio 配置istio-hostnetwork-notes.md(将 Istio IngressGateway 切换为 hostNetwork 模式指南)

快速开始

在 Master 节点:

./k8s-step1-prepare-env.sh
./k8s-step2-install-containerd.sh
./k8s-step3-install-components.sh
./k8s-step4-init-cluster.sh
./k8s-step5-install-flannel.sh

在工作节点加入(参考 node-join-command.txt 或运行第 6 步脚本):

./k8s-step6-join-nodes.sh

验证:

kubectl get nodes -o wide
kubectl get pods -A

脚本总览

  • 安装流程

    • k8s-step1-prepare-env.sh:环境准备(关闭 swap、内核参数、基础工具
    • k8s-step2-install-containerd.sh:安装与配置 containerd
    • k8s-step3-install-components.sh:安装 kubeadm/kubelet/kubectl
    • k8s-step4-init-cluster.shMaster 初始化集群
    • k8s-step5-install-flannel.sh:安装 Flannel CNI或直接 kubectl apply -f kube-flannel.yml
    • k8s-step6-join-nodes.sh:节点加入集群(使用 node-join-command.txt
    • k8s-install-all.sh:一键顺序执行上述步骤(熟悉流程后使用)
  • 网络与工具

    • setup-master-gateway.shMaster 网关/NAT 示例配置(按需修改)
    • setup-node1.shsetup-node2.sh:节点路由示例
    • k8s-image-pull-and-import.sh:镜像预拉取/导入(离线或网络慢场景)
    • install-kubectl-nodes.sh:为其他节点安装与配置 kubectl

常见问题

  • 节点 NotReady:检查 CNI 是否就绪(kubectl -n kube-flannel get pods)、确认已 swapoff -a,并查看 journalctl -u kubelet -f
  • 无法拉取镜像:检查网络/镜像源,可用 k8s-image-pull-and-import.sh 预拉取。
  • kubectl 连接异常:确认 $HOME/.kube/config 配置与权限。

Istio 服务网格配置

本目录的 Kubernetes 集群安装完成后,如需使用 Istio 作为服务网格和入口网关,请参考:

Istio hostNetwork 模式配置

适用场景

  • 只有 master 节点有公网 IP
  • 需要 Istio IngressGateway 替代 nginx-ingress-controller
  • 需要 Istio 直接监听宿主机的 80/443 端口

详细指南:请参阅 istio-hostnetwork-notes.md

快速概览

  1. 安装 Istio使用 istioctl install 或 Helm
  2. 按照指南将 istio-ingressgateway 切换为 hostNetwork 模式
  3. 配置 Gateway 和 VirtualService 进行流量路由
  4. 配置 TLS 证书 Secret

注意事项

  • 迁移前确保停止 nginx 或其他占用 80/443 的服务
  • 需要将 TLS 证书 Secret 复制到 istio-system 命名空间
  • hostNetwork 模式下Service 类型可以是 ClusterIPLoadBalancer

其他 Istio 文档