(二十二)从零开始搭建k8s集群——高可用kubernates集群搭建上篇

本文详细介绍了如何搭建k8s的基础设施,包括服务器网络配置、主机名修改、防火墙设置、docker环境的安装与配置,以及阿里云yum源的配置,旨在为读者提供k8s集群部署的准备工作。
摘要由CSDN通过智能技术生成

前言

本节内容分为上、中、下三篇,上篇主要是关于搭建k8s的基础环境,包括服务器基本环境的配置(网络、端口、主机名、防火墙、交换分区、文件句柄数等)、docker环境部署安装配置、镜像源配置等。中篇会介绍k8s的核心组件安装、k8s的集群部署搭建以及k8s的web端管理工具dashborad安装。下篇会介绍keepalived与haproxy的安装及配置,实现k8s的高可用。本次使用的k8s版本为:v1.28.7,dashboard版本为:v2.7.0,都为最新稳定版本。

正文

服务器基础环境配置

①k8s集群服务器部署规划

k8s集群服务器规划
主机名ip角色
m1(主)192.168.10.101master
m2(主)192.168.10.102master
m3(主)192.168.10.103master
m4(从)192.168.10.104worker
m5(从)192.168.10.105worker
m6(从)192.168.10.106worker

②使用vmware创建6台服务器,用于k8s的集群部署

③分别修改6台服务器的默认网卡ip地址为集群规划中的地址,以m1服务器为例

- 使用vi编辑器修改

- 重启系统,查看网络是否配置生效

④分别修改服务主机名为m1、m2、m3、m4、m5、m6,并修改/etc/hosts配置文件,使服务器之间可以通过主机名相互访问

- 修改服务器主机名,以m1服务器为例

hostnamectl set-hostname <hostname>

- 修改/etc/hosts配置文件,使服务器之间可以通过主机名相互访问

cat >> /etc/hosts << EOF 
192.168.10.101 m1
192.168.10.102 m2
192.168.10.103 m3
192.168.10.104 m4
192.168.10.105 m5
192.168.10.106 m6
EOF

⑤关闭所有服务器系统防火墙,保证服务之间可以正常访问,正常情况下是通过配置开放端口

- 关闭系统防火墙并禁止开机自启动

systemctl stop firewalld && systemctl disable firewalld

⑥关闭所有服务器的selinux系统安全检查与swap交换分区

- 关闭系统selinux安全检查

 sed -i 's/^SELINUX=enforcing$/SELINUX=diasbled/' /etc/selinux/config

- 关闭swap交换分区

sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab

⑦ 修改系统可操作文件句柄数

- 调整系统可操作文件句柄数,在每台服务器执行此操作

cat >> /etc/security/limits.conf << EOF 
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
EOF

- 重启服务使配置生效

⑧ 配置服务器的免密登录,此步骤可以跳过,为了方便服务器之间相互访问

- 所有服务器安装sshpass工具,实现密码自动输入

sudo yum install -y epel-release
sudo yum install -y sshpass

- 在每台服务器生成ssh公私钥密钥对

ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa

- 在每台服务器执行以下命令,用于传递免密公钥

for i in m1 m2 m3 m4 m5 m6; do sshpass -p 'root' ssh-copy-id -o StrictHostKeyChecking='no' -i /root/.ssh/id_rsa.pub $i; done

 ⑨所有服务器配置阿里云yum源,方便软件下载

- 将原始的yum源备份

sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

- 下载阿里云yum镜像文件

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

- 清除yum缓存并更新yum软件包索引

sudo yum clean all && yum makecache

⑩设置iptables网络,优化docker网络

 - 在所有服务器/etc/sysctl.conf中设置iptables网络

cat >> /etc/sysctl.conf << EOF 
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
EOF

docker容器搭建

①移除旧的docker安装内容,新服务器可以跳过此步骤

- 移除旧的docker容器安装包

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

②安装yum-utils工具类,并配置docker的安装包源地址

- 安装yum-utils工具

sudo yum install -y yum-utils

- 配置docker的安装包yum地址

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

③安装docker容器

- 安装docker容器,默认安装最新版本

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

- 查看docker是否正确安装完成

④将docker容器启动并设置为开机自启动

- 开机自启

sudo  systemctl start docker & systemctl enable docker

- 查看docker状态

⑤修改docker的cgroup驱动程序为systemd,并配置阿里云镜像源,便于images镜像获取

- 在/etc/docker/daemon.json中配置docker的镜像源地址和驱动程序为systemd

tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://zydiol88.mirror.aliyuncs.com"
    ],
    "exec-opts": [
        "native.cgroupdriver=systemd"
    ]
}
EOF

- 重启docker服务

#重新加载docker配置
systemctl daemon-reload
#重新启动docker服务
systemctl restart docker

- 查看配置是否生效

结语

本节内容到这里就结束了,下节内容开始k8s核心组件的安装及集群服务的搭建。。。。。。

  • 17
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厉害哥哥吖

您的支持是我创作下去的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值