当前位置: 代码网 > 服务器>服务器>Linux > 使用Rancher快速部署K8S集群

使用Rancher快速部署K8S集群

2024年07月28日 • Linux •我要评论
Rancher 是为使用容器的公司打造的容器管理平台。Rancher 简化了使用 Kubernetes 的流程,开发者可以随处运行 Kubernetes(Run Kubernetes Everywhere),满足 IT 需求规范,赋能 DevOps 团队。

使用rancher快速部署k8s集群

rancher 是为使用容器的公司打造的容器管理平台。rancher 简化了使用 kubernetes 的流程,开发者可以随处运行 kubernetes(run kubernetes everywhere),满足 it 需求规范,赋能 devops 团队。

1. 安装要求

在开始之前,部署kubernetes集群机器需要满足以下几个条件:

  • 一台或多台机器,操作系统 centos7.x-86_x64
  • 硬件配置:2gb或更多ram,2个cpu或更多cpu,硬盘30gb或更多
  • 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点
  • 禁止swap分区

2. 准备环境

角色ip用途
k8s-rancher-master192.168.10.102master节点
k8s-rancher-node01192.168.10.103node节点
k8s-rancher-node02192.168.10.104node节点
k8s-rancher-server192.168.10.105rancher-server节点

以下操作在全部节点进行:

# 关闭防火墙
systemctl stop firewalld
# 禁用防火墙
systemctl disable firewalld

# 关闭selinux
setenforce 0  # 临时
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久

# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久  关闭后需要重启服务器

# 根据规划设置主机名
hostnamectl set-hostname <hostname>

# 在master添加hosts
cat >> /etc/hosts << eof
192.168.10.102 k8s-rancher-master
192.168.10.103 k8s-rancher-node01
192.168.10.104 k8s-rancher-node02
192.168.10.105 k8s-rancher-server
eof

# 将桥接的ipv4流量传递到iptables的链
vim /etc/sysctl.conf

cat > /etc/sysctl.conf << efo
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
efo
sysctl --system # 生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com

3. 安装rancher

使用docker安装rancher,用户部署和管理k8s集群

  1. 安装docker
    安装dorker
    docker一键部署脚本
  2. 启动rancher
    2.7.9版本
mkdir -p /data/rancher2.7.9
docker run -d --privileged -p 80:80 -p 443:443 -v /data/rancher2.7.9:/var/lib/rancher --restart=always --name rancher2.7.9 rancher/rancher:v2.7.9

2.4.18版本

docker run -d --privileged -p 80:80 -p 443:443 -v /data/rancher2.4.18:/var/lib/rancher --restart=always --name rancher2.4.18 rancher/rancher:v2.4.18
[root@rancher-server rancher2.4.18]# docker ps
container id   image                     command           created         status         ports                                                                      names
09eb32c97739   rancher/rancher:v2.4.18   "entrypoint.sh"   7 seconds ago   up 5 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher2.4.18
  1. 访问https://192.168.10.105
    因为是使用https的方式登录,所以会报以下错误。点继续前往就可以了。
    image5-1.png
  2. 设置admin的用户密码,最低12位
    image5-2.png
  3. 设置访问url
    image5-3.png

inage5-4.png

4. 部署集群

  1. 创建集群

image5-5.png

  1. 选择自定义

image5-6.png

  1. 输入集群名称和描述选择版本号和网络等信息

image5-7.png

  1. 点击下一步

image5-8.png

  1. 在注册页面选择对应的组件

image5-9.png

  1. 复制命令到对应服务器执行
