基于Kubernetes简易集群的部署搭建

一、环境准备

设计思路
在这里插入图片描述

配置网络和ip

control: 192.168.110.10/24

node1: 192.168.110.11/24

node2: 192.168.110.22/24

​ GW: 192.168.110.2

​ DNS1: 114.114.114.114

​ DNS2: 223.5.5.5

从下面开始,所有的操作需要在三个节点上一起执行。

配置hosts文件

// 文件中新增以下三行

192.168.110.10  control
192.168.110.11  node1
192.168.110.22  node2

允许系统转发 ipv4 数据包

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/k8s.conf
# 读取文件内核配置
sysctl -f /etc/sysctl.d/k8s.conf
# 查看
sysctl net.ipv4.ip_forward

设置容器运行时

# 清理一下环境
dnf remove -y podman container* runc*
# 安装仓库配置命令行工具
dnf -y install dnf-utils
# 设置docker仓库,用来安装docker和containerd服务
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装docker
dnf -y install docker-ce docker-ce-cli containerd.io
# 确保containerd服务开机自启
systemctl enable --now containerd.service
# 生成包含所有containerd默认设置的配置文件
containerd config default > /etc/containerd/config.toml 
# 重启服务
systemctl restart containerd.service

编辑 /etc/containerd/config.toml

在这里插入图片描述

# 重启服务
systemctl restart containerd.service

禁用swap交换分区

 swapoff -a

禁止交换分区在重启后挂载激活 vim /etc/fstab

在这里插入图片描述

禁用SELINUX

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
grep ^SELINUX= /etc/selinux/config

禁用防火墙

systemctl disable --now firewalld.service
nft flush ruleset

二、K8s安装和集群初始化

(1)安装k8s 安装工具的软件包

编辑所需的yum仓库 vim /etc/yum.repos.d/kubernetes.repo

[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.31/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni

安装Kubernetes及组件

dnf -y install kubectl kubelet kubeadm --disableexcludes=kubernetes
systemctl enable kubelet.service

(2) 集群初始化

获取初始化的默认配置

kubeadm config print init-defaults >> init.yml

更改镜像的地址

在这里插入图片描述

为加快集群初始化进程,提前下载集群运行的镜像

kubeadm config images pull   --config init.yml

在集群初始化时,还是使用较早版本的pause:3.8 ,手动下载并修改镜像仓库标记即可。

拉取pause:3.8镜像 下面这条命令的作用等同于docker pull

crictl -r unix:///var/run/containerd/containerd.sock pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8

查看容器命名空间

ctr namespace list

改名,这条命令的作用等于docker tag

ctr --namespace k8s.io image tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8 registry.k8s.io/pause:3.8  registry.k8s.io/pause:3.8

查看所有containerd 可以使用的镜像

crictl -r unix:///var/run/containerd/containerd.sock images
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns         # k8S 集群内部的域名解析
registry.cn-hangzhou.aliyuncs.com/google_containers/etcd            # 存储K8S集群的状态数据
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver  # K8S的调用接口
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager # K8S 的控制器
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy   #工作节点代理
registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler  # pod的调度
registry.cn-hangzhou.aliyuncs.com/google_con
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值