Azure Stack Hub의 Kubernetes 대시보드에 액세스Access the Kubernetes Dashboard in Azure Stack Hub

참고

Kubernetes Azure Stack Marketplace 항목만 사용 하 여 클러스터를 개념 증명으로 배포 합니다.Only use the Kubernetes Azure Stack Marketplace item to deploy clusters as a proof-of-concept. Azure Stack에서 지원 되는 Kubernetes 클러스터의 경우 AKS 엔진을 사용 합니다.For supported Kubernetes clusters on Azure Stack, use the AKS engine.

Kubernetes에는 기본 관리 작업에 사용할 수 있는 웹 대시보드가 포함 되어 있습니다.Kubernetes includes a web dashboard that you can use for basic management operations. 이 대시보드를 사용하면 애플리케이션의 기본 상태와 메트릭을 보고 서비스를 작성 및 배포하며 기존 애플리케이션을 편집할 수 있습니다.This dashboard lets you view basic health status and metrics for your applications, create and deploy services, and edit existing applications. 이 문서에서는 Azure Stack Hub에서 Kubernetes 대시보드를 설정 하는 방법을 보여 줍니다.This article shows you how to set up the Kubernetes dashboard on Azure Stack Hub.

Kubernetes 대시보드의 필수 구성 요소Prerequisites for Kubernetes Dashboard

  • Azure Stack Hub Kubernetes 클러스터Azure Stack Hub Kubernetes cluster

    Azure Stack 허브에 Kubernetes 클러스터를 배포 해야 합니다.You will need to have deployed a Kubernetes cluster to Azure Stack Hub. 자세한 내용은 Deploy Kubernetes을 (를) 참조 하세요.For more information, see Deploy Kubernetes.

  • SSH 클라이언트SSH client

    클러스터의 마스터 노드에 대 한 보안 연결을 위해 SSH 클라이언트가 필요 합니다.You'll need an SSH client to security connect to your master node in the cluster. Windows를 사용 하는 경우 Putty를 사용할 수 있습니다.If you're using Windows, you can use Putty. Kubernetes 클러스터를 배포할 때 사용 되는 개인 키가 필요 합니다.You will need the private key used when you deployed your Kubernetes cluster.

  • FTP (PSCP)FTP (PSCP)

    마스터 노드에서 Azure Stack 허브 관리 컴퓨터로 인증서를 전송 하기 위해 SSH 및 SSH 파일 전송 프로토콜를 지 원하는 FTP 클라이언트도 필요할 수 있습니다.You may also need an FTP client that supports SSH and SSH File Transfer Protocol to transfer the certificates from the master node to your Azure Stack Hub management machine. FileZilla를 사용할 수 있습니다.You can use FileZilla. Kubernetes 클러스터를 배포할 때 사용 되는 개인 키가 필요 합니다.You will need the private key used when you deployed your Kubernetes cluster.

대시보드를 사용 하도록 설정 하는 단계 개요Overview of steps to enable dashboard

  1. 클러스터의 마스터 노드에서 Kubernetes 인증서를 내보냅니다.Export the Kubernetes certificates from the master node in the cluster.
  2. Azure Stack 허브 관리 컴퓨터로 인증서를 가져옵니다.Import the certificates to your Azure Stack Hub management machine.
  3. Kubernetes 웹 대시보드를 엽니다.Open the Kubernetes web dashboard.

마스터에서 인증서 내보내기Export certificate from the master

클러스터의 마스터 노드에서 대시보드의 URL을 검색할 수 있습니다.You can retrieve the URL for the dashboard from the master node in your cluster.

  1. Azure Stack Hub 대시보드에서 클러스터 마스터의 공용 IP 주소 및 사용자 이름을 가져옵니다.Get the public IP address and username for your cluster master from the Azure Stack Hub dashboard. 이 정보를 얻으려면:To get this information:

    • Azure Stack 허브 포털에 로그인 https://portal.local.azurestack.external/ 합니다.Sign in to the Azure Stack Hub portal https://portal.local.azurestack.external/.
    • 모든 서비스 > 모든 리소스 를 선택 합니다.Select All services > All resources. 클러스터 리소스 그룹에서 마스터를 찾습니다.Find the master in your cluster resource group. 마스터의 이름은 k8s-master-<sequence-of-numbers> 입니다.The master is named k8s-master-<sequence-of-numbers>.
  2. 포털에서 마스터 노드를 엽니다.Open the master node in the portal. 공용 IP 주소를 복사 합니다.Copy the Public IP address. 연결 을 클릭 하 여 VM 로컬 계정으로 로그인 상자에 사용자 이름을 가져옵니다.Click Connect to get your user name in the Login using VM local account box. 클러스터를 만들 때 설정 하는 것과 동일한 사용자 이름입니다.This is the same user name you set when creating your cluster. 연결 블레이드에 나열 된 개인 IP 주소 대신 공용 IP 주소를 사용 합니다.Use the public IP address rather than the private IP address listed in the connect blade.

  3. SSH 클라이언트를 열어 마스터에 연결 합니다.Open an SSH client to connect to the master. Windows에서 작업 하는 경우 Putty 를 사용 하 여 연결을 만들 수 있습니다.If you are working on Windows, you can use Putty to create the connection. 마스터 노드와 사용자 이름에 공용 IP 주소를 사용 하 고 클러스터를 만들 때 사용한 개인 키를 추가 합니다.You will use the public IP address for the master node, the username, and add the private key you used when creating the cluster.

  4. 터미널이 연결 되 면를 입력 kubectl 하 여 Kubernetes 명령줄 클라이언트를 엽니다.When the terminal connects, type kubectl to open the Kubernetes command-line client.

  5. 다음 명령을 실행합니다.Run the following command:

    kubectl cluster-info 
    

    대시보드의 URL을 찾습니다.Find the URL for the dashboard. 예: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxyFor example: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. 자체 서명 된 인증서를 추출 하 여 PFX 형식으로 변환 합니다.Extract the self-signed cert and convert it to the PFX format. 다음 명령을 실행합니다.Run the following command:

    sudo su 
    openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key  -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt 
    
  7. Kube 네임 스페이스에서 비밀 목록을 가져옵니다.Get the list of secrets in the kube-system namespace. 다음 명령을 실행합니다.Run the following command:

    kubectl -n kube-system get secrets
    

    Kubernetes-값을 기록해 둡니다 <XXXXX> .Make note of the kubernetes-dashboard-token-<XXXXX> value.

  8. 토큰을 가져와서 저장 합니다.Get the token and save it. kubernetes-dashboard-token-<####>이전 단계의 비밀 값으로를 업데이트 합니다.Update the kubernetes-dashboard-token-<####> with the secret value from the previous step.

    kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}' 
    

