首先安装docker环境,前两篇文章中以给出步骤
1:基础环境安装1:集群中各节点时间必须一致,使用chronyd服务从网络同步时间
systemctl start chronyd 启动服务
systemctl enable chronyd 设置开机自启
date 查看时间的命令
2:修改hostname
cat /etc/hostname 查看主机名
hostnamectl set-hostname ** 修改主机名
reboot 重启服务
vim /etc/hosts
IP hostname 增加 ip和对应的主机名称,所有节点添加主节点信息
3:将 SELinux 设置为 permissive 模式(相当于将其禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
4:关闭swap 交换区
swapoff -a
sed -ri 's/.*swap.*/#&/' /etc/fstab
可通过 free -m查看swap的状态
5:允许 iptables 检查桥接流量
cat < br_netfilter EOF cat < net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sudo sysctl --system 6:配置镜像加速地址 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://r3hj12jo.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 7:关闭防火墙 systemctl stop firewalld.service 停止firewall systemctl disable firewalld.service 禁止firewall开机启动 1:设置yum源 如果无法访问官方的yum源,可以使用国内的yum源 cat < [kubernetes] name=Kubernetes baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl EOF 2:安装指定版本 yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9 --disableexcludes=kubernetes 3:设置开机自启 systemctl enable --now kubelet sudo tee ./images.sh <<-'EOF' #!/bin/bash images=( kube-apiserver:v1.20.9 kube-proxy:v1.20.9 kube-controller-manager:v1.20.9 kube-scheduler:v1.20.9 coredns:1.7.0 etcd:3.4.13-0 pause:3.2 ) for imageName in ${images[@]} ; do docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName done EOF chmod +x ./images.sh && ./images.sh 授权并执行 所有节点都要执行,虽然子节点不需要下载这么多插件,但为了后期不报错,统一安装相同插件 1:主节点初始化 kubeadm init --apiserver-advertise-address=10.10.23.100 --control-plane-endpoint=master --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.20.9 --service-cidr=10.96.0.0/16 --pod-network-cidr=192.168.0.0/16 参数说明: --apiserver-advertise-address 集群通告地址,主节点id --control-plane-endpoint 主节点的主机名 --image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址 --kubernetes-version K8s版本,与上面安装的一致 --service-cidr 集群内部虚拟网络,Pod统一访问入口 --pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致 第一个红框内容表示初始化成功 第二个红框内容表示要想使用集群,还需要做的操作 第三个表示添加节点的令牌 第四个表示添加子节点的令牌(24小时有效期,过期再去获取令牌即可) 重新获取令牌 kubeadm token create --print-join-command 执行第二个红框中的内容 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 然后按步骤安装网络组件 网络插件有很多,此处采用calico网络插件 安装最新版本的组件 curl https://docs.projectcalico.org/manifests/calico.yaml -O 安装指定版本的组件 curl https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml -O kubectl apply -f calico.yaml 执行安装命令 kubectl delete -f calico.yaml 执行卸载命令 calico和kubernetes是有版本对应关系的,当前文档中给的版本是兼容的,若调整版本可以查看官方文档 System requirementsReview requirements before installing Calico to ensure success.https://projectcalico.docs.tigera.io/archive/v3.20/getting-started/kubernetes/requirements 安装完网络插件以后,在子节点执行加入集群的命令 执行完成在主节点通过 kubectl get nodes 查看节点信息, 至此,k8s集群环境安装成功!



