• 2.K3S+Rancher之在线安装


    一、安装K3S(这里第一个节点即是 Server节点 也是 Agent节点)

    curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb" 
    
    • 1

    参数解释:
    –docker:使用docker,默认是containerd。
    –datastore-endpoint 指定外部数据库(格式: mysql://数据库账号:数据库密码@tcp(数据库连接地址:数据库端口)/数据库名称)

    二、在K3S集群Server节点服务器查看token令牌凭证

    如上一步的机器就是Server节点,上面服务器中执行如下:

    cat /var/lib/rancher/k3s/server/node-token
    
    • 1

    三、向K3S集群中添加新的节点

    1.添加Server节点(如不需要添加Server节点可忽略)

    这里添加Server节点跟第一个节点安装一样, 需要多加了一个 --token=token令牌凭证 , 这里是上面一步查到的token令牌凭证

    curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server  --token=mytoken --datastore-endpoint="mysql://demo:demo123@tcp(mysql.demo.com:3306)/demodb" 
    
    • 1

    2.添加Agent节点(如不需要添加Agent节点可忽略)

    这里添加Agent节点需要指定Server节点地址 跟 token令牌凭证

    curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh  | INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.4.160:6443 K3S_TOKEN=mytoken  sh -
    
    • 1

    K3S_URL=https://192.168.4.160:6443 表示 K3S集群 server节点的地址, 可以是任意一个主节点地址,如果配置了主节点的负载均衡地址的话,这可以填那个统一的域名地址
    K3S_TOKEN=mytoken 表示token令牌凭证,在每个Server节点中都有一份,查看获取(这里是上面一步查到的token令牌凭证)

    四、将 kubeconfig 文件拷贝至默认的目录下

    K3s 默认的配置文件路径,Helm无法识别,将 /etc/rancher/k3s/k3s.yaml 软连接到 ~/.kube/config,供 helm 使用

    mkdir ~/.kube && ln -s /etc/rancher/k3s/k3s.yaml ~/.kube/config
    
    • 1

    五、安装Rancher

    1.安装helm

    wget https://pkg.goodrain.com/pkg/helm && chmod +x helm && mv helm /usr/local/bin/
    
    • 1

    2.添加rancher镜像源

    # 添加rancher镜像源
    helm repo add rancher-stable http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/stable
    
    # 更新源
    helm repo update
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.创建命名空间

    需要定义一个 Kubernetes Namespace,在 Namespace 中安装由 Chart
    创建的资源。这个命名空间的名称为cattle-system:

    kubectl create namespace cattle-system
    
    • 1

    4.安装 CustomResourceDefinition 资源

    如果你手动安装了CRD,而不是在Helm安装命令中添加了--set installCRDs=true选项,你应该在升级Helm chart之前升级CRD资源

    kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml
    
    • 1

    5.添加Jetstack Helm仓库

    helm repo add jetstack https://charts.jetstack.io
    
    • 1

    6. 更新本地仓库缓存

    helm repo update
    
    • 1

    7.安装 cert-manager

    helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.5.1
    
    • 1

    查看 cert-manager

    kubectl get pods --namespace cert-manager
    
    • 1

    在这里插入图片描述

    8.安装Rancher

    这里使用Let’s Encrypt证书证书方式直接安装
    安装时可设置的选项,可查看官方文档: https://docs.rancher.cn/docs/rancher2.5/installation/install-rancher-on-k8s/chart-options/_index/
    如下为对应的命令空间 cattle-system 在上面创建的
    如下 registry.cn-hangzhou.aliyuncs.com/rancher/rancher 为对应的rancher镜像
    如下 replicas 为设置 Rancher 部署所使用的复制数量(副本数) 默认为 3
    如下 ingress.tls.source 设置为 letsEncrypt (表示使用Let’s Encrypt证书)
    如果要安装一个特定的 Rancher 版本, 使用–version 标志,例如:–version 2.3.6
    对应 etsEncrypt.email 为证书到期通知的邮箱地址
    如果你安装的是 alpha 版本,Helm 要求在命令中加入 –devel 选项

    helm install rancher rancher-stable/rancher  --namespace cattle-system --set hostname=demo.rancher.com --set replicas=3  --set ingress.tls.source=letsEncrypt  --set rancherImage=registry.cn-hangzhou.aliyuncs.com/rancher/rancher --set letsEncrypt.email=me@example.org
    
    • 1

    如果需要指定安装版本,则可以添加 --version v2.5.12 示例如下:

    helm install rancher rancher-stable/rancher \
      --version v2.5.12 \
      --namespace cattle-system \
      --set hostname=demo.rancher.com\
      --set ingress.tls.source=letsEncrypt \
      --set rancherImage=registry.cn-hangzhou.aliyuncs.com/rancher/rancher \
      --set letsEncrypt.email=me@example.org
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    六、验证 rancher

    kubectl -n cattle-system get deploy rancher
    
    • 1

    七、查看rancher登录密码

    kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{"\n"}}'
    
    • 1

    八、最后就可以登录rancher了

  • 相关阅读:
    AndroidStudio使用高德地图API获取手机定位
    Spring源码中的简单工厂模式
    2022 Nomachine 最简安装与使用指南
    Anaconda的安装
    华为堆叠技术讲解
    Android系统之编译Intel5.1问题解决
    【我的OpenGL学习进阶之旅】着色器GLSL运行时报错 GLSL compile error: Premature end of line
    phpexcel设置背景色
    Docker | 发布镜像到镜像仓库
    金球奖提名!5家自主品牌「争夺」年度高阶智能辅助驾驶系统
  • 原文地址:https://blog.csdn.net/zhoumengshun/article/details/126715288