rancher2.7.5部署kubernetesv1.26版本集群

简介

硬件服务器层面,目前三台机器搭建k8s服务,一台服务器用于存储,一台服务器用于rancher服务

ip地址 用途
50.50.100.131 k8s.master01
50.50.100.132 k8s.node01
50.50.100.133 k8s.node02
50.50.100.134 k8s.nfs
50.50.100.135 k8s.rancher

软件版本层面,rancher服务版本v2.7.6,内核5.16.13,系统centos7.9,容器docker-ce v23

主机环境准备

每台服务器都执行

检查每台服务器的machine-id

# 检查现有id值
cat /etc/machine-id
 
# 重新生成id值
rm -f /etc/machine-id && systemd-machine-id-setup

开启路由转发

每台服务器都执行

# 在最后一行追加一句话 
sed -i '$a\net.ipv4.ip_forward=1' /etc/sysctl.conf

# 配置文件生效
sysctl -p

# 查看验证是否生效
sysctl -a | grep ip_forward

安全防火墙关闭

每台服务器都执行

# 查看防火墙状态
firewall-cmd --state

# 关闭防火墙
systemctl disable --now firewalld

selinux

每台服务器都执行

# 查询是否关闭。Enforcing,Permissive和Disabled。Enforcing表示SELinux正在执行强制访问控制策略,Permissive表示只有当偏离策略时才执行警告,Disabled表示SELinux已被完全禁用。
getenforce
 
# 配置永久关闭 && 临时关闭
sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

关闭swap分区

每台服务器都执行

] swapon -s
文件名                          类型            大小    已用    权限
/dev/dm-1                               partition       4063228 524     -2

] swapoff -a
] sed -i 's/.*swap.*/#&/g' /etc/fstab
] swapon -s

        这里要注意的是rancher2.7支持的容器docker版本及kubernetes的版本。这里部署的是v2.7.5的rancher服务,支持docker-ce v23 和 kubernetes v1.26

安装docker

 每台服务器都执行

下载阿里云的源安装docker-ce

# 下载依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 下载阿里容器镜像源 
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

# 安装指定docker-ce版本
 sudo yum makecache fast
 yum -y install docker-ce-23.0.1 docker-ce-cli-23.0.1

# 启动docker服务
 systemctl enable --now docker
 systemctl status docker
 systemctl is-active docker
# 返回active 就表示运行成功

# 验证是否为23版本
# docker -v
Docker version 23.0.1, build a5ee5b1

部署rancher

只需要在rancher节点运行

运行rancher容器

         大概分为两部分,一部分 创建挂载目录,二部分 创建rancher服务。

# 在data下创建rancher_data目录
mkdir rancher_data

# 查看是否创建成功 
rancher_data]# pwd
/data/rancher_data

# 安装rancher服务 (需要看一下镜像是否可以下载)
docker run -d --privileged -p 80:80 -p 443:443 -v /data/rancher_data/:/var/lib/rancher --restart=always --name rancher2.7 rancher/rancher:v2.7.5

# 查看容器运行状态
 rancher_data]# docker ps
CONTAINER ID   IMAGE                    COMMAND           CREATED          STATUS          PORTS                                                                      NAMES
77301e766143   rancher/rancher:v2.7.5   "entrypoint.sh"   40 seconds ago   Up 39 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher2.7

访问rancher节点的443端口

https://ip

rancher2.7.5部署kubernetesv1.26版本集群_第1张图片

初始化密码

点击高级-->继续访问-->这个页面设置密码,因为这里是用docker方式部署就复制上面这句话

rancher2.7.5部署kubernetesv1.26版本集群_第2张图片

在rancher的服务器命令行运行,需要先查看一个容器的id号

# 示例
docker logs  container-id  2>&1 | grep "Bootstrap Password:"

# 这里查看rancher登录的初始化密码
]# docker logs  773  2>&1 | grep "Bootstrap Password:"
2024/01/24 10:35:04 [INFO] Bootstrap Password: kngmdlwbbz5zps2qwtj458dt4htxfqn9n99xc9zfdcppcwr9kq2bsr


