官方安裝手冊
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
組件和版本關系
https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
添加Docker阿里雲源
# step 1: 安裝必要的一些系統工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加軟件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新並安裝Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 開啟Docker服務
sudo service docker start
# 注意:
# 官方軟件源默認啟用了最新的軟件,您可以通過編輯軟件源的方式獲取各個版本的軟件包。例如官方並沒有將測試版本的軟件源置為可用,您可以通過以下方式開啟。同理可以開啟各種測試版本等。
# vim /etc/yum.repos.d/docker-ee.repo
# 將[docker-ce-test]下方的enabled=0修改為enabled=1
#
# 安裝指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2: 安裝指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
添加kubernetes阿里雲源.
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [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
exclude=kube* EOF
安裝kubelet kubeadm kubectl, 也可以指定版本,我安裝的最新版1.17.3, 並設置kubelet開機啟動.
setenforce 0 yum install -y --nogpgcheck kubelet kubeadm kubectl systemctl enable kubelet && systemctl start kubelet
查看一下當前源支持 kubernetes的版本
yum list |grep kubernetes
暫時關閉防火牆,安裝好以后根據需要再開啟對應端口.
systemctl disable firewalld.service
systemctl stop firewalld.service
關閉selinux
關閉swap
安裝etcd
etcd是一個高可用鍵值對存儲倉庫,用於配置共享和服務發現的系統,k8s中主要用於集群的服務發現以及節點數據儲存。
yum install -y etcd
kubeadm init --kubernetes-version=1.17.3 --apiserver-advertise-address=172.26.191.61 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl taint nodes --all node-role.kubernetes.io/master-
更詳細的, 參見 https://blog.csdn.net/witton/article/details/107085155 ,這是centos8.0版的.