基于 kubeadm 部署单控制平面的 k8s 集群

控制平面不符合 HA 要求,但用于开发/测试环境不会有任何问题,如果资源足够的话(10台以上服务器,3台用于APIserver、3台用于 etcd 存储、至少3台用于工作节点、1台作为负载均衡),可以部署多控制面的高可用集群环境。下面是高可用集群拓补结构,供参考:

kubeadm-ha-topology-external-etcd

安装步骤其实大同小异,高可用多了几个步骤,安装时可参看官网文档,也比较好操作。本文着重记录单控制平面K8S集群安装步骤。

一、准备工作

硬件资源要求,4核心以上CPU,8GB以上内存,所有服务器间网络正常通信,Ubuntu 16.04 以上或 CentOS 7以上版本操作系统,一台服务器作为控制平面节点,若干服务器作为工作节点,我这里准备了4个工作节点。大致信息如下:

名称 CPU 内存 IP OS 安装 用途
CPN-1   4U   8GB   10.163.10.6   ubuntu18.04   docker , kubeadm, kubelet , kubectl   Control Plane Node  
WN-1   4U   8GB   10.163.10.7   ubuntu18.04   docker , kubeadm, kubelet   Worker Node  
WN-2   4U   8GB   10.163.10.8   ubuntu18.04   docker , kubeadm, kubelet   Worker Node  
WN-2   4U   8GB   10.163.10.9   ubuntu18.04   docker , kubeadm, kubelet   Worker Node  
WN-2   4U   8GB   10.163.10.10   ubuntu18.04   docker , kubeadm, kubelet   Worker Node  
安装 docker

K8S 支持多种容器运行时环境,这里选择 docker 作为运行时环境,首先为所有节点服务器安装 docker,目前 kubernetes 最新版(v1.15.2) 可以完全兼容支持的 docker 最高版本为 v18.06,所以这里安装 v18.06 这个版本。
参考 官网文档。

# 删除旧版本docker $ sudo apt-get remove docker docker-engine docker.io containerd runc # 更新 apt $ sudo apt-get update # 安装工具包 $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common # 添加Docker官方 GPG key $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加 stable apt 源 $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" # 安装 Docker CE $ sudo apt-get update $ sudo apt-get install docker-ce=18.06.3~ce~3-0~ubuntu docker-ce-cli=18.06.3~ce~3-0~ubuntu containerd.io

如果因网络环境原因从官网仓库安装速度较慢,可以使用阿里云镜像仓库安装,具体步骤如下:

# step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安装GPG证书 curl -fsSL | sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] $(lsb_release -cs) stable" # Step 4: 更新并安装 Docker-CE sudo apt-get -y update # 选择安装版本,这里选择 18.06.3 apt-cache madison docker-ce # sudo apt-get -y install docker-ce=[version] sudo apt-get -y install docker-ce=18.06.3~ce~3-0~ubuntu 后续操作

** 1、当前用户加入"docker"用户组**

$ sudo usermod -aG docker $USER

***2、 配置 cgroup 驱动为 systemd

# 创建文件 /etc/docker/daemon.json ,内容如下: { "exec-opts": ["native.cgroupdriver=systemd"] } # 重启服务生效配置 sudo systemctl daemon-reload sudo systemctl restart docker.service # 检查配置是否生效 docker info | grep Cgroup # ECHO --- Cgroup Driver: systemd 关闭 swap swapoff -a && sudo sed -i 's/^.*swap/#&/g' /etc/fstab 安装 kubelet kubeadm kubectl

由于网络原因,直接 APT-GET 安装可能安装不了,这里需要配置一下镜像仓库。

# 配置阿里云 kubernetes 镜像仓库 $ sudo apt-get update && sudo apt-get install -y apt-transport-https curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add - # 创建文件 /etc/apt/sources.list.d/kubernetes.list, 内容如下: deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main # 安装 kubelet kubectl kubeadm $ sudo apt-get update $ sudo apt-get install -y kubelet kubeadm kubectl # 设置kubelet开机启动 $ sudo systemctl enable kubelet 二、部署控制平面节点

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxgff.html