首页 / 平台管理 / 集群管理 / 集群 / 接入 Azure 集群

接入 Azure 集群

将已部署的 Azure 集群接入平台统一管理。

前提条件

访问 Azure 集群

  1. 准备好 Azure 集群账户信息,并在安装了 Azure CLI 工具的节点中运行如下命令连接到 Azure 集群,根据您账号所在的区域不同,执行命令:

    中国区

    az cloud set -n AzureChinaCloud
    az login -u <user> -p <password> -t <tenant id >
    az account set --subscription <subscription id>
    az aks get-credentials --resource-group <myResourceGroup> --name <myAKSCluster>

    国际区

    az cloud set -n AzureCloud
    az login -u <user> -p <password> -t <tenant id >
    az account set --subscription <subscription id>
    az aks get-credentials --resource-group <myResourceGroup> --name <myAKSCluster>

    参数解释

    参数 含义
    user Azure 用户名
    password Azure 密码
    tenant id Azure 租户 ID(登录 Azure 门户,在 主页选择 Azure Active Directory,单击查看 租户ID
    subscription id Azure 订阅id(登录 Azure 门户,在主页选择 Kubernetes服务 连接 AKS 获取)
    myResourceGroup Azure 集群资源组名称(使用 az aks get-credentials 命令获取)
    myAKSCluster Azure 集群名称(使用 az aks get-credentials 命令获取)
  2. 验证与 Azure 集群集的连接,可运行 kubectl get nodes 命令验证是否正常返回群集节点列表。

获取集群信息

参考 获取集群令牌、访问地址、CA 证书 获取集群信息,为接入集群做准备。

接入集群

  1. 在左侧导航栏中,单击 集群管理 > 集群

  2. 单击 接入集群

  3. 参照以下说明,配置相关参数。

    参数 说明
    镜像仓库 存储集群所需平台组件镜像的仓库。
    - 平台默认:部署 global 时配置的 平台部署 镜像仓库。
    - 外部:提前搭建的外部镜像仓库。需输入访问镜像仓库的 私有镜像仓库地址端口用户名密码
    集群信息 提示:可手动填写或上传 KubeConfig 文件由平台自动解析并填写。

    解析 KubeConfig 文件:上传已获取的 KubeConfig 文件后,平台会自动解析并填写 集群信息,您可修改自动填写的信息。

    集群地址:集群对外暴露 API Server 的访问地址,用于平台访问集群的 API Server。

    CA 证书:集群的 CA 证书。
    注意:手动输入时,需输入经过 Base64 解码的证书。

    认证方式:访问集群的认证方式,需要使用具备 集群管理权限令牌(Token)或 证书认证(客户端证书及秘钥) 进行认证。
  4. 单击 检查连通性 以检查与接入集群的网络连通性并自动识别接入集群的类型,集群类型将以表单右上角角标的形式展现。

  5. 连通性检查通过后,单击 接入,并确认。

    提示

    • 单击处于 接入中 状态的集群右侧的 图标,可在弹出的 执行进度 对话框中,查看集群的执行进度(status.conditions)。
    • 集群接入成功后,在集群列表可查看集群的关键信息,集群的状态显示为正常,并可执行集群相关操作。

后续操作

部署插件

集群接入成功后,您可前往 插件管理 选择为集群部署必须的插件。

提示:由于 Azure 是托管集群,无 Master 节点,所以在平台界面无法查看 Kubernetes 组件监控数据,日志审计也无法查看数据。

纳管集群下命名空间

接入集群后,您可通过基于集群 创建项目 ,或通过 添加项目关联集群 的方式将集群添加至已有项目,可将新接入的集群关联至项目。

进而,通过 导入命名空间 操作,将集群下已有的 Kubernetes 命名空间纳入到平台的项目下进行管理。

常见问题

Azure node 外网 IP 安全组如何放行

Node 本身只有内网 IP,公网 IP 是前端的一个负载均衡 LB 上的配置,默认使用该公网出站。同时该 LB 受 AKS 主体控制,若直接手动修改该配置会导致异常,可以通过 Kubernetes > 属性 > 基础结构资源组 > 网络安全组 > 添加出站/入站所有规则 放行流量。

Azure 如何登陆 node 节点

查看 Kubelet、CNI、kernel 等系统组件的日志需要首先 SSH 登录到 Node 上,推荐使用 kubectl-node-shell 插件而不是为每个节点分配公网 IP 地址。

方案一:使用kubectl node-shell

官方链接

方案二:使用debug

官方链接

kubectl alpha debug node/aks-newadd-41368356-vmss000002 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
chroot /host

Azure alb 使用内网负载均衡

参考 官方链接

apiVersion: v1
kind: Service
metadata:
  name: internal-app
  namespace: cpaas-system
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
  type: LoadBalancer
  ports:
  - name: http-port
    port: 80
    protocol: TCP
  - name: https-port
    port: 443
    protocol: TCP
  selector:
    service.cpaas.io/name: deployment-aks-alb
    service_name: alb2-aks-alb

Azure alb 使用外网负载均衡

部署高可用 alb,访问地址填写外部 lb。

apiVersion: v1
kind: Service
metadata:
  name: azure-alb
  namespace: cpaas-system
spec:
  type: LoadBalancer
  ports:
  - name: http-port
    port: 80
    protocol: TCP
  - name: https-port
    port: 443
    protocol: TCP
  - name: prom-port
    port: 11780
    protocol: TCP
  - name: prom2-port
    port: 11781
    protocol: TCP
  - name: prom3-port
    port: 15012
    protocol: TCP
  selector:
    service_name: alb2-cpaas-system

如果提前就部署好了,可以使用如下命令修改。

kubectl edit helmrequest -n cpaas-system uat-cluster-aks-alb 

常见问题

接入集群后添加节点按钮置灰,如何添加节点?

不支持在平台界面添加节点,请于联系集群供应商添加。

接入集群的证书管理功能支持哪些证书?

  1. Kubernetes 证书:所有接入集群仅支持在平台证书管理界面查看 APIServer 证书信息,不支持查看其他 Kubernetes 证书且不支持自动轮换。

  2. 平台组件证书:所有接入集群可在平台证书管理界面查看平台组件证书信息且支持自动轮换。

还有哪些功能不支持接入的 Azure 集群