在 Azure AKS 上部署 KubeSphere

    Azure 可以通过提供自动化部署资源功能从而实现基础设施即代码的能力,常用的工具包括 ARM templates 和 。在本指南中,我们将使用 Azure CLI 创建安装 KubeSphere 所需的所有资源。

    由于 Azure 提供了基于 Web 的终端,因此您不必在计算机上安装 Azure CLI。单击 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。

    选择 Bash Shell。

    Bash Shell

    Azure 资源组是在其中部署和管理 Azure 资源的逻辑组。以下示例在区域中创建一个名为KubeSphereRG的资源组。

    使用az aks create命令创建 AKS 集群。以下示例创建一个名为KuberSphereCluster的集群,该集群具有三个节点,需要等待几分钟完成。

    1. az aks create --resource-group KubeSphereRG --name KuberSphereCluster --node-count 3 --enable-addons monitoring --generate-ssh-keys

    您可以使用--node-vm-size-s选项来更改 Kubernetes 节点的大小,默认值是 Standard_DS2_v2(2v CPU,7GB 内存)。有关更多选项,请参见 az aks create

    为了能够使用 kubectl 操作该 Kubernetes 集群,需要执行az aks get-credentials命令,该命令下载 Kubernetes CLI 将要使用到的凭据和配置。

    1. az aks get-credentials --resource-group KubeSphereRG --name KuberSphereCluster

    查看节点信息

    执行完以上所有命令后,您可以看到在 Azure Portal 中创建了 2 个资源组。

    查看资源组详情

    1. $ az group show --resource-group KubeSphereRG
    2. {
    3. "id": "/subscriptions/6017690f-c286-4a8f-123e-c53e2f3bc7b5/resourceGroups/KubeSphereRG",
    4. "managedBy": null,
    5. "name": "KubeSphereRG",
    6. "provisioningState": "Succeeded"
    7. },
    8. "tags": null,
    9. "type": "Microsoft.Resources/resourceGroups"
    10. }

    Azure Kubernetes Services 本身将放置在KubeSphereRG中。

    所有其他资源都将放置在MC_KubeSphereRG_KuberSphereCluster_westus中,例如 VM,负载均衡器和虚拟网络。

    Azure Kubernetes Services

    请使用以下命令开始部署 KubeSphere。

    1. kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.0/kubesphere-installer.yaml
    2. kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.0/cluster-configuration.yaml

    可以通过以下命令检查安装日志:

    要从公共 IP 地址访问 KubeSphere 控制台,需要将服务类型更改为LoadBalancer

    1. kubectl edit service ks-console -n kubesphere-system

    找到以下部分,并将类型更改为LoadBalancer

    1. spec:
    2. ports:
    3. - name: nginx
    4. nodePort: 30880
    5. port: 80
    6. protocol: TCP
    7. targetPort: 8000
    8. selector:
    9. app: ks-console
    10. tier: frontend
    11. version: v3.0.0
    12. sessionAffinity: None
    13. type: LoadBalancer # Change NodePort to LoadBalancer
    14. status:

    保存 ks-console 服务的配置后,可以使用以下命令获取公共 IP 地址(在下方 EXTERNAL-IP)。

    上面的示例演示了默认的最小安装过程,对于可插拔组件,可以在安装之前或之后启用它们。有关详细信息,请参见。