跳到主要内容

最小化安装 K8s (Legacy)

本文档主要介绍在 Linux 操作系统,部署 CloudCanal 所需的最小化 Kubernetes 环境。

服务器要求

组件数量要求
Master 节点1 台2Gi CPU;2GB Memory
Node 节点1 台6Gi CPU;8GB Memory

部署步骤

安装基础软件

  • 所有节点 上安装如下基础软件
  • CentOS / RHEL

    sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    sudo yum install -y docker-ce-20.10.9-3.* docker-ce-cli-20.10.9-3.*

    sudo systemctl start docker

    sudo echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' > /etc/docker/daemon.json

    sudo systemctl restart docker
  • Ubuntu

    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

    sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

    sudo apt-get update

    sudo apt-get -y install docker-ce=5:20.10.24~3-0~ubuntu-* docker-ce-cli=5:20.10.24~3-0~ubuntu-*

    sudo systemctl start docker

    sudo echo '{"exec-opts": ["native.cgroupdriver=systemd"]}' > /etc/docker/daemon.json

    sudo systemctl restart docker

部署 Master 节点

初始化

  1. 修改以下脚本中 <local_ip>Master 节点私网 IP,并在 Master 节点 中执行。

    kubeadm init \
    --apiserver-advertise-address=<local_ip> \
    --image-repository registry.aliyuncs.com/google_containers \
    --kubernetes-version v1.23.6 \
    --service-cidr=10.96.0.0/12 \
    --pod-network-cidr=10.244.0.0/16

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

  2. 保存上述操作最后输出的 kubeadm join 命令,以备加入 Kubernetes Node 的时候执行。

  3. 初始化配置文件。

    mkdir -p $HOME/.kube

    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

    sudo chown $(id -u):$(id -g) $HOME/.kube/config

安装 CNI 网络插件

  1. Master 节点 中,下载 calico 配置文件。

    信息

    如果是 arm 架构 CPU,请替换为对应架构 calico 安装包。

    # only for x86
    curl https://gitee.com/clougence/public-demo/raw/master/calico-yaml/calico.tar.gz -O

    tar -xzvf calico.tar.gz
  2. 在 calico.yaml 文件中,取消注释 CALICO_IPV4POOL_CIDR 配置项,并将其 value 修改为 Master 节点初始化时指定的网段 (--pod-network-cidr=10.244.0.0/16)。

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

  3. 安装 calico。

    kubectl create -f calico.yaml

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

加入 Node 节点

  1. Node 节点 中,执行上面保存的 kubeadm join 命令。

    kubeadm join 192.168.2.251:6443 
    --token brv7nq.adkd0xr0wgl69z3k \
    --discovery-token-ca-cert-hash sha256:4cb876273f80cb023c4b00c35272d762ab7511aec461fe615f81af84edf8b5a4

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

验证部署

  1. Master 节点 中查看所有节点状态。

    kubectl get nodes

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

  2. Master 节点 中查看 Pod 状态,等待 READY 项全为 1/1 后,即为部署成功。

    kubectl get pod -n kube-system

    f0f8aece-be13-44f6-be2b-d5fecd9a7b67-image.png

联系我们
微信二维码

扫码添加微信,获取技术支持