奋斗
努力

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

云计算

在京东云服务器上部署Kubernetes集群可以通过以下步骤完成,结合京东云的基础设施和工具(如原生Kubernetes服务或自建方案):


一、准备工作

  1. 环境需求

    • 服务器资源:至少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等)。
  2. 工具安装

    • 在所有节点安装:

      # 安装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

四、京东云优化建议

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

    • 直接通过控制台创建托管集群,无需手动运维Master节点。
    • 集成京东云SDN、负载均衡(LB)和云硬盘(CBS)等资源。
  2. 自建集群的增强配置

    • 持久化存储:使用京东云云硬盘(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)。
  3. 高可用方案

    • 部署多Master节点,使用京东云内网LB做API Server负载均衡。
    • 使用kubeadm--control-plane-endpoint参数指定LB地址。

五、常见问题

  1. 镜像拉取失败

    • 配置国内镜像源(如阿里云):
      cat > /etc/docker/daemon.json <<EOF
      {
      "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
      }
      EOF
      systemctl restart docker
  2. 网络不通

    • 检查安全组和VPC路由表,确保Pod CIDR(如10.244.0.0/16)可互通。
  3. 资源不足

    • 通过京东云控制台调整云主机配置或扩容Node节点。

六、进阶操作

  • Helm安装:部署应用管理工具Helm:
    curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
  • 监控:集成Prometheus+Grafana或使用京东云监控服务。

通过以上步骤,您可以在京东云上快速搭建一个生产可用的Kubernetes集群。如需简化流程,建议优先使用京东云托管Kubernetes服务(JKE)。

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