在Centos下单机部署kubernetes
官方安装手册
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版的.