AKS

Lungnaha·2022년 8월 8일
1

Docker&k8s

목록 보기
9/9

🧁 들어가며..

이번 포스트는 Azure 클라우드 상에서 Kubernetes 클러스터를 구축하고 관리하는 서비스인 AKS 에 대해서 다루어보겠습니다. 이전 포스트에서도 다루었던 것처럼 AWS에서는 유사한 서비스로 EKS가 존재합니다.

🍦 장점

먼저 간단하게 Cloud 상에서 클러스터를 구축하는 이유에 대해서 다루어 보겠습니다.

1. Master Node를 Azure 가 관리

  • 쿠버네티스를 이용해 본 개발자들이 겪는 고통의 원인 중 하나가 Master Node를 관리하는 것이라고 할 수 있을 것입니다.
  • AKS을 사용하면 Master Node를 Azure가 관리해주기에 개발자가 Worker Node 이용 및 관리에만 집중할 수 있습니다.

2. Node의 Scaling 자동화 가능

  • k8s에서는 Pod의 Scaling은 자동화가 가능하나, Node는 개발자가 직접 연결해주는 등 자동화가 되지 않습니다.
  • 그러나 AKS를 이용하면 VMSS를 통해 Node의 Scaling 자동화가 가능합니다.

🍧 AKS 생성



먼저 AKS 클러스터는 개발/테스트 용으로 구현하였습니다.
그리고 클러스터는 1.22(기본값)을 사용하였는데, 해당 버전은 본인에 맞는 것을 사용하시면 될 것 같습니다.

크기 조절 방법은 수동으로 하였고 테스트를 위해 노드는 1개만 생성하였습니다.

  • 노드는 추후에도 수동으로 조절하는 것이 가능합니다.

잠시 기다리시면 AKS 생성이 완료되는 것을 확인할 수 있습니다.


🍨 구성


단순히 AKS만을 생성했는데 위와 같이 많은 것 들이 생성된 것을 확인할 수 있습니다.

중요한 것 위주로 간단히 살펴보겠습니다.

  • 부하 분산 장치
    • AKS는 부하 분산 장치로 클러스터 접근을 관리
  • VMSS
    • VMSS를 활용해서 Node의 Scaling이 가능
  • 그 외에 가상 네트워크나 라우팅 테이블, NSG도 생성

🧊 AKS 활용

이제 생성된 AKS를 Cloud Shell을 통해 조작해보겠습니다.

이를 위해서는 Cloud Shell에 AKS의 연결이 필요합니다.

개요 -> 연결 에 들어가서 위의 사진에 형광펜 부분의 두 줄의 코드를 Cloud Shell에 입력합니다.

kubectl get node

위의 명령어를 입력했을 때, Node에 관한 정보가 문제 없이 나온다면 연결이 잘 되었음을 확인할 수 있습니다.

다음으로는 아래의 코드 대로 test.yaml 파일을 생성해보겠습니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: nginx-deployment
    labels:
        app: nginx
    spec:
    replicas: 3
    selector:
        matchLabels:
        app: nginx
    template:
        metadata:
        labels:
            app: nginx
        spec:
        containers:
        - name: nginx
            image: nginx:1.14.2
            ports:
            - containerPort: 80
    ---
    apiVersion: v1
    kind: Service
    metadata:
    name: my-nginx
    labels:
        run: my-nginx
    spec:
    type: LoadBalancer
    ports:
    - port: 80
        protocol: TCP
    selector:
        app: nginx

생성 후에는 아래의 명령어로 apply를 실행시켜 봅시다!

kubectl apply -f test.yaml

만약, 클러스터 구성이 문제가 없었고, yaml 파일에 문제가 없다면 아래와 같이 Service와 Deployment가 잘 생성되었음을 확인할 수 있습니다.

  • 해당 내용은 위에 처럼 Shell에서 확인할 수 있을 뿐만 아니라, AKS -> 서비스 및 수신 에서 GUI의 형태로 확인할 수 있습니다.
profile
Long🌈Now😁Happy💖

0개의 댓글