kubeadm 搭建k8s集群
安裝方式
安裝方式 | 難度 | 是否支持生產(chǎn) | 廠牌 | 優(yōu)點 |
---|---|---|---|---|
Kubeadm | 4 | 是 | kubernetes | 官方 |
kubespray | 3 | 是 | kubernetes | 官方 |
Rancher | 2 | 是 | 微軟+rancher | 官方 |
Rek | 1 | 是 | rancher |
kubeadm 搭建k8s集群
環(huán)境要求
- 關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
- 關閉selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config #永久
setenforce 0
- 設置主機名稱
hostnamectl set-hostname <hostname>
- 設置hosts
cat >> /etc/hosts << EOF
<ip地址> <主機名稱>
EOF
- 將IPV4流量轉換為iptables鏈
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
- 系統(tǒng)生效
systcl --system
- 同步時間
yum install ntpdate -y
ntpdate time.windows.com
kubernetes 部署
1、搭建docker環(huán)境
- 添加docker yum repo源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 通過yum安裝docker環(huán)境,添加系統(tǒng)docker自啟動命令巡通,并啟動docker
# docker下載
yum -y install docker-ce-18.06.1.ce-3.el7
# docker系統(tǒng)自啟動 && 啟動docker命令
systemctl enable docker && systemctl start docker
# 查看docker版本
docker version
- 由于docker默認的倉庫源為docker.hub癞季,國內(nèi)訪問很慢榴都,所以需要變更docker倉庫源
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
- docker配置文件變更后扳抽,需要重新啟動docker译打,才會生效
systemctl restart docker
2佑淀、搭建kubernetes環(huán)境
- 添加kubernetes yum repo源 https://mirrors.aliyun.com/kubernetes/yum/repos/
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
- 安裝kubeadm留美、kubelet、kubectl
yum install kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 -y
systemctl enable kubelet
- 初始化kubernetes-master節(jié)點
kubeadm init \
--apiserver-advertise-address=192.168.5.199 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.17.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
- 子節(jié)點關聯(lián)主節(jié)點配置
# 當其集群中查看當前token以及生成token
kubeadm token list -- 查看當前有效token值
kubeadm token create -- 生成新的token值
# 將其轉換為sha256編碼, 認證證書
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'