在Ubuntu上使用kubeadm部署微服务的步骤

avatar
作者
筋斗云
阅读量:0

在 Ubuntu 上使用 kubeadm 部署微服务需要经过以下几个步骤:

  1. 安装 Docker

    在所有节点(包括主节点和工作节点)上安装 Docker。可以参考官方文档进行安装:https://docs.docker.com/engine/install/ubuntu/

  2. 安装 kubeadm、kubelet 和 kubectl

    在所有节点上安装 kubeadm、kubelet 和 kubectl。可以参考官方文档进行安装:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

  3. 初始化主节点

    在主节点上运行以下命令初始化 Kubernetes 集群:

    sudo kubeadm init --apiserver-advertise-address=<master-ip> --pod-network-cidr=<cidr> 

    其中,<master-ip> 是主节点的 IP 地址,<cidr> 是 Pod 网络的 CIDR。例如:

    sudo kubeadm init --apiserver-advertise-address=192.168.1.100 --pod-network-cidr=10.244.0.0/16 

    初始化完成后,会显示一条加入集群的命令,类似于:

    kubeadm join<master-ip>:<master-port> --token<token> --discovery-token-ca-cert-hash sha256:<hash> 

    请记下这条命令,因为稍后需要在工作节点上使用。

  4. 配置 kubectl

    在主节点上运行以下命令配置 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. 部署网络插件

    在主节点上运行以下命令部署网络插件(以 Calico 为例):

    kubectl apply -f https://docs.projectcalico.org/manifests/tigera-operator.yaml kubectl apply -f https://docs.projectcalico.org/manifests/custom-resources.yaml 
  6. 加入工作节点

    在每个工作节点上运行第 3 步中复制的加入集群命令。例如:

    sudo kubeadm join 192.168.1.100:6443 --token<token> --discovery-token-ca-cert-hash sha256:<hash> 
  7. 部署微服务

    在主节点上创建一个名为 deployment.yaml 的文件,内容如下:

    apiVersion: apps/v1 kind: Deployment metadata:   name: my-service spec:   replicas: 3   selector:     matchLabels:       app: my-service   template:     metadata:       labels:         app: my-service     spec:       containers:       - name: my-service         image: <your-image>         ports:         - containerPort: 80 

    <your-image> 替换为实际的微服务镜像。然后运行以下命令部署微服务:

    kubectl apply -f deployment.yaml 
  8. 暴露微服务

    在主节点上创建一个名为 service.yaml 的文件,内容如下:

    apiVersion: v1 kind: Service metadata:   name: my-service spec:   selector:     app: my-service   ports:     - protocol: TCP       port: 80       targetPort: 80   type: LoadBalancer 

    然后运行以下命令暴露微服务:

    kubectl apply -f service.yaml 

现在,您已经在 Ubuntu 上使用 kubeadm 成功部署了微服务。可以通过运行 kubectl get services 查看服务状态。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!