一、基本组件安装
### --- docker-ce安装:Docker安装
~~~ # 所有节点安装Docker-ce 19.03
[root@k8s-master01 ~]# yum install docker-ce-19.03.* -y
### --- 更改docker的启动参数为systemd
~~~ # 温馨提示:由于新版kubelet建议使用systemd,所以可以把docker的CgroupDriver改成systemd
[root@k8s-master01 ~]# mkdir /etc/docker
[root@k8s-master01 ~]# cat > /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
~~~ # 所有节点设置开机自启动Docker:
[root@k8s-master01 ~]# systemctl daemon-reload && systemctl enable --now docker
二、基本组件安装:k8s及etcd
### --- kubernetes版本包下载说明:
~~~ 注意目前版本是1.20.0学员安装时需要下载最新的1.20.x版本
~~~ https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
~~~ 打开页面后点击:
### --- 下载k8s及etcd版本包
~~~ # 下载kubernetes版本包
[[root@k8s-master01 ~]# wget https://dl.k8s.io/v1.20.0/kubernetes-server-linux-amd64.tar.gz
~~~ # 下载etcd版本包
~~~ 以下操作都在master01执行
~~~ 注意目前版本是1.20.0学员安装时需要下载最新的1.20.x版本:
~~~ https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md
~~~ 打开页面后点击:CHANGELOG——>找到对应版本——>CHANGELOG-1.20.md——>查看版本
~~~ ——>选择:Server binaries——>选择:kubernetes-server-linux-amd64.tar.gz——>END
[root@k8s-master01 ~]# wget https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar.gz
### --- 解压kubernetes及etcd版本包
~~~ # 解压kubernetes版本包
[root@k8s-master01 ~]# tar -xf kubernetes-server-linux-amd64.tar.gz --strip-components=3 -C /usr/local/bin kubernetes/server/bin/kube{let,ctl,-apiserver,-controller-manager,-scheduler,-proxy}
~~~ # 解压etcd版本包
[root@k8s-master01 ~]# tar -zxvf etcd-v3.4.13-linux-amd64.tar.gz --strip-components=1 -C /usr/local/bin etcd-v3.4.13-linux-amd64/etcd{,ctl}
etcd-v3.4.13-linux-amd64/etcdctl
etcd-v3.4.13-linux-amd64/etcd
### --- 版本查看
~~~ # 查看kubernetes版本包
[root@k8s-master01 ~]# kubelet --version
Kubernetes v1.20.0
~~~ # 查看etcd版本包
[root@k8s-master01 ~]# etcdctl version
etcdctl version: 3.4.13
API version: 3.4
### --- 将组件发送到其它部署节点
~~~ # 定义变量
[root@k8s-master01 ~]# MasterNodes='k8s-master02 k8s-master03'
[root@k8s-master01 ~]# WorkNodes='k8s-node01 k8s-node02'
~~~ # 将组件发送到其它节点
[root@k8s-master01 ~]# for NODE in $MasterNodes; do echo $NODE; scp /usr/local/bin/kube{let,ctl,-apiserver,-controller-manager,-scheduler,-proxy} $NODE:/usr/local/bin/; scp /usr/local/bin/etcd* $NODE:/usr/local/bin/; done
k8s-node01
kubelet 100% 109MB 66.0MB/s 00:01
kubectl 100% 38MB 48.8MB/s 00:00
kube-apiserver 100% 113MB 48.8MB/s 00:02
kube-controller-manager 100% 108MB 54.1MB/s 00:01
kube-scheduler 100% 42MB 46.3MB/s 00:00
kube-proxy 100% 38MB 29.8MB/s 00:01
etcd 100% 23MB 57.1MB/s 00:00
etcdctl 100% 17MB 43.2MB/s 00:00
k8s-node02
kubelet 100% 109MB 8.4MB/s 00:13
kubectl 100% 38MB 4.8MB/s 00:08
kube-apiserver 100% 113MB 3.9MB/s 00:29
kube-controller-manager 100% 108MB 4.1MB/s 00:26
kube-scheduler 100% 42MB 3.5MB/s 00:12
kube-proxy 100% 38MB 6.3MB/s 00:06
etcd 100% 23MB 4.5MB/s 00:05
etcdctl
~~~ # 将组件发送到其它节点
[root@k8s-master01 ~]# for NODE in $WorkNodes;do scp /usr/local/bin/kube{let,-proxy} $NODE:/usr/local/bin/; done
kubelet 100% 109MB 54.4MB/s 00:02
kube-proxy 100% 38MB 54.3MB/s 00:00
kubelet 100% 109MB 1.6MB/s 01:06
kube-proxy
三、k8s资源包下载及部署配置
### --- k8s资源包官方地址k8s github : https://github.com/kubernetes/kubernetes/
~~~ 所有节点创建/opt/cni/bin目录
[root@k8s-master01 ~]# mkdir -p /opt/cni/bin
### --- k8s-master01下下载kubernetes版本包
~~~ 下载版本包
[root@k8s-master01 ~]# cd /root/ ; git clone https://github.com/dotbalo/k8s-ha-install.git
Cloning into 'k8s-ha-install'...
remote: Enumerating objects: 649, done.
remote: Counting objects: 100% (217/217), done.
remote: Compressing objects: 100% (138/138), done.
remote: Total 649 (delta 107), reused 142 (delta 62), pack-reused 432
Receiving objects: 100% (649/649), 19.60 MiB | 6.68 MiB/s, done.
Resolving deltas: 100% (254/254), done.
### --- 切换分支切换到1.20.x分支(其他版本可以切换到其他分支)
~~~ 切换到对应版本包地址下
[root@k8s-master01 ~]# cd k8s-ha-install && git checkout manual-installation-v1.20.x
Already on 'manual-installation-v1.20.x'
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor