在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版的.