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

原文地址:https://www.cnblogs.com/worldinmyeyes/p/12358075.html