接入 Azure AKS 集群
将已部署的 Azure AKS 集群接入平台统一管理。
前提条件
-
集群上 Kubernetes 版本和参数满足 接入标准 Kubernetes 集群组件版本和参数要求 。
提示:
- 若 AKS 节点无法访问 global 可参考常见问题: AKS node 外网 IP 安全组如何放行 。
-
镜像仓库必须支持 HTTPS 访问,并提供由公共认证机构认证的合法 TLS 证书。
准备操作环境
为遵守 Azure AKS 的安全规范,接下来的步骤都需要使用 Cloud Shell 操作。
-
确保与 Azure Console 的网络互通。
-
打开 Kubernetes 服务功能页 ,找到打算接入的集群,点击进入集群概述页。
-
点击
连接按钮,会弹出连接到 <接入集群名称>的浮动窗口,按照其上的说明打开 Cloud Shell,配置操作环境。
获取集群信息
获取接入集群令牌
公有云集群的 KubeConfig 文件无法被直接用于接入集群。
请参考常见问题 如何获取集群信息? 获取接入集群令牌。
接入集群
-
在左侧导航栏中,单击 集群管理 > 集群。
-
单击 接入集群。
-
参照以下说明,配置相关参数。
参数 说明 镜像仓库 存储集群所需平台组件镜像的仓库。
- 平台默认:部署 global 时配置的镜像仓库。
- 私有仓库:提前搭建的并存放平台所需组件的镜像仓库。需输入访问镜像仓库的 私有镜像仓库地址、端口、用户名、密码。
- 公共仓库:使用位于公网的镜像仓库服务,使用前,您需首先参考 更新公网镜像仓库云凭证 以获取仓库认证权限。集群信息 提示:请上传 KubeConfig 文件,由平台自动解析并填写。
集群地址:接入集群对外暴露 API Server 的访问地址,用于平台访问接入集群的 API Server。
CA 证书:接入集群的 CA 证书。
认证方式:接入集群的认证方式,需要使用上一步创建的具备 集群管理权限 的 令牌(Token)进行认证。 -
单击 检查连通性 以检查与接入集群的网络连通性并自动识别接入集群的类型,集群类型将以表单右上角角标的形式展现。
-
连通性检查通过后,单击 接入,并确认。
提示:
- 单击处于 接入中 状态的集群右侧的
图标,可在弹出的 执行进度 对话框中,查看集群的执行进度(status.conditions)。 - 集群接入成功后,在集群列表可查看集群的关键信息,集群的状态显示为正常,并可执行集群相关操作。
- 单击处于 接入中 状态的集群右侧的
网络相关配置
为确保 global 集群与被接入集群网络互通,您须参考 接入集群网络相关配置 。
后续操作
部署插件
集群接入成功后,您可前往 插件管理 选择为集群部署必须的插件。
提示:由于 AKS 是托管集群,无 Master 节点,所以在平台界面无法查看 Kubernetes 组件监控数据,日志审计也无法查看数据。
纳管集群下命名空间
接入集群后,您可通过基于集群 创建项目 ,或通过 添加项目关联集群 的方式将集群添加至已有项目,可将新接入的集群关联至项目。
进而,通过 导入命名空间 操作,将集群下已有的 Kubernetes 命名空间纳入到平台的项目下进行管理。
Ingress(入站规则)及存储初始化
接入集群后,若需使用 Ingress (入站规则)及存储相关功能,请参考 Azure AKS 集群 Ingress 初始化配置 、 Azure AKS 集群存储初始化配置 。
常见问题
AKS node 外网 IP 安全组如何放行
Node 本身只有内网 IP,公网 IP 是前端的一个负载均衡 LB 上的配置,默认使用该公网出站。同时该 LB 受 AKS 主体控制,若直接手动修改该配置会导致异常,可以通过 Kubernetes > 属性 > 基础结构资源组 > 网络安全组 > 添加出站/入站所有规则 放行流量。
AKS 如何登陆 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 /hostAzure 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-albAzure 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接入集群后添加节点按钮置灰,如何添加节点?
不支持在平台界面添加节点,请于联系集群供应商添加。
接入集群的证书管理功能支持哪些证书?
-
Kubernetes 证书:所有接入集群仅支持在平台证书管理界面查看 APIServer 证书信息,不支持查看其他 Kubernetes 证书且不支持自动轮换。
-
平台组件证书:所有接入集群可在平台证书管理界面查看平台组件证书信息且支持自动轮换。
还有哪些功能不支持接入的 AKS 集群?
-
不支持获取审计数据。
-
不支持 ETCD、Scheduler、Controller Manager 相关监控信息,支持 APIServer 部分监控图表。
-
不支持获取除 Kubernetes APIServer 证书外的集群证书相关信息。