这里复制密码到登录框下一步即可。 

rancher2.7.5部署kubernetesv1.26版本集群_第3张图片

这里使用随机密码就好了,点击继续

这里就是登录后的页面

rancher2.7.5部署kubernetesv1.26版本集群_第4张图片

利用rancher创建kubernetes集群

创建kubernetes

这里点击首页-->创建即可

rancher2.7.5部署kubernetesv1.26版本集群_第5张图片

这里选择自定义-->使用rke2的方式部署集群

rancher2.7.5部署kubernetesv1.26版本集群_第6张图片

填写需要创建集群的信息,填写集群名称,选择集群版本及网络组建。

rancher2.7.5部署kubernetesv1.26版本集群_第7张图片

其它选项这里保持默认,如需要修改可以自行对每个选项卡进行配置。点击创建。

新创建集群节点加入

看到以下画面这里要注意一下,这里会有提示 节点角色,是否为master节点,是否为node节点。

rancher2.7.5部署kubernetesv1.26版本集群_第8张图片

这里在master节点运行,点击etcd和control plane即可。这里不选择worker,点击不安全然后复制命令到master节点命令行运行

rancher2.7.5部署kubernetesv1.26版本集群_第9张图片

在master节点运行

]# curl --insecure -fL https://50.50.100.135/system-agent-install.sh | sudo  sh -s - --server https://50.50.100.135 --label 'cattle.io/os=linux' --token l65ld54wrv9s8mcbtczj4czmgwgfvh62hp2mtnj8skvbhph5lhfblq --ca-checksum 151109b69a16581442a448aeb11f3fe3e655e5d4b7db7c9f904d5ab88098aa0b --etcd --controlplane
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30851    0 30851    0     0   149k      0 --:--:-- --:--:-- --:--:--  150k
[INFO]  Label: cattle.io/os=linux
[INFO]  Role requested: etcd
[INFO]  Role requested: controlplane
[INFO]  Using default agent configuration directory /etc/rancher/agent
[INFO]  Using default agent var directory /var/lib/rancher/agent
[INFO]  Determined CA is necessary to connect to Rancher
[INFO]  Successfully downloaded CA certificate
[INFO]  Value from https://10.50.100.135/cacerts is an x509 certificate
[INFO]  Successfully tested Rancher connection
[INFO]  Downloading rancher-system-agent binary from https://50.50.100.135/assets/rancher-system-agent-amd64
[INFO]  Successfully downloaded the rancher-system-agent binary.
[INFO]  Downloading rancher-system-agent-uninstall.sh script from https://50.50.100.135/assets/system-agent-uninstall.sh
[INFO]  Successfully downloaded the rancher-system-agent-uninstall.sh script.
[INFO]  Generating Cattle ID
[INFO]  Successfully downloaded Rancher connection information
[INFO]  systemd: Creating service file
[INFO]  Creating environment file /etc/systemd/system/rancher-system-agent.env
[INFO]  Enabling rancher-system-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rancher-system-agent.service to /etc/systemd/system/rancher-system-agent.service.
[INFO]  Starting/restarting rancher-system-agent.service

在worker节点运行,这里把etcd和control plane取消掉,复制下面的语句到worker节点运行。

rancher2.7.5部署kubernetesv1.26版本集群_第10张图片

