在线学习建设网站,正规的网站制作在哪里,北京建站程序,把自己做的网站开放到外网文章目录 一、集群架构规划信息二、系统初始化准备(所有节点同步操作)三、安装kubeadm(所有节点同步操作)四、初始化K8S集群(master节点操作)五、添加Node节点到K8S集群中六、安装Calico网络插件七、测试CoreDNS可用性 一、集群架构规划信息
pod网段#xff1a;10.244.0.0/16… 文章目录 一、集群架构规划信息二、系统初始化准备(所有节点同步操作)三、安装kubeadm(所有节点同步操作)四、初始化K8S集群(master节点操作)五、添加Node节点到K8S集群中六、安装Calico网络插件七、测试CoreDNS可用性 一、集群架构规划信息
pod网段10.244.0.0/16service网段10.10.0.0/16注意 pod和service网段不可冲突如果冲突会导致K8S集群安装失败。
服务器信息
主机名IP地址操作系统k8s-master-116.32.15.12320.04.1-Ubuntuk8s-node-116.32.15.12420.04.1-Ubuntu
二、系统初始化准备(所有节点同步操作)
1、切换root用户以下操作使用root用户进行
sudo -i2、配置国内仓库源安装所需依赖 注意下面是以Ubuntu20.04系统的仓库源为例如果系统版本不同可到阿里镜像仓库寻找对应版本
cd /etc/apt
cp sources.list sources.list_defaultsources.listcat sources.list EOF
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
EOFapt-get update
apt-get upgrade安装所需依赖包
apt-get install -y apt-transport-https ca-certificates curl software-properties-common gnupg23、添加本地域名解析
cat /etc/hosts EOF
16.32.15.123 k8s-master-1
16.32.15.124 k8s-node-1
EOF修改主机名请复制到对应服务器执行
hostnamectl set-hostname k8s-master-1 bash
hostnamectl set-hostname k8s-node-1 bash4、安装 ntpdate 保持服务器时间一致
apt install ntpdate
ntpdate ntp1.aliyun.com配置定时任务每天凌晨1点自动同步时间
crontab -e
0 1 * * * ntpdate ntp1.aliyun.comCtrlc Ctrlx Y Enter 进行保存退出
验证定时任务是否配置成功
crontab -l5、关闭交换分区
swapoff --all禁止开机自启动swap交换分区
sed -i -r /swap/ s/^/#/ /etc/fstab6、安装Docker 把Key添加到本地trusted数据库中
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -添加Docker仓库 sudo add-apt-repository \deb [archamd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \$(lsb_release -cs) \stable安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io -y配置Docker驱动
cat EOF | tee /etc/docker/daemon.json
{exec-opts: [native.cgroupdriversystemd],registry-mirrors: [https://aoewjvel.mirror.aliyuncs.com],log-driver: json-file,log-opts: {max-size: 100m},storage-driver: overlay2
}
EOF启动Docker 加入开机自启动
mkdir -p /etc/systemd/system/docker.service.d
systemctl daemon-reload
systemctl restart docker
systemctl enable --now docker
systemctl status docker三、安装kubeadm(所有节点同步操作)
1、配置国内yum源安装前提依赖
apt-get update apt-get install -y apt-transport-https curl
cat EOF /etc/apt/sources.list.d/kubernetes.list
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
EOF安装依赖包
apt-get update apt-get install -y apt-transport-https curl执行中报错 解决方法 注意这里的KEY不唯一我上面图片红圈住了复制你的KEY再执行
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B53DC80D13EDEF05
apt-get update apt-get install -y apt-transport-https curl2、安装 kubeadm、kubelet、kubectl
apt-get install -y kubelet1.23.1-00 kubeadm1.23.1-00 kubectl1.23.1-00添加自启动
systemctl enable kubelet标记指定软件包为保留held back阻止软件自动更新
apt-mark hold kubelet kubeadm kubectl 四、初始化K8S集群(master节点操作)
kubeadm init \
--apiserver-advertise-address 16.32.15.123 \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--pod-network-cidr10.244.0.0/16 \
--service-cidr10.96.0.0/12 \
--ignore-preflight-errorsSystemVerification初始化参数信息解释 image-repository指定国内阿里云的镜像源 pod-network-cidr pod网段 service-cidr service网段 apiserver-advertise-address apiserver地址 ignore-preflight-errors忽略检查的一些错误
由于kubernetes默认使用CA证书,所以需要为kubectl配置证书才可以访问到Master
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config测试kubectl命令是否可以使用
kubectl get node五、添加Node节点到K8S集群中
1、kubeadm命令获取加入集群的token(master节点执行)
kubeadm token create --print-join-command
kubeadm join 16.32.15.123:6443 --token kczwmr.x2ekr2pjq5iuhquh --discovery-token-ca-cert-hash sha256:2c8b60dfb13094634cd1476c902dd08e23042a1fb0d23f998c361d30655071f12、将获取到加入集群的token 复制到Node节点即可(node节点执行)
kubeadm join 16.32.15.123:6443 --token kczwmr.x2ekr2pjq5iuhquh --discovery-token-ca-cert-hash sha256:2c8b60dfb13094634cd1476c902dd08e23042a1fb0d23f998c361d30655071f13、查看集群节点信息(master节点执行)
kubectl get nodeOK上图可以看到节点成功加入K8S集群中。
六、安装Calico网络插件
由于calico官方在国外下载比较慢毕竟隔着一道墙我将calico.yaml文件下载好放到了国内gitee上面下面使用国内地址下载calico.yaml文件请知晓
master节点执行
wget -O /root/calico.yaml https://gitee.com/qinziteng/K8S/raw/master/YMAL/calico.yaml
kubectl apply -f calico.yaml查看集群Pod状态
kubectl get pods -n kube-system查看集群Node节点状态 kubectl get node如上如 表示无误如果还是未就绪状态需要稍微等待一会~
七、测试CoreDNS可用性
1、创建测试容器
kubectl run busybox --image busybox:1.28 --restartNever --rm -it busybox -- sh2、测试是否可以正常解析
nslookup kubernetes.default.svc.cluster.local如上图所示可以正常解析至此表示 基于Ubuntu20.04操作系统搭建K8S1.23版本集群 已成功部署并且无误