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

京东云服务器部署Kubernetes集群的完整指南

结论

在京东云服务器上部署Kubernetes集群可以通过京东云Kubernetes服务(JKS)快速实现,也可以手动部署以满足定制化需求。推荐使用京东云原生Kubernetes服务(JKS)简化部署流程,但手动部署适合需要深度定制的场景。


部署方案选择

1. 使用京东云Kubernetes服务(JKS)

京东云提供了托管的Kubernetes服务(JKS),可一键创建集群,适合快速上云场景:

  • 优势:自动管理Master节点、内置监控和日志、支持弹性伸缩。
  • 适用场景:企业级生产环境、无运维团队的中小企业。

核心步骤

  1. 登录京东云控制台,进入Kubernetes服务(JKS)
  2. 点击创建集群,选择节点规格、网络配置、Kubernetes版本。
  3. 配置Worker节点(ECS实例)数量和存储选项。
  4. 确认并完成创建,约10-15分钟集群即可就绪。

2. 手动部署Kubernetes集群

如果需要完全控制集群配置,可以手动部署,推荐使用kubeadm工具。

环境准备

  • 京东云ECS实例:至少2台(1 Master + 1 Worker),建议配置:
    • Master:2核4GB以上,Ubuntu 20.04/CentOS 7+。
    • Worker:根据业务需求选择规格。
  • 网络要求
    • 确保ECS实例在同一VPC内,并开放6443(API Server)、2379-2380(etcd)、10250(kubelet)等端口。

安装依赖

在所有节点执行:

# 禁用Swap
sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

# 安装Docker(或Containerd)
sudo apt-get update && sudo apt-get install -y docker.io
sudo systemctl enable docker && sudo systemctl start docker

# 安装kubeadm, kubelet, kubectl
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

初始化Master节点

sudo kubeadm init --pod-network-cidr=10.244.0.0/16
  • 执行成功后,按提示配置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 token create --print-join-command

在Worker节点执行输出的命令,格式类似:

sudo kubeadm join <Master-IP>:6443 --token <token> --discovery-token-ca-cert-hash <hash>

验证集群

kubectl get nodes  # 查看节点状态
kubectl get pods -A  # 检查核心组件运行情况

关键点:确保所有节点状态为Ready,且coredns等Pod正常运行。


优化建议

  1. 启用京东云负载均衡:为Service类型配置LoadBalancer,自动创建京东云CLB。
  2. 持久化存储:使用京东云云硬盘(Cloud Disk)作为PersistentVolume
  3. 监控与日志:集成京东云监控服务或Prometheus+Grafana。

总结

  • 推荐使用京东云JKS服务,省去运维成本,适合生产环境。
  • 手动部署适合定制化需求,但需自行管理Master节点高可用和升级。
  • 关键点:确保网络互通、安全组规则正确、节点资源充足。
未经允许不得转载:秒懂云 » 京东云服务器如何部署Kubernetes集群?