0


使用Rancher快速部署K8S集群

使用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节点
以下操作在全部节点进行:

  1. # 关闭防火墙
  2. systemctl stop firewalld
  3. # 禁用防火墙
  4. systemctl disable firewalld
  5. # 关闭selinux
  6. setenforce 0# 临时sed-i's/enforcing/disabled/' /etc/selinux/config # 永久# 关闭swap
  7. swapoff -a# 临时sed-ri's/.*swap.*/#&/' /etc/fstab # 永久 关闭后需要重启服务器# 根据规划设置主机名
  8. hostnamectl set-hostname <hostname># 在master添加hostscat>> /etc/hosts <<EOF
  9. 192.168.10.102 k8s-rancher-master
  10. 192.168.10.103 k8s-rancher-node01
  11. 192.168.10.104 k8s-rancher-node02
  12. 192.168.10.105 k8s-rancher-server
  13. EOF# 将桥接的IPv4流量传递到iptables的链vim /etc/sysctl.conf
  14. cat> /etc/sysctl.conf <<EFO
  15. net.ipv4.ip_forward = 1
  16. net.bridge.bridge-nf-call-ip6tables = 1
  17. net.bridge.bridge-nf-call-iptables = 1
  18. EFOsysctl--system# 生效# 时间同步
  19. yum install ntpdate -y
  20. ntpdate time.windows.com

3. 安装rancher

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

🔴低版本rencher部署依赖于docker需要所有节点均执行docker安装操作

  1. 安装docker 安装Dorker Docker一键部署脚本
  2. 启动rancher 2.7.9版本
  1. mkdir -p /data/rancher2.7.9
  2. 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版本

  1. 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
  1. [root@rancher-server rancher2.4.18]# docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. 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. 设置访问URLimage5-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. 复制命令到对应服务器执行
  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
  2. Unable to find image 'rancher/rancher-agent:v2.4.18' locally
  3. v2.4.18: Pulling from rancher/rancher-agent
  4. 11323ed2c653: Pull complete
  5. cf7d0bf94c33: Pull complete
  6. e084de361a68: Pull complete
  7. 5fa86bb06203: Pull complete
  8. 7c6887aa1de3: Pull complete
  9. 4b7dbf907b22: Pull complete
  10. c1653c53efc4: Pull complete
  11. Digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
  12. Status: Downloaded newer image for rancher/rancher-agent:v2.4.18
  13. bb43bfe8599f2c1d4009ff4301930804134022e16a8f4de88cfa9d601f250621
  1. [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
  2. Unable to find image 'rancher/rancher-agent:v2.4.18' locally
  3. v2.4.18: Pulling from rancher/rancher-agent
  4. 11323ed2c653: Pull complete
  5. cf7d0bf94c33: Pull complete
  6. e084de361a68: Pull complete
  7. 5fa86bb06203: Pull complete
  8. 7c6887aa1de3: Pull complete
  9. 4b7dbf907b22: Pull complete
  10. c1653c53efc4: Pull complete
  11. Digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
  12. Status: Downloaded newer image for rancher/rancher-agent:v2.4.18
  13. 875c3c944d25869bbbcd9428d953c96c1f01fa4c22d64001a6783722ee0130ec
  1. [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
  2. Unable to find image 'rancher/rancher-agent:v2.4.18' locally
  3. v2.4.18: Pulling from rancher/rancher-agent
  4. 11323ed2c653: Pull complete
  5. cf7d0bf94c33: Pull complete
  6. e084de361a68: Pull complete
  7. 5fa86bb06203: Pull complete
  8. 7c6887aa1de3: Pull complete
  9. 4b7dbf907b22: Pull complete
  10. c1653c53efc4: Pull complete
  11. Digest: sha256:ae858d26041fd612e83246da3d77d465b8e05f027f88aa51c5db96f45f45854b
  12. Status: Downloaded newer image for rancher/rancher-agent:v2.4.18
  13. 9850b5690d969c40bcc7fa7d776141fe7a33a5a1a6ff893e10a578f7567450bf
  1. 等待刷新主机页面查看注册情况

image5-10.png

image5-11.png

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

节点注册启动顺序
单master:
master>node
多master:
master1>master2>master3>node1>node2

5. 在K8S节点管理集群

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

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

  1. yum --showduplicates list kubelet
  2. [root@k8s-master ~]# yum --showduplicates list kubelet
  3. 已加载插件:fastestmirror
  4. Loading mirror speeds from cached hostfile
  5. * base: mirrors.aliyun.com
  6. * epel: mirror.01link.hk
  7. * extras: ftp.sjtu.edu.cn
  8. * updates: mirrors.aliyun.com
  9. kubernetes | 1.4 kB 00:00:00
  10. kubernetes/primary | 137 kB 00:00:00
  11. kubernetes 1022/1022
  12. 可安装的软件包
  13. ......
  14. kubelet.x86_64 1.27.4-0 kubernetes
  15. kubelet.x86_64 1.27.5-0 kubernetes
  16. kubelet.x86_64 1.27.6-0 kubernetes
  17. kubelet.x86_64 1.28.0-0 kubernetes
  18. kubelet.x86_64 1.28.1-0 kubernetes
  19. kubelet.x86_64 1.28.2-0 kubernetes

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

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

image5-12.png

image5-13.png

  1. 创建/root/.kube.config文件
  1. vi /root/.kube/config
  2. # 将rancher上下载的配置文件复制到config
  1. 测试
  1. [root@k8s-rancher-master ~]# kubectl get nodes
  2. NAME STATUS ROLES AGE VERSION
  3. k8s-rancher-master Ready control-plane,etcd,master,worker 124m v1.26.10+rke2r2
  4. k8s-rancher-node01 Ready worker 77m v1.26.10+rke2r2
  5. 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 发行页面,下载该二进制文件。

🟢提示: 国内用户,可以导航到 https://mirror.rancher.cn 下载所需资源

要求:
下载 Rancher CLI 后,需要配置一些参数:

您的Rancher Server URL,用于连接到 Rancher Server。
API Bearer Token,用于与 Rancher 进行身份验证。有关获取 Bearer Token 的更多信息,请参见创建 API 密钥。
2. CLI 认证
在使用 Rancher CLI 控制 Rancher Server 之前,必须使用

  1. API

  1. Bearer Token

进行身份验证。使用以下命令登录(用您的信息替换 <BEARER_TOKEN> 和 <SERVER_URL> ):

  1. $ ./rancher login https://<SERVER_URL> --token <BEARER_TOKEN>
  2. ./rancher login https://192.168.10.105/v3 --token token-m5rkv:x7gtlkczcwzmnp6m44xfzcwdgz9bfpxttvhfbb5f5mfccnv5hc6wq9
  3. 如果您的 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 参数,可以通过该参数查看每个命令行的用法。


本文转载自: https://blog.csdn.net/XiaoWang0777/article/details/139806264
版权归原作者 XiaoWang0777 所有, 如有侵权,请联系我们删除。

“使用Rancher快速部署K8S集群”的评论:

还没有评论