• k3s 搭建高可用rancher


    注意:ubuntu 20.0.4环境安装

    第一步 安装k3s server节点

    curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn \
    K3S_KUBECONFIG_OUTPUT=/root/.kube/config INSTALL_K3S_VERSION=v1.20.15+k3s1 sh -s - server --datastore-endpoint="mysql://root:root@tcp(192.168.0.145:3306)/k3s"
    
    • 命令解析
      K3S_KUBECONFIG_OUTPUT=/root/.kube/config (不指定helm没法使用)

    第二步 安装helm

    helm官网

    第三步 确认k3s是否安装成功

    systemctl start k3s.service  //启动k3s服务
    systemctl status k3s.service  //查看k3s服务状态
    

    执行命令后出现如下图说明k3s安装成功,已经启动
    在这里插入图片描述

    第四步 查看节点服务和helm是否正常

     kubectl get node // 查看节点服务
     kubectl delete node 节点name名称   // 删除节点
     kubectl get nodes -o wide   // 查看节点ip
    

    如图 kubectl 命令行工具可以使用kubectl官网
    说明:kubectl不需要我们另安装,在安装k3s时默认就安装好了
    在这里插入图片描述
    如何helm 可以使用
    在这里插入图片描述

    通过以上四个步骤,k3s服务节点安装成功了,下面我们在k3s上安装rancher

    第五步 k3s上安装rancher

    官网链接
    Helm Chart 安装 Rancher
    5.1 添加 Helm Chart 仓库

    helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
    

    5.2 为 Rancher 创建 Namespace

    kubectl create namespace cattle-system
    

    5.3 选择你的 SSL 选项
    Rancher Server 默认需要 SSL/TLS 配置来保证访问的安全性。
    这里我选择自己生成的已有证书
    在这里插入图片描述
    5.4 证书生成

    注意: 可以使用 一键生成 ssl 自签名证书脚本 来快速生成符合 rancher 要求的自签名证书。

    生成示例:

    --ssl-domain: 生成ssl证书需要的主域名,如不指定则默认为www.rancher.local,如果是ip访问服务,则可忽略;
    --ssl-trusted-ip: 一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;
    --ssl-trusted-domain: 如果想多个域名访问,则添加扩展域名(TRUSTED_DOMAIN),多个TRUSTED_DOMAIN用逗号隔开;
    --ssl-size: ssl加密位数,默认2048--ssl-cn: 国家代码(2个字母的代号),默认CN;
    
    ./create_self-signed-cert.sh --ssl-domain=rancher.test.com --ssl-trusted-ip=192.168.0.118 --ssl-size=2048 --ssl-date=3650
    

    如图生成证书相关文件:
    在这里插入图片描述

    5.5 检查证书

    openssl verify -CAfile cacerts.pem tls.crt 应该返回状态为 ok
    

    在这里插入图片描述

    5.6 检查域名和扩展ip是否正确

    openssl x509 -in tls.crt -noout -text
    

    在这里插入图片描述

    5.7 正式安装rancher 服务

    注意:

    • –set hostname = 生成证书时的域名
    • 将replicas设置为 Rancher 部署所使用的复制数量。默认为 3;如果你的集群中少于 3 个节点,你应填写实际节点数量。
    • 设置ingress.tls.source为secret。
    • 要安装一个特定的 Rancher 版本,使用–version 标志,例如:–version 2.3.6
    • 如果你使用的是私有 CA 证书,请在命令中增加 --set privateCA=true。

    这里我们选择安装rancher 2.5.15版本,执行下列命令安装rancher

     helm install rancher rancher-stable/rancher \
     --namespace cattle-system \
     --set hostname=rancher.test.com \
     --set replicas=2 \
     --version 2.5.15 \
     --set ingress.tls.source=secret \
     --set privateCA=true
    

    5.8 验证 Rancher Server 是否已成功部署
    执行下列命令后,需要耐心等待

    kubectl -n cattle-system rollout status deploy/rancher
    

    在这里插入图片描述

    5.9 检查 deployment 的状态

    kubectl -n cattle-system get deploy rancher
    

    在这里插入图片描述
    DESIRED和AVAILABLE应该显示相同的个数

    到这一步,我们的rancher服务部署成功了

    6.0 发布证书
    参考添加 TLS Secret 发布证书文件,以便 Rancher 和 ingress 控制器可以使用它们。

    kubectl -n cattle-system create secret tls tls-rancher-ingress \
      --cert=tls.crt \
      --key=tls.key
    
    kubectl -n cattle-system create secret generic tls-ca \
      --from-file=cacerts.pem=./cacerts.pem
    

    6.1查看rancher日志是否有错误

    kubectl logs -f -l app=rancher -n cattle-system
    

    如图没有任务错误
    在这里插入图片描述

    6.2 配置k3s所在的主机hosts

    vi /etc/hosts
    

    在这里插入图片描述

    6.3 开始访问rancher server
    因为我们是在局域网的服务器上部署的rancher server,如果我们在其他电脑上的浏览器上访问rancher 服务的话,需要在对应的电脑hosts文件配置我们的rancher 域名及ip
    如下图:
    在这里插入图片描述
    在这里插入图片描述

    6.4 在已经配置好的hosts文件电脑浏览器上访问rancher
    浏览器输入:https://rancher.test.com
    在这里插入图片描述

    大功告成

  • 相关阅读:
    Pytorch LSTM 长短期记忆网络
    JAVA----钉钉机器人-订单提醒功能
    保姆级高通AEC9调试指南(看完可解决80%AE相关问题)
    【MindSpore易点通】网络构建经验总结中篇
    Flask 学习-42.Flask-RESTX 快速入门
    暖阳脚本_ 定制企业软件开发的4个趋势:AI、RPA、云应用、边缘计算
    openresty关于时区的处理
    Vue 计算属性
    tiup mirror
    vue项目打包
  • 原文地址:https://blog.csdn.net/qq_41555278/article/details/127090526