kubeadm 搭建k8s集群
安装方式
安装方式 | 难度 | 是否支持生产 | 厂牌 | 优点 |
---|---|---|---|---|
Kubeadm | 4 | 是 | kubernetes | 官方 |
kubespray | 3 | 是 | kubernetes | 官方 |
Rancher | 2 | 是 | 微软+rancher | 官方 |
Rek | 1 | 是 | rancher |
kubeadm 搭建k8s集群
环境要求
- 关闭防火墙
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
- 系统生效
systcl --system
- 同步时间
yum install ntpdate -y
ntpdate time.windows.com
kubernetes 部署
1、搭建docker环境
- 添加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环境,添加系统docker自启动命令,并启动docker
# docker下载
yum -y install docker-ce-18.06.1.ce-3.el7
# docker系统自启动 && 启动docker命令
systemctl enable docker && systemctl start docker
# 查看docker版本
docker version
- 由于docker默认的仓库源为docker.hub,国内访问很慢,所以需要变更docker仓库源
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
- docker配置文件变更后,需要重新启动docker,才会生效
systemctl restart docker
2、搭建kubernetes环境
- 添加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节点
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
- 子节点关联主节点配置
# 当其集群中查看当前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/^.* //'
网友评论