AKS Engine의 Kubernetes 클러스터를 Azure Arc에 연결

11232 단어 Azureazurearctech

개시하다


AKS Engine이 구축한 Kubernetes 클러스터, Azure Arc를 오프닝 Azure Stack Hub에 연결합니다.
https://zenn.dev/_ta/articles/dc1306ce1a7d4c
공식 문서 여기 있습니다.
https://docs.microsoft.com/ja-jp/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli
그냥 이걸로 하는 거야.

컨디션


다음과 같은 환경에서 실시되었다.
  • Azure Stack Hub 2005
  • AKS Engine 0.55.4
  • Kubernetes 1.17.11
  • 차리다


    Azure Arc의 연결은 Azure Cloud 및 Kubernetes 클러스터를 연결할 수 있는 환경에서 이루어져야 합니다.따라서 Kubernetes 클러스터를 구축하는 ASK Engine이 설치된 서버에서 수행됩니다.
    또한,azure-cli는 Azure Stack Hub이 아닌 Azure Cloud를 향합니다.
    az cloud list --output table
    IsActive    Name               Profile
    ----------  -----------------  ---------
    True        AzureCloud         latest
    False       AzureChinaCloud    latest
    False       AzureUSGovernment  latest
    False       AzureGermanCloud   latest
    False       AzureStackUser     2019-03-01-hybrid
    

    서버에 Azure CLI 확장을 설치합니다.
    az extension add --name connectedk8s
    

    절차.


    Azure Arc 지원 Kubbernetes 공급업체 등록


    문서에 따라 명령을 실행합니다.
    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ExtendedLocation
    

    자원 그룹 만들기


    $ az group create --name azure-arc --location EastUS --output table
    
    Location    Name
    ----------  ---------
    eastus      azure-arc
    

    Kubbernetes 클러스터 연결


    $ az connectedk8s connect --name arc-azs-cluster --resource-group azure-arc
    
    Ensure that you have the latest helm version installed before proceeding.
    This operation might take a while...
    
    'Custom-locations' feature couldn't be enabled on this cluster as the pre-requisite registration of 'Microsoft.ExtendedLocation' was not met. More details for enabling this feature later on this cluster can be found here - https://aka.ms/EnableCustomLocations
    {
      "agentPublicKeyCertificate": "****",
      "agentVersion": null,
      "connectivityStatus": "Connecting",
      "distribution": "generic",
      "id": "/subscriptions/<your_subscription_id>/resourceGroups/azure-arc/providers/Microsoft.Kubernetes/connectedClusters/arc-azs-cluster",
      "identity": {
        "principalId": "d5300d30-****-****-****-************",
        "tenantId": "********-****-****-****-************",
        "type": "SystemAssigned"
      },
      "infrastructure": "azure",
      "kubernetesVersion": null,
      "lastConnectivityTime": null,
      "location": "eastus",
      "managedIdentityCertificateExpirationTime": null,
      "name": "arc-azs-cluster",
      "offering": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "azure-arc",
      "systemData": {
        "createdAt": "2021-08-31T12:31:30.405609+00:00",
         "createdBy": "<your-account>",
        "createdByType": "User",
        "lastModifiedAt": "2021-08-31T12:31:42.450439+00:00",
        "lastModifiedBy": "64b12d6e-****-****-****-************",
        "lastModifiedByType": "Application"
      },
      "tags": {},
      "totalCoreCount": null,
      "totalNodeCount": null,
       "type": "microsoft.kubernetes/connectedclusters"
    }
    
    리소스가 생성되었음을 확인할 수 있습니다.


    또한, Kubernetes에서 azure-arc 이름 공간의pod가 실행 중인지 확인할 수 있습니다.
    $ kubectl -n azure-arc get pods
    
    NAME                                         READY   STATUS    RESTARTS   AGE
    cluster-metadata-operator-66784d6f84-rpm26   2/2     Running   0          22m
    clusterconnect-agent-667b6778bc-67995        3/3     Running   0          22m
    clusteridentityoperator-7889bd4b48-qkksc     2/2     Running   0          22m
    config-agent-659b8c6958-mk69m                2/2     Running   0          22m
    controller-manager-f9cf86686-vxmzt           2/2     Running   0          22m
    extension-manager-f84895476-mpb2t            2/2     Running   0          22m
    flux-logs-agent-8587fffffc-p9s7q             1/1     Running   0          22m
    kube-aad-proxy-69c89db4c7-r2fkc              2/2     Running   0          22m
    metrics-agent-5897c8ffb8-dcgqt               2/2     Running   0          22m
    resource-sync-agent-778df6c9d9-2wqrz         2/2     Running   0          22m
    

    Azure Monitor Container Insights 구성


    Azure Monitor에서 Kubernetes 클러스터를 모니터링합니다.
    https://docs.microsoft.com/ja-jp/azure/azure-monitor/containers/container-insights-enable-arc-enabled-clusters?toc=/azure/azure-arc/kubernetes/toc.json
    생성된 Log Analythics 작업공간을 지정하고 확장자를 설치합니다.
    az k8s-extension create --name azuremonitor-containers --cluster-name arc-azs-cluster --resource-group azure-arc --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<log-analytics-workspace-id>
    
    Log Analytics 작업공간의 ID는 az resource list --resource-type Microsoft.OperationalInsights/workspaces --name <workspace-name>를 통해 얻을 수 있습니다.
    설치가 완료되면 분석 정보에서 Kubernetes 정보를 확인할 수 있습니다.

    끝말


    AKS Engine이 만든 Azure Stack Hub의 Kubbernetes 클러스터를 Azure Arc에 연결합니다.
    Kubernetes 클러스터에 액세스하기 위해 주의하십시오.kube/config이 있는 서버로 조작하고 Azure CLI의 단점을 Azure Cloud로 향하면 공식 문서의 조작에 따라 순조롭게 연결할 수 있다.

    좋은 웹페이지 즐겨찾기