• 3.3.k8s搭建-rancher RKE2


    目录

    RKE2介绍

    k8s集群搭建

    搭建k8s集群

    下载离线包

    部署rke2-server

    部署rke2-agent

    部署helm

    部署rancher


    RKE2介绍

    RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。

    官网地址:Introduction | RKE2

    k8s集群搭建

    搭建k8s集群

    k8s版本为v1.28.3+rke2r2,runtime为containerd,使用rke2进行部署。

    下载离线包

    官网下载地址:https://github.com/rancher/rke2/releases/tag/v1.28.3%2Brke2r2

    离线包分为x86和arm不同的架构,下载时根据现场环境进行下载。

    部署rke2-server

    将离线包下载到master节点。

    # 本例中,master主机为x86架构,ip为192.168.100.101

    # 将tar文件下载到/data

    cd /data

    tar -zxvf rke2-offline-v1.28.3.tar.gz

    [root@master1 data]# cd rke2-offline/
    [root@master1 rke2-offline]# ls
    install.sh  rke2-images.linux-amd64.tar.zst  rke2.linux-amd64.tar.gz  sha256sum-amd64.txt
    [root@master1 rke2-offline]# 

    # 执行install脚本

    INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh

    # 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)

    mkdir -p /etc/rancher/rke2

    vim /etc/rancher/rke2/config.yaml

    token: k8s-rke2-secret

    node-name: k8s-rke2-server01

    node-label:

      - "role=master"

    # 启动服务rke2-server,默认会安装在/var/lib/kubelet和/var/lib/rancher

    systemctl enable rke2-server

    systemctl start rke2-server

    # 如果现场的根目录比较小,可以改为/data/lib,方法如下

    mkdir -p /data/lib /var/lib/kubelet

    cd /data/lib/

    mv /var/lib/kubelet .

    mv /var/lib/rancher .

    cd /var/lib/

    ln -s /data/lib/rancher rancher

    ln -s /data/lib/kubelet kubelet

    # 查看日志

    journalctl -u rke2-server.service -f

    # 复制kubeconfig文件,复制常用工具

    mkdir ~/.kube

    ln -s /etc/rancher/rke2/rke2.yaml ~/.kube/config

    chmod 600 ~/.kube/config

    ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml

    ln -s /var/lib/rancher/rke2/bin/kubectl /usr/bin/kubectl

    ln -s /var/lib/rancher/rke2/bin/crictl /usr/bin/crictl

    # kubectl自动补全

    echo 'source <(kubectl completion bash)' >> ~/.bashrc

    source ~/.bashrc

    # 常用的指令

    kubectl get node

    crictl ps

    crictl images

    至此,rke2-server部署完成。

    部署rke2-agent

    将离线包下载到worker节点;

    如果有多个worker节点,每次节点均需要下载离线包。

    # 本例中,worker主机为x86架构,

    # 将tar文件下载到/data

    cd /data

    tar -zxvf rke2-offline-v1.28.3.tar.gz

    [root@work1 data]# cd rke2-offline/
    [root@work1 rke2-offline]# ls
    install.sh  rke2-images.linux-amd64.tar.zst  rke2.linux-amd64.tar.gz  sha256sum-amd64.txt

    # 执行install脚本

    INSTALL_RKE2_TYPE="agent" INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh

    # 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)

    mkdir -p /etc/rancher/rke2

    vim /etc/rancher/rke2/config.yaml

    ## server为master主机ip,端口为9345

    server: https://192.168.100.101:9345

    token: k8s-rke2-secret

    node-name: k8s-rke2-agent01

    node-label:

       - "role=agent"

    # 启动服务rke2-agent,默认会安装在/var/lib/kubelet和/var/lib/rancher.

    systemctl enable rke2-agent

    systemctl start rke2-agent

    # 如果现场的根目录比较小,可以改为/data/lib,方法如下

    mkdir -p /data/lib /var/lib/kubelet

    cd /data/lib/

    mv /var/lib/kubelet .

    mv /var/lib/rancher .

    cd /var/lib/

    ln -s /data/lib/rancher rancher

    ln -s /data/lib/kubelet kubelet

    # 查看日志

    journalctl -u rke2-agent.service -f

    # 在master节点查看

    [root@master1 data]# kubectl get nodes
    NAME                STATUS   ROLES                       AGE    VERSION
    k8s-rke2-agent01    Ready                          3h8m   v1.28.3+rke2r2
    k8s-rke2-server01   Ready    control-plane,etcd,master   4h2m   v1.27.12+rke2r1
    [root@master1 data]# 
     

    至此,rke2-agent部署完成。

    部署helm

    官网下载地址:Releases · helm/helm · GitHub

    [root@master1 data]# tar -xvf helm-v3.12.3-linux-amd64.tar.gz
    linux-amd64/
    linux-amd64/LICENSE
    linux-amd64/README.md
    linux-amd64/helm
    [root@master1 data]# mv linux-amd64/helm /usr/local/bin/
     

    部署rancher

    # 添加Helm repo

    ## Latest:建议用于试用最新功能

    helm repo add rancher-latest https://releases.rancher.com/server-charts/latest

    ## Stable:建议用于生产环境

    helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

    # 本次下载的为最新版2.8.1

    helm search repo rancher -l

    helm fetch rancher-latest/rancher --version=2.8.1

    # 为Rancher创建命名空间

    kubectl create namespace cattle-system

    # 安装cert-manager

    # 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.2/cert-manager.crds.yaml

    # 添加 Jetstack Helm 仓库
    helm repo add jetstack https://charts.jetstack.io

    # 更新本地 Helm Chart 仓库缓存
    helm repo update

    # 安装 cert-manager Helm Chart
    helm install cert-manager jetstack/cert-manager \
      --namespace cert-manager \
      --create-namespace \
      --version v1.13.2

    # 安装rancher

    # helm  install   自定义名称   chart名称   名称空间
    helm install rancher rancher \
    --namespace cattle-system \
    --set hostname=rancher.test.com \
    --set replicas=1 \
    --set bootstrapPassword=admin


    #等待 Rancher 运行,查看状态
    NAME: rancher
    LAST DEPLOYED: Thu Apr  4 13:55:25 2024
    NAMESPACE: cattle-system
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    Rancher Server has been installed.

    ## 浏览器打开

    https://rancher.test.com

    需配置本地hosts文件

    至此,rancher部署完成。

  • 相关阅读:
    【0135】【libpq】阻塞并完成一个postmaster连接(5)
    RPA在跨境电商领域在哪些应用场景?
    国庆七天乐,写博也快乐之微信小程序天气预报+根据天气自动变换背景图实战(使用和风天气API)
    shell脚本适用场景
    JavaMail连接Office 365使用XOAUTH2身份认证
    数据结构<7> 图
    Cortex-M3/M4之SVC和PendSV异常
    bazel远程缓存(Remote Cache)
    H3C LC-5120-52SC-HI配置管理IP
    阿赵UE学习笔记——18、声音播放
  • 原文地址:https://blog.csdn.net/qq_22321199/article/details/137372426