在京东云服务器(JD Cloud)上部署 Kubernetes 集群可以通过两种方式实现:
- 使用京东云提供的托管 Kubernetes 服务(推荐)
- 手动在京东云 ECS 实例上自建 Kubernetes 集群
方式一:使用京东云容器服务(JD Cloud K8s 托管服务)—— 推荐
京东云提供了 Kubernetes 容器服务(JD KCS,JD Cloud Kubernetes Service),这是一个全托管的 Kubernetes 服务,可快速创建和管理集群。
步骤如下:
-
登录京东云控制台
- 访问 京东云官网
- 登录后进入控制台。
-
进入容器服务
- 在产品与服务中找到「容器服务」或搜索“Kubernetes”。
- 点击「Kubernetes 集群」。
-
创建集群
- 点击「创建集群」。
- 配置以下信息:
- 集群名称
- 地域和可用区
- Kubernetes 版本
- 网络配置(VPC、子网、Service CIDR 等)
- 节点配置(Master 节点类型、Worker 节点规格、数量等)
-
选择节点池(Node Pool)
- 设置工作节点的实例规格(如 C2、G2 系列)、系统盘、数据盘、自动伸缩等。
-
安全组与密钥对
- 选择已有的安全组或新建,确保开放必要的端口(如 SSH、API Server 端口等)。
- 选择密钥对用于登录节点。
-
确认并创建
- 检查配置无误后,点击「立即创建」。
- 集群创建通常需要几分钟到十几分钟。
-
获取 kubeconfig 并连接集群
- 集群创建成功后,可在控制台下载
kubeconfig文件。 - 使用
kubectl命令行工具连接集群:kubectl cluster-info kubectl get nodes
- 集群创建成功后,可在控制台下载
✅ 优点:无需维护 Master 节点,高可用,支持自动升级、监控、日志集成。
方式二:在京东云 ECS 上手动部署 Kubernetes 集群
如果你希望完全自定义,也可以在京东云的云服务器(ECS)上手动搭建 Kubernetes 集群。
准备工作:
-
创建至少 3 台 ECS 实例(建议 1 个 Master + 2 个 Worker)
- 操作系统:推荐 CentOS 7/8 或 Ubuntu 20.04+
- 规格:2核4G 以上
- 确保在同一 VPC 内,可内网互通
- 开放端口:6443(API Server)、2379-2380(etcd)、10250(Kubelet)等
-
配置安全组规则,允许节点间通信。
部署步骤(使用 kubeadm):
-
初始化系统环境(所有节点执行)
# 关闭防火墙(或配置规则) 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 -
安装 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 -
安装 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 -
初始化 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 -
安装网络插件(如 Flannel)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml -
加入 Worker 节点
在 Master 初始化完成后,会输出
kubeadm join命令,复制该命令在每个 Worker 节点上执行:kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash> -
验证集群状态
kubectl get nodes kubectl get pods -A
后续操作建议
- 安装 Ingress Controller(如 Nginx Ingress)
- 配置负载均衡(京东云 SLB)暴露服务
- 使用京东云云硬盘(云磁盘)作为持久化存储
- 配置监控(Prometheus + Grafana)和日志(EFK)
总结
| 方法 | 适用场景 | 维护成本 | 推荐度 |
|---|---|---|---|
| JD Cloud 托管 K8s | 生产环境、快速上线 | 低 | ⭐⭐⭐⭐⭐ |
| 手动部署(kubeadm) | 学习、测试、高度定制 | 高 | ⭐⭐⭐ |
📌 建议生产环境使用 京东云 KCS 托管服务,更稳定、安全、易维护。
如需进一步帮助,可以参考京东云官方文档:
👉 京东云容器服务文档
如有具体问题(如网络配置、权限错误等),欢迎继续提问!
ECLOUD博客