[K8S] Azure CLI 로 AKS 클러스터 구성 및 로컬 환경에서 kubectl 로 AKS 클러스터 연결하기
[K8S] Azure CLI 로 AKS 클러스터 구성 및 로컬 환경에서 kubectl 로 AKS 클러스터 연결하기1. Azure Cli 툴 설치 및 Azure 로그인2. Azure Cli 명령어로 AKS 클러스터 생성하고 연결하기
1. Azure Cli 툴 설치 및 Azure 로그인
참고 : https://docs.microsoft.com/ko-kr/cli/azure/install-azure-cli-macos?view=azure-cli-latest
brew를 사용하여 azure cli 설치
xxxxxxxxxx
brew update && brew install azure-cli
azure cli 에서 Azure 로그인
명령어 실행 시 Azure에 로그인할 수 있는 웹 브라우저가 열린다.
xxxxxxxxxx
az login
웹 브라우저 로그인에 성공하면 아래와 같으 메시지가 출력된다.
xxxxxxxxxx
$ az login
Note, we have launched a browser for you to login. For old experience with device code, use "az login --use-device-code"
You have logged in. Now let us find all the subscriptions to which you have access...
[
{
"cloudName": "AzureCloud",
"id": "aaaaa-aaaa-aaaa-aaaa-aaaaaaaa",
"isDefault": true,
"name": "종량제",
"state": "Enabled",
"tenantId": ""aaaaa-aaaa-aaaa-aaaa-aaaaaaaa"",
"user": {
"name": "mr.november11",
"type": "user"
}
}
]
2. Azure Cli 명령어로 AKS 클러스터 생성하고 연결하기
참고 : https://docs.microsoft.com/ko-kr/azure/aks/kubernetes-walkthrough
Resource Group 생성
AKS 리소스가 배포되고 관리될 논리적 그룹을 생성한다.
--location
에는 리소스를 생성한 지역을 선택하며 한국 서울의 경우 koreacentral이다.xxxxxxxxxx
$az group create --name AKSTEST --location koreacentral
{
"id": "/subscriptions/aaaaa-aaaaa-aaaaaa-aaaaaaa/resourceGroups/AKSTEST",
"location": "koreacentral",
"managedBy": null,
"name": "AKSTEST",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": null
}
AKS 클러스터 생성
AKSTEST 리소스 그룹 내 TEST라는 이름의 신규 클러스터를 생성한다.
x
az aks create \
--resource-group AKSTEST \
--name TEST \
--node-count 1
AKS 클러스터 연결
로컬 환경에 kubectl이 설치되어 있지 않다면 azure cli 로 설치한다.
xxxxxxxxxx
az aks install-cli
AKS 클러스터 생성이 완료되었다면 로컬 Mac 환경의 kubectl 로 접속 가능하도록 AKS 클러스터에 대한 자격증명을 할당 받는다.
할당받은 get-credentials 정보는 kubectl 의 context 정보에 추가된다.
xxxxxxxxxx
# az aks get-credentials --resource-group AKSTEST --name TEST
Merged "TEST" as current context in /Users/november/.kube/config
로컬 kubectl에서 여러 개의 클러스터에 연결할 경우
kubectl config get-contexts
명령어로 전체 cluster 목록을 확인할 수 있다.*로 표시된 context가 현재 연결된 클러스터다.
x
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* TEST TEST clusterUser_AKSTEST_TEST
docker-desktop docker-desktop docker-desktop
docker-for-desktop docker-desktop docker-desktop
kubectl config use-context
명령어를 사용하여 kubectl 에 현재 연결된 클러스터를 전환할 수 있다.x
$ kubectl config use-context docker-desktop
Switched to context "docker-desktop".
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
TEST TEST clusterUser_AKSTEST_TEST
* docker-desktop docker-desktop docker-desktop
docker-for-desktop docker-desktop docker-desktop
AKS 클러스터 연결 확인
kubectl 명령어로 생성된 클러스 관련 정보를 확인한다.
Node 상태
xxxxxxxxxx
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-nodepool1-32055371-0 Ready agent 6m18s v1.13.10
Namespace 상태
xxxxxxxxxx
$ kubectl get namespaces
NAME STATUS AGE
default Active 12m
kube-public Active 12m
kube-system Active 12m
Pod 상태
- AKS에서는 -A 플래그를 추가하면 전체 네임스페이스의 Pod를 조회할 수 있다.
xxxxxxxxxx
$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-7fbf4847b6-g6gvw 1/1 Running 0 11m
kube-system coredns-7fbf4847b6-whr5x 1/1 Running 0 8m4s
kube-system coredns-autoscaler-657d77ffbf-s6d2d 1/1 Running 0 11m
kube-system kube-proxy-27mk2 1/1 Running 0 8m32s
kube-system kubernetes-dashboard-6f697bd9f5-7q9hq 1/1 Running 0 11m
kube-system metrics-server-58699455bc-mb2zp 1/1 Running 0 11m
kube-system tunnelfront-94bb7d97c-d6lh9 1/1 Running 0 11m
'k8s' 카테고리의 다른 글
[k8s] kubespray로 쿠버네티스 설치 후 calico-node 에서 CrashLoopBackOff 에러가 날 경우 (0) | 2019.09.06 |
---|---|
[k8s] kubespray 를 사용한 bare-metal 서버에 쿠버네티스 설치하기 (0) | 2019.09.06 |
[K8S] Azure AKS 클러스터에서 helm 차트 사용하기 (0) | 2019.08.26 |
[k8s] 공개용 Docker Image를 다운로드하여 사설 Registry 로 옮기기 (0) | 2019.07.19 |
[k8s] 쿠버네티스 Pod 보안을 위해 root 가 아닌 사용자로 컨테이너 실행하기 (0) | 2019.07.08 |