更新时间:2024-07-04 GMT+08:00
分享

跨云跨IDC

当需要纳管的资源不在当前region下时,可通过VPN、专线等方式打通网络之后,以跨云跨IDC的方式完成应用纳管。例如,从华南广州region通过VPN网络纳管新加坡国际站的资源;从上海1通过专线纳管线下私有云接入进来的资源;从北京4通过公网IP纳管其他云厂商平台上的虚拟机资源。

操作步骤

  1. 登录MAS控制台。
  2. 单击“混沌工程>应用管理”,进入“应用管理”页面。
  3. 单击右上角的“创建应用”。
  4. 填写“应用名称”。
  5. 选择“跨云IDC”页签,进行配置。

当资源类型选择为主机

  1. 选择资源类型为主机,单击“添加”。
  2. 输入“主机名”、“IP”,单击“下一步”。

    请正确录入远程主机的主机名(可通过hostname命令查询)和私有IP。录入非私有IP会导致UniAgent安装之后状态查询失败。

  3. 确认配置无误后,单击“提交”,完成应用创建。

当资源类型选择为自建K8S

  1. 选择资源类型为自建K8S。
  2. 纳管集群控制节点。

    1. 选择一台ecs作为集群控制节点,该ecs需要能够通过ip地址访问集群,以下以ecs-cast-vpn这台机器为例。将集群的连接信息按K8S标准格式填入 /root/.kube/config 文件,没有需要自行创建(参考文档 使用 kubeconfig 文件组织集群访问 | Kubernetes),以下为示例:
      {
          "kind": "Config",
          "apiVersion": "v1",
          "preferences": {
              
          },
          "clusters": [{
              "name": "internalCluster",
              "cluster": {
                  "server": "https://192.168.0.1:5443",
                  "certificate-authority-data": "LS0tL~Cg=="
              }
          }],
          "users": [{
              "name": "user",
              "user": {
                  "client-certificate-data": "LS0t~S0K",
                  "client-key-data": "LS0tL~Qo="
              }
          }],
          "contexts": [{
              "name": "internal",
              "context": {
                  "cluster": "internalCluster",
                  "user": "user"
              }
          }],
          "current-context": "internal"
      }
    2. 然后,下载kubectl命令行工具,并安装(参考文档 在 Linux 系统中安装并设置 kubectl | Kubernetes)。完成后可以尝试执行 kubectl get node命令,如果成功显示node列表,说明配置成功。
    3. 完成后。在界面上,单击“应用管理”,选择对应的“应用”(这里以跨云App示例),单击“添加资源”。选择“弹性云服务器ECS”,将这台ecs纳管。

  3. 控制节点安装UniAgent。

    1. 在探针管理界面,按照页面提示为这台ecs安装UniAgent。

  4. 纳管自建K8S集群。

    1. 单击“应用管理”,选择对应的“应用”(这里以跨云App示例),单击“添加资源”。选择“自建K8S”。
    2. 再单击“添加自建K8S”,选择刚才配置的集群信息,单击纳管完成。

  5. 集群安装故障探针

    1. 手动安装探针
      • 如果显示ErrImagePull,说明当前集群的机器无法拉取默认镜像,此时需要手动将镜像下载后上传到能够拉取的镜像仓。下文以北京四纳管自建K8S为例:

        来到应用管理界面,按图示找到镜像地址,根据集群为x86或是arm机器,单击按钮复制拉取镜像命令。

      • 此处以x86机器为例,执行

        docker pull swr.domainname/cast-probe/castprobe-operator-x86_64:1.7.2 && docker pull swr.domainname/cast-probe/castprobe-K8S-network-x86_64:1.7.2

        如果你的机器为containerd,执行

        crictl pull swr.domainname/cast-probe/castprobe-operator-x86_64:1.7.2 && crictl pull swr.domainname/cast-probe/castprobe-K8S-network-x86_64:1.7.2

        拉取成功后,分别将两个镜像上传到私有镜像仓库。

        重新安装前,执行卸载命令,将原有安装卸载(安装前请务必先执行卸载命令,安装命令不会覆盖原有安装):

        卸载:

         /opt/K8S/RASAgent/client/cast_probe K8S uninstall --kubeconfig=/root/.kube/config

        执行安装命令,将私有仓库地址填到变量中:

        安装命令 :

        /opt/K8S/RASAgent/client/cast_probe K8S install --kubeconfig=/root/.kube/config --operator-image=${operator镜像地址} --tool-image=${network镜像地址}

        安装后 kubectl get pod -A | grep cast 查看安装结果,可能需要等待一段时间(0~10分钟),才能安装成功。

        如图,所有castprobe-operator pod和cast-K8S-network pod 启动成功,探针安装完成。

分享:

    相关文档

    相关产品