[root@rancher-master ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.18 --server https://192.168.10.105 --token p446s9cmj89p77tgpwps9nkh29fb2kkq28tg64h98z7r8tssvvnz8n --ca-checksum 68d62d86b9f1f7ee1c765e59268b37cee5ef74bba4fc1c762439e592024c7c17 --etcd --controlplane --worker
unable to find image 'rancher/rancher-agent:v2.4.18' locally
v2.4.18: pulling from rancher/rancher-agent
11323ed2c653: pull complete 
cf7d0bf94c33: pull complete 
e084de361a68: pull complete 
5fa86bb06203: pull complete 
7c6887aa1de3: pull complete 
4b7dbf907b22: pull complete 
c1653c53efc4: pull complete 
digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
status: downloaded newer image for rancher/rancher-agent:v2.4.18
bb43bfe8599f2c1d4009ff4301930804134022e16a8f4de88cfa9d601f250621
[root@rancher-node01 ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.18 --server https://192.168.10.105 --token p446s9cmj89p77tgpwps9nkh29fb2kkq28tg64h98z7r8tssvvnz8n --ca-checksum 68d62d86b9f1f7ee1c765e59268b37cee5ef74bba4fc1c762439e592024c7c17 --worker
unable to find image 'rancher/rancher-agent:v2.4.18' locally
v2.4.18: pulling from rancher/rancher-agent
11323ed2c653: pull complete 
cf7d0bf94c33: pull complete 
e084de361a68: pull complete 
5fa86bb06203: pull complete 
7c6887aa1de3: pull complete 
4b7dbf907b22: pull complete 
c1653c53efc4: pull complete 
digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
status: downloaded newer image for rancher/rancher-agent:v2.4.18
875c3c944d25869bbbcd9428d953c96c1f01fa4c22d64001a6783722ee0130ec
[root@rancher-node02 ~]# sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.18 --server https://192.168.10.105 --token p446s9cmj89p77tgpwps9nkh29fb2kkq28tg64h98z7r8tssvvnz8n --ca-checksum 68d62d86b9f1f7ee1c765e59268b37cee5ef74bba4fc1c762439e592024c7c17 --worker
unable to find image 'rancher/rancher-agent:v2.4.18' locally
v2.4.18: pulling from rancher/rancher-agent
11323ed2c653: pull complete 
cf7d0bf94c33: pull complete 
e084de361a68: pull complete 
5fa86bb06203: pull complete 
7c6887aa1de3: pull complete 
4b7dbf907b22: pull complete 
c1653c53efc4: pull complete 
digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
status: downloaded newer image for rancher/rancher-agent:v2.4.18
9850b5690d969c40bcc7fa7d776141fe7a33a5a1a6ff893e10a578f7567450bf
  1. 等待刷新主机页面查看注册情况

image5-10.png

image5-11.png

  1. 多master节点可以选择etcd controlplane组件在多台机器执行即可

5. 在k8s节点管理集群

  1. 配置阿里云yum软件源
[root@k8s-master ~]# cat > /etc/yum.repos.d/kubernetes.repo << eof
[kubernetes]
name=kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
eof
  1. 安装kubectl

查看yum仓库中,软件包有哪些版本
使用–showduplicates参数,查看kubelet有哪些版本

yum --showduplicates list kubelet

[root@k8s-master ~]# yum --showduplicates list kubelet
已加载插件:fastestmirror
loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirror.01link.hk
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.aliyun.com
kubernetes                                                                                                                  | 1.4 kb  00:00:00     
kubernetes/primary                                                                                                          | 137 kb  00:00:00     
kubernetes                                                                                                                               1022/1022
可安装的软件包
......
kubelet.x86_64                                                         1.27.4-0                                                          kubernetes
kubelet.x86_64                                                         1.27.5-0                                                          kubernetes
kubelet.x86_64                                                         1.27.6-0                                                          kubernetes
kubelet.x86_64                                                         1.28.0-0                                                          kubernetes
kubelet.x86_64                                                         1.28.1-0                                                          kubernetes
kubelet.x86_64                                                         1.28.2-0                                                          kubernetes

安装于k8s版本一直或相近的kubectl

yum install -y kubectl-1.28.2-0
  1. 先建kube目录
mkdir /root/.kube
  1. 获取配置文件

image5-12.png

image5-13.png

  1. 创建/root/.kube.config文件
vi /root/.kube/config
# 将rancher上下载的配置文件复制到config
  1. 测试
[root@k8s-rancher-master ~]# kubectl get nodes
name                 status   roles                              age    version
k8s-rancher-master   ready    control-plane,etcd,master,worker   124m   v1.26.10+rke2r2
k8s-rancher-node01   ready    worker                             77m    v1.26.10+rke2r2
k8s-rancher-node02   ready    worker                             77m    v1.26.10+rke2r2

6. 使用rancher cli管理集群

rancher cli(命令行界面)是一个命令行工具,可用于与 rancher 进行交互。

  1. 下载 rancher cli#
    rancher 提供了 windows、mac 和 linux 的 rancher cli 二进制文件下载链接,该链接位于 rancher ui 的右下角,单击链接可以下载 rancher cli 二进制文件。除此之外,您还可以访问 rancher 的 github 页面,导航到cli 发行页面,下载该二进制文件。

要求:
下载 rancher cli 后,需要配置一些参数:

您的rancher server url,用于连接到 rancher server。
api bearer token,用于与 rancher 进行身份验证。有关获取 bearer token 的更多信息,请参见创建 api 密钥。
2. cli 认证
在使用 rancher cli 控制 rancher server 之前,必须使用 api、bearer token 进行身份验证。使用以下命令登录(用您的信息替换 <bearer_token> 和 <server_url> ):

$ ./rancher login https://<server_url> --token <bearer_token>
./rancher login https://192.168.10.105/v3 --token token-m5rkv:x7gtlkczcwzmnp6m44xfzcwdgz9bfpxttvhfbb5f5mfccnv5hc6wq9
如果您的 rancher server 使用的是自签名证书,则 rancher cli 会询问您是否继续连接。
  1. 指令列表
    以下指令可在 rancher cli 中使用。
指令作用
apps, [app]对应用商店 app 执行操作 (例如,单个helm charts 或 rancher charts)。
catalog对应用商店执行操作。
clusters, [cluster]对您的集群执行操作。
context在 rancher 的项目间切换。请看示例选择项目。
inspect [options] [resourceid resourcename]显示有关kubernetes 资源或 rancher 资源(例如:项目和工作负载)的详细信息,通过名称或 id 指定资源。
kubectl执行kubectl 指令。
login, [l]登录进一个 rancher server。例如:cli 认证。
namespaces, [namespace]对命名空间执行操作。
nodes, [node]对节点执行操作。
projects, [project]对项目执行操作。
ps显示项目中的工作负载。
settings, [setting]显示当前 rancher server 的设置。
ssh使用 ssh 协议连接到集群里的节点。
help, [h]显示命令列表或某个命令的帮助信息。

rancher cli 帮助命令
使用 cli 登录到 rancher server 后,输入 ./rancher --help 可以查看可用的命令列表。

所有命令都接受 --help 参数,可以通过该参数查看每个命令行的用法。

赞 (0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com