京东云服务器如何部署Kubernetes集群?

在京东云服务器(JD Cloud)上部署 Kubernetes 集群可以通过两种方式实现:

  1. 使用京东云提供的托管 Kubernetes 服务(推荐)
  2. 手动在京东云 ECS 实例上自建 Kubernetes 集群

方式一:使用京东云容器服务(JD Cloud K8s 托管服务)—— 推荐

京东云提供了 Kubernetes 容器服务(JD KCS,JD Cloud Kubernetes Service),这是一个全托管的 Kubernetes 服务,可快速创建和管理集群。

步骤如下:

  1. 登录京东云控制台

    • 访问 京东云官网
    • 登录后进入控制台。
  2. 进入容器服务

    • 在产品与服务中找到「容器服务」或搜索“Kubernetes”。
    • 点击「Kubernetes 集群」。
  3. 创建集群

    • 点击「创建集群」。
    • 配置以下信息:
      • 集群名称
      • 地域和可用区
      • Kubernetes 版本
      • 网络配置(VPC、子网、Service CIDR 等)
      • 节点配置(Master 节点类型、Worker 节点规格、数量等)
  4. 选择节点池(Node Pool)

    • 设置工作节点的实例规格(如 C2、G2 系列)、系统盘、数据盘、自动伸缩等。
  5. 安全组与密钥对

    • 选择已有的安全组或新建,确保开放必要的端口(如 SSH、API Server 端口等)。
    • 选择密钥对用于登录节点。
  6. 确认并创建

    • 检查配置无误后,点击「立即创建」。
    • 集群创建通常需要几分钟到十几分钟。
  7. 获取 kubeconfig 并连接集群

    • 集群创建成功后,可在控制台下载 kubeconfig 文件。
    • 使用 kubectl 命令行工具连接集群:
      kubectl cluster-info
      kubectl get nodes

✅ 优点:无需维护 Master 节点,高可用,支持自动升级、监控、日志集成。


方式二:在京东云 ECS 上手动部署 Kubernetes 集群

如果你希望完全自定义,也可以在京东云的云服务器(ECS)上手动搭建 Kubernetes 集群。

准备工作:

  1. 创建至少 3 台 ECS 实例(建议 1 个 Master + 2 个 Worker)

    • 操作系统:推荐 CentOS 7/8 或 Ubuntu 20.04+
    • 规格:2核4G 以上
    • 确保在同一 VPC 内,可内网互通
    • 开放端口:6443(API Server)、2379-2380(etcd)、10250(Kubelet)等
  2. 配置安全组规则,允许节点间通信。


部署步骤(使用 kubeadm):

  1. 初始化系统环境(所有节点执行)

    # 关闭防火墙(或配置规则)
    systemctl stop firewalld && systemctl disable firewalld
    
    # 关闭 SELinux
    setenforce 0
    sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
    
    # 关闭 Swap
    swapoff -a
    sed -i '/swap/d' /etc/fstab
    
    # 加载内核模块
    modprobe br_netfilter
    echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
  2. 安装 Docker 或 containerd

    # 安装 Docker(以 CentOS 为例)
    yum install -y yum-utils
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum install -y docker-ce docker-ce-cli containerd.io
    systemctl enable docker && systemctl start docker
  3. 安装 kubeadm、kubelet、kubectl

    cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    exclude=kube*
    EOF
    
    yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
    systemctl enable kubelet
  4. 初始化 Master 节点

    kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<master-ip>

    初始化成功后,按提示配置 kubectl

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
  5. 安装网络插件(如 Flannel)

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  6. 加入 Worker 节点

    在 Master 初始化完成后,会输出 kubeadm join 命令,复制该命令在每个 Worker 节点上执行:

    kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
  7. 验证集群状态

    kubectl get nodes
    kubectl get pods -A

后续操作建议

  • 安装 Ingress Controller(如 Nginx Ingress)
  • 配置负载均衡(京东云 SLB)暴露服务
  • 使用京东云云硬盘(云磁盘)作为持久化存储
  • 配置监控(Prometheus + Grafana)和日志(EFK)

总结

方法 适用场景 维护成本 推荐度
JD Cloud 托管 K8s 生产环境、快速上线 ⭐⭐⭐⭐⭐
手动部署(kubeadm) 学习、测试、高度定制 ⭐⭐⭐

📌 建议生产环境使用 京东云 KCS 托管服务,更稳定、安全、易维护。


如需进一步帮助,可以参考京东云官方文档:
👉 京东云容器服务文档

如有具体问题(如网络配置、权限错误等),欢迎继续提问!

未经允许不得转载:ECLOUD博客 » 京东云服务器如何部署Kubernetes集群?