如何在YAML中使用Azure CLI部署AKS及Rancher相关操作咨询
针对Rancher YAML模板部署Azure AKS相关问题解答
1. YAML脚本中使用Azure CLI的方法及示例
在Rancher运行的YAML中调用Azure CLI,本质是通过预装Azure CLI的容器执行对应命令,执行前需要先将Azure服务主体的凭据存入Rancher Secret,避免明文暴露敏感信息。
1.1 存储Azure凭据的Secret示例
apiVersion: v1 kind: Secret metadata: name: azure-sp-credentials type: Opaque stringData: AZURE_CLIENT_ID: "你的服务主体客户端ID" AZURE_CLIENT_SECRET: "你的服务主体密钥" AZURE_TENANT_ID: "你的Azure租户ID" AZURE_SUBSCRIPTION_ID: "你的Azure订阅ID"
1.2 调用Azure CLI创建AKS的Job示例
apiVersion: batch/v1 kind: Job metadata: name: create-aks-cluster spec: backoffLimit: 2 template: spec: restartPolicy: Never containers: - name: azure-cli # 生产环境建议固定镜像版本,避免兼容性问题 image: mcr.microsoft.com/azure-cli:2.57.0 envFrom: - secretRef: name: azure-sp-credentials command: - /bin/sh - -c - | # 登录Azure az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID # 切换目标订阅 az account set --subscription $AZURE_SUBSCRIPTION_ID # 创建AKS集群,参数可按需调整 az aks create \ --resource-group 你的资源组名称 \ --name 目标AKS集群名称 \ --node-count 3 \ --node-vm-size Standard_DS2_v2 \ --enable-managed-identity \ --generate-ssh-keys
提示:用到的Azure服务主体需要分配目标资源组的Contributor权限,否则会出现创建权限不足报错。
2. Rancher中直接运行Ansible Playbook的支持情况
Rancher本身没有内置Ansible运行组件,但可以通过自定义封装的方式实现直接在Rancher界面触发Playbook运行:
- 方式1:使用预装Ansible的容器镜像,将Playbook内容存入ConfigMap挂载到容器中,封装为Job资源。配置完成后直接在Rancher界面手动触发Job运行即可,执行日志可以直接在Pod日志中查看。
- 方式2:将上述运行Ansible的逻辑封装为Helm Chart,上传到Rancher的自定义应用商店。后续需要运行时直接在应用商店一键部署即可,适合高频使用的Playbook场景。
内容的提问来源于stack exchange,提问作者emp0001
相关产品推荐
相关产品推荐

