部署 kubernetes v1.17.3 集群
所用节点:101,102,103
一.环境准备(在所有节点上执行)
1,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2,关闭 SELINUX
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3,关闭 Swap
swapoff–a
sed -i 's/.swap./#&/' /etc/fstab
4,配置国内 CentOS YUM 源
rm -rf /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo
5,配置国内 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
yum clean all && yum makecache
二.安装 Docker(在所有节点上执行)
1,设置 Docker yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2,安装 Docker CE 18.06.1
yum install -y docker-ce-18.06.1.ce-3.el7
3,配置 Docker Daemon
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://q2hy3fzi.mirror.aliyuncs.com"],
"graph": "/tol/docker-data"
}
EOF
4,启动 Docker,确认 Docker 服务正常。
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
systemctl status docker
docker --version
三.安装 kubeadm、kubelet、kubectl(在所有节点上执行)
•kubeadm:部署集群用的命令
•kubelet:在集群中每台机器上都要运行的组件,负责管理 pod、容器的生命周期
•kubectl:集群管理工具
1,安装工具
yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3
2,启动 kubelet
systemctl enable kubelet
systemctl start kubelet
3.1 镜像下载(在所有节点上执行)
1,获取镜像列表
kubeadm config images list
2,生成默认 kubeadm.conf 文件
kubeadm config print init-defaults > kubeadm.conf
3,修改镜像地址,默认为 google 的镜像仓库地址 k8s.gcr.io,国内无法访问,需要把地址修改为国内的,
这里使用阿里云的镜像仓库地址,编辑 kubeadm.conf,将 imageRepository 修改为 registry.aliyuncs.com/google_containers。并确认 Kubernetes 版本是 v1.17.3
4,下载镜像
kubeadm config images pull --config kubeadm.conf
5,镜像下载完成后,需要对镜像重新打标签,因为从阿里下载的镜像都是阿里的标签,而 kubeadm 里面只认 google 的标签,重新打标签后镜像就都带有 k8s.gcr.io 的标识了。
docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.3 k8s.gcr.io/kube-apiserver:v1.17.3
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.3 k8s.gcr.io/kube-controller-manager:v1.17.3
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.3 k8s.gcr.io/kube-scheduler:v1.17.3
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.17.3 k8s.gcr.io/kube-proxy:v1.17.3
docker tag registry.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag registry.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
6,删除无用镜像,重新打标签后,还需要把带有 registry.aliyuncs.com 标识的镜像删除。
docker rmi registry.aliyuncs.com/google_containers/kube-apiserver:v1.17.3
docker rmi registry.aliyuncs.com/google_containers/kube-controller-manager:v1.17.3
docker rmi registry.aliyuncs.com/google_containers/kube-scheduler:v1.17.3
docker rmi registry.aliyuncs.com/google_containers/kube-proxy:v1.17.3
docker rmi registry.aliyuncs.com/google_containers/pause:3.1
docker rmi registry.aliyuncs.com/google_containers/etcd:3.4.3-0
docker rmi registry.aliyuncs.com/google_containers/coredns:1.6.5
版权声明: 本文为 InfoQ 作者【大数据技术指南】的原创文章。
原文链接:【http://xie.infoq.cn/article/84849e66ec57ba5549b4d0f0d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论