k8s集群部署方案_k8s集群部署

a3b238a531cec0c022944abf429419e3.png

部署软件和配置

所有k8s集群节点都需要安装,默认yum源是谷歌也可以使用阿里云yum

kubeadm:初始化集群,管理集群等;版本1.17.2

kubelet:用于接收api-server指令,对pod生命周期进行管理;版本:1.17.2

kubectl:集群命令管理工具;版本:1.17.2

docker: 版本:18.06.3

谷歌YUM

[kubernetes

阿里云YUM

[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
       https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
35400136cb4fddaca00d398ddf69732f.png

验证yum是否可用

46b8e7ab34b34d1b2333670fe8352ae0.png

把文件复制到worker节点

91a0abe014ecfd46840f02b2b2ce3d76.png

安装指定版本kubeadm kubelet kubectl

yum list kubeadm.x86_64 --showduplicates | sort -r

yum -y install --setopt=obsoletes=0 kubeadm-1.17.2-0 kubelet-1.17.2-0 kubectl-1.17.2-0
94c1437cd1942fed26a0dc6c3dacba11.png

设置kubelet

为了实现docker使用的cgroupdriver与kubelet使用的cgroup的一致性,建议修改如下配置
vim /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

设置为开机自启动即可,由于没有生成配置文件,集群初始化后自动启动
systemctl enable kubelet
9be5d7ff9fb5f5135f11a168effb10a5.png

设置开机自启动

fdad3d52919b15c3badfe49f57261a73.png

k8s集群容器镜像

由于使用kubeadm部署集群,集群所有核心组件均以Pod运行,需要为主机准备镜像,不同角色主机准备不同镜像

master主机镜像

# 查看集群使用的容器镜像
kubeadm config images list

# 列出镜像列表到文件中,便于下载使用
kubeadm config images list >> image.list

# 查看已列出镜像文件列表
cat image.list

# 编写镜像下载脚本
cat image.pull
#! /bin/bash
img_list='
k8s.gcr.io/kube-apiserver:v1.17.2
k8s.gcr.io/kube-controller-manager:v1.17.2
k8s.gcr.io/kube-scheduler:v1.17.2
k8s.gcr.io/kube-proxy:v1.17.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.4.3-0
k8s.gcr.io/coredns:1.6.5
'
for img in $img_list
do
   docker pull $img
done

# 执行镜像下载脚本
sh image.pull

# 查看已下载镜像
docker images
b19ca1502a3150934a948e9cd6b758d9.png
803c8ae292f82c7dde528e5eac2d4b55.png

执行脚本下载软件,需要使用科学的上网方法,否则下载失败会一直超时

8824b9b9e08fcb856250ca65dd3a331f.png

worker主机镜像

在master节点对镜像打包传给worker节点就可以了

# 保存镜像为tar
docker save -o kube-proxy.tar
k8s.gcr.io/kube-proxy:v1.17.2

docker save -o pause.tar

复制tar到worker节点
scp kube-proxy.tar pause.tar worker1:/root
scp kube-proxy.tar pause.tar worker2:/root

导入以后要使用docker load -i kube-proxy.tar加载镜像

集群初始化

在master节点

kubeadm init --kubernetes-version=v1.17.2 --pod-network-cidr=172.16.0.0/16 --apiserver-advertise
-address=192.168.183.131
ea9c9ac3ebcbbf092272945389de2c9f.png
THE END
< <上一篇
下一篇>>