인증서 가져오기Import the certificate

  1. Filezilla를 열고 마스터 노드에 연결 합니다.Open Filezilla and connect to the master node. 다음이 필요 합니다.You will need the:

    • 마스터 노드 공용 IPthe master node public IP
    • 사용자 이름the username
    • 개인 암호the private secret
    • SFTP-SSH 파일 전송 프로토콜 사용Use SFTP - SSH File Transfer Protocol
  2. /etc/kubernetes/certs/client.pfx /etc/kubernetes/certs/ca.crt Azure Stack 허브 관리 컴퓨터에 복사 합니다.Copy /etc/kubernetes/certs/client.pfx and /etc/kubernetes/certs/ca.crt to your Azure Stack Hub management machine.

  3. 파일 위치를 기록해 둡니다.Make note of the file locations. 위치를 사용 하 여 스크립트를 업데이트 한 다음 관리자 권한 프롬프트를 사용 하 여 PowerShell을 엽니다.Update the script with the locations, and then open PowerShell with an elevated prompt. 업데이트 된 스크립트를 실행 합니다.Run the updated script:

    Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root 
    $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' 
    Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password 
    

Kubernetes 대시보드 열기Open the Kubernetes dashboard

  1. 웹 브라우저에서 팝업 차단을 사용 하지 않도록 설정 합니다.Disable the pop-up blocker on your Web browser.

  2. 명령을 실행할 때 표시 되는 URL에 대 한 브라우저를 가리킵니다 kubectl cluster-info .Point your browser to the URL noted when you ran the command kubectl cluster-info. 예: https: / /azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https: kubernetes:/proxyFor example: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. 클라이언트 인증서를 선택 합니다.Select the client certificate.

  4. 토큰을 입력 합니다.Enter the token.

  5. 마스터 노드의 bash 명령줄에 다시 연결 하 고에 대 한 권한을 부여 kubernetes-dashboard 합니다.Reconnect to the bash command line on the master node and give permissions to kubernetes-dashboard. 다음 명령을 실행합니다.Run the following command:

    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 
    

    이 스크립트는 kubernetes-dashboard 클라우드 관리자 권한을 제공 합니다.The script gives kubernetes-dashboard Cloud administrator privileges. 자세한 내용은 RBAC 사용 클러스터의경우을 참조 하세요.For more information, see For RBAC-enabled clusters.

대시보드를 사용할 수 있습니다.You can use the dashboard. Kubernetes 대시보드에 대 한 자세한 내용은 Kubernetes 웹 UI 대시보드 를 참조 하세요.For more information on the Kubernetes dashboard, see Kubernetes Web UI Dashboard

Azure Stack Hub Kubernetes 대시보드

문제 해결Troubleshooting

사용자 지정 가상 네트워크Custom Virtual Networks

사용자 지정 가상 네트워크에 Kubernetes를 배포한 후에 연결 문제가 Kubernetes 대시보드에 액세스 하는 경우 대상 서브넷이 AKS 엔진에서 만든 경로 테이블 및 네트워크 보안 그룹 리소스에 연결 되어 있는지 확인 합니다.If you face connectivity issues accessing the Kubernetes dashboard after you deploy Kubernetes to a custom virtual network, ensure that target subnets are linked to the route table and network security group resources that were created by the AKS engine.

네트워크 보안 그룹 규칙이 마스터 노드와 Kubernetes 대시보드 pod IP 간의 통신을 허용 하는지 확인 합니다.Make sure that the network security group rules allow communication between the master nodes and the Kubernetes dashboard pod IP. 이는 마스터 노드에서 ping 명령을 사용 하 여 유효성을 검사할 수 있습니다.This can be validated by using the ping command from a master node.

다음 단계Next steps

Azure Stack 허브에 Kubernetes 배포Deploy Kubernetes to Azure Stack Hub

Marketplace에 Kubernetes 클러스터 추가 (Azure Stack 허브 운영자의 경우)Add a Kubernetes cluster to the Marketplace (for the Azure Stack Hub operator)

Azure의 KubernetesKubernetes on Azure