在京东云服务器上部署Kubernetes集群可以通过以下步骤完成,结合京东云的基础设施和工具(如原生Kubernetes服务或自建方案):
一、准备工作
-
环境需求
- 服务器资源:至少2台云主机(1 Master + 1 Node,生产环境建议3 Master高可用)。
- 配置建议:Master节点(4核8GB+),Node节点(根据应用负载调整)。
- 操作系统:推荐Ubuntu 20.04/22.04或CentOS 7/8(需禁用Swap)。
- 网络配置:
- 确保云主机在同一VPC内,内网互通。
- 安全组开放端口:6443(API Server)、2379-2380(etcd)、10250-10255(kubelet等)。
-
工具安装
-
在所有节点安装:
# 安装Docker(容器运行时) curl -fsSL https://get.docker.com | sh systemctl enable docker && systemctl start docker # 安装kubeadm/kubelet/kubectl apt-get update && apt-get install -y apt-transport-https ca-certificates curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" > /etc/apt/sources.list.d/kubernetes.list apt-get update && apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl
-
二、部署Kubernetes集群
1. 初始化Master节点
# 初始化集群(替换<内网IP>为Master节点的内网IP)
kubeadm init --apiserver-advertise-address=<内网IP> --pod-network-cidr=10.244.0.0/16
# 配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
# 安装网络插件(如Calico)
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
2. 加入Worker节点
在Master节点执行kubeadm init后会输出加入命令,形如:
kubeadm join <Master内网IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>
在Node节点上运行此命令即可加入集群。
三、验证集群
# 查看节点状态
kubectl get nodes
# 查看Pod状态
kubectl get pods --all-namespaces
四、京东云优化建议
-
使用京东云Kubernetes服务(JKE)
- 直接通过控制台创建托管集群,无需手动运维Master节点。
- 集成京东云SDN、负载均衡(LB)和云硬盘(CBS)等资源。
-
自建集群的增强配置
- 持久化存储:使用京东云云硬盘(CBS)作为PV。
# 示例StorageClass apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: jd-cbs provisioner: disk.csi.jdcloud.com parameters: type: ssd - 负载均衡:通过京东云LB暴露Service(类型为
LoadBalancer)。
- 持久化存储:使用京东云云硬盘(CBS)作为PV。
-
高可用方案
- 部署多Master节点,使用京东云内网LB做API Server负载均衡。
- 使用
kubeadm的--control-plane-endpoint参数指定LB地址。
五、常见问题
-
镜像拉取失败:
- 配置国内镜像源(如阿里云):
cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"] } EOF systemctl restart docker
- 配置国内镜像源(如阿里云):
-
网络不通:
- 检查安全组和VPC路由表,确保Pod CIDR(如
10.244.0.0/16)可互通。
- 检查安全组和VPC路由表,确保Pod CIDR(如
-
资源不足:
- 通过京东云控制台调整云主机配置或扩容Node节点。
六、进阶操作
- Helm安装:部署应用管理工具Helm:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash - 监控:集成Prometheus+Grafana或使用京东云监控服务。
通过以上步骤,您可以在京东云上快速搭建一个生产可用的Kubernetes集群。如需简化流程,建议优先使用京东云托管Kubernetes服务(JKE)。
云服务器