worker节点运行

]# curl --insecure -fL https://50.50.100.135/system-agent-install.sh | sudo  sh -s - --server https://10.50.100.135 --label 'cattle.io/os=linux' --token l65ld54wrv9s8mcbtczj4czmgwgfvh62hp2mtnj8skvbhph5lhfblq --ca-checksum 151109b69a16581442a448aeb11f3fe3e655e5d4b7db7c9f904d5ab88098aa0b --worker
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30851    0 30851    0     0   150k      0 --:--:-- --:--:-- --:--:--  150k
[INFO]  Label: cattle.io/os=linux
[INFO]  Role requested: worker
[INFO]  Using default agent configuration directory /etc/rancher/agent
[INFO]  Using default agent var directory /var/lib/rancher/agent
[INFO]  Determined CA is necessary to connect to Rancher
[INFO]  Successfully downloaded CA certificate
[INFO]  Value from https://50.50.100.135/cacerts is an x509 certificate
[INFO]  Successfully tested Rancher connection
[INFO]  Downloading rancher-system-agent binary from https://10.50.100.135/assets/rancher-system-agent-amd64
[INFO]  Successfully downloaded the rancher-system-agent binary.
[INFO]  Downloading rancher-system-agent-uninstall.sh script from https://10.50.100.135/assets/system-agent-uninstall.sh
[INFO]  Successfully downloaded the rancher-system-agent-uninstall.sh script.
[INFO]  Generating Cattle ID
[INFO]  Successfully downloaded Rancher connection information
[INFO]  systemd: Creating service file
[INFO]  Creating environment file /etc/systemd/system/rancher-system-agent.env
[INFO]  Enabling rancher-system-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rancher-system-agent.service to /etc/systemd/system/rancher-system-agent.service.
[INFO]  Starting/restarting rancher-system-agent.service

这里如果输入完命令可以在页面查看进程日志

查看添加的节点

rancher2.7.5部署kubernetesv1.26版本集群_第11张图片

查看运行的日志

rancher2.7.5部署kubernetesv1.26版本集群_第12张图片

这里需要等待大概十分钟 先让master节点运行起来,再运行worker节点。

查看现在运行中的节点

rancher2.7.5部署kubernetesv1.26版本集群_第13张图片

到这里rancher部署kubernetes就完成了。

已有集群加入节点

在首页找到集群管理

rancher2.7.5部署kubernetesv1.26版本集群_第14张图片

找到需要新增节点的集群,选到test

rancher2.7.5部署kubernetesv1.26版本集群_第15张图片

选择注册,对应的选择集群的角色复制到机器即可

rancher2.7.5部署kubernetesv1.26版本集群_第16张图片

返回查看新增节点,新增节点50.50.100.134 集群状态已展示。

rancher2.7.5部署kubernetesv1.26版本集群_第17张图片

验证集群可用性

进入页面命令行进行验证

右上角有一个kubectl shell的按钮,点击后可以进入命令行

rancher2.7.5部署kubernetesv1.26版本集群_第18张图片

点击后可以在命令框里输入命令查看

rancher2.7.5部署kubernetesv1.26版本集群_第19张图片

在命令行对集群进行管理

下载配置文件到服务器上

rancher2.7.5部署kubernetesv1.26版本集群_第20张图片

创建目录上传文件

 ~]# mkdir /root/.kube/
 ~]# cd /root/.kube/
 .kube]# ls
 .kube]# vim config
 .kube]# cat config
apiVersion: v1
kind: Config
clusters:
- name: "test"
##省略

安装Kubectl命令行(这里安装多少版本没有关系的)

]# cat /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key

.kube]# yum -y install kubectl

使用命令行运行命令

.kube]# kubectl get nodes
NAME                            STATUS   ROLES                       AGE   VERSION
k8s-xxxx50100131-security-cm5   Ready    control-plane,etcd,master   14h   v1.26.11+rke2r1
k8s-xxx050100132-security-cm5   Ready    worker                      14h   v1.26.11+rke2r1
k8s-xxx050100133-security-cm5   Ready    worker                      14h   v1.26.11+rke2r1
k8s-xxx050100134-security-cm5   Ready    worker                      13h   v1.26.11+rke2r1

查看容器运行时

这里rancher安装完默认是使用containerd容器运行时。

 .kube]# kubectl get nodes -o jsonpath='{.items[*].status.nodeInfo.containerRuntimeVersion}'
containerd://1.7.7-k3s1 containerd://1.7.7-k3s1 containerd://1.7.7-k3s1 containerd://1.7.7-k3s1[

这里查看配置文件,这里修改containerd为dockerd

rancher2.7.5部署kubernetesv1.26版本集群_第21张图片

你可能感兴趣的:(kubernetes,rancher,容器,云原生,linux)