ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 05_EKS-LoadBalancer 연결
    공부합시다!/AWS 2023. 7. 10. 00:01
    728x90

    이번 시간에는 생성한 EKS 클러스터를 LoadBalancer에 연결해 보도록 하겠습니다.

    1. manifest 파일 생성 및 적용

    2. Object 확인

    3. LoadBalancer 생성

    4. 확인

    5. Cluster 삭제

    순으로 진행합니다.

     

     

    1. manifest 파일 생성 및 적용

     1.1. 작업디렉토리 생성 및 이동

    # mkdir load
    # cd load

     

     1.2. namespace 생성

      1.2.1. 노트패드로 notepad name.yml 네임스페이스 web생성

    apiVersion: v1
    kind: Namespace
    metadata:
      name: web

     

     1.3. Deployment 생성

       1.3.1. 노드패드로 dep.yml 이름의 Deployment 생성

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-dep
      namespace: web
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80

     

     1.4. Service 생성

      1.4.1. notepad로 ser.yml이라는 Service 생성

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx-dep
      namespace: web
    spec:
      ports:
        - port: 80
          name: http
          protocol: TCP
          targetPort: 80
      selector:
        app: nginx-dep

     

     1.5. 파일 적용 및 Object 확인

    # kubectl apply -f name.yml
    # kubectl apply -f dep.yml
    # kubectl apply -f ser.yml
    # kubectl get all -n web

     

    2. Object 확인

     2.1. Pod 확인

      2.1.1. 클러스터 -> sdkim_clu -> 리소스 -> 포드 선택

     

     2.2. ReplicaSet 확인

      2.2.1. 클러스터 -> sdkim_clu -> 리소스 -> ReplicasSet선택

     

     2.3. Deployment 확인

      2.3.1. 클러스터 -> sdkim_clu -> 리소스 -> 배포 선택

     

    3. LoadBalancer 생성 

     3.1. Deployment를 LoadBalancer로 내보내기

    # kubectl expose deployment nginx-dep --type=LoadBalancer --name=my-web -n web

     3.2. Pod를 PortForwarding 하기 

    kubectl port-forward [pod이름] 80:80 -n web

     3.3. 삭제 시에는 namespace web을 삭제하면 됩니다.

     

     3.3. Cluster를 구성하는 EC2 확인

      3.3.1. EC2 대쉬보드 -> 인스턴스

     

     3.4. 보안 그룹 확인

      3.4.1. EC2 대쉬보드 -> 보안그룹

     

      3.4.2. 자동 생성된 EKS LoadBalancer의 보안그룹 확인

       3.4.2.1. EC2 대쉬보드 -> 보안그룹 -> k8s-elb로 시작하는 보안그룹 클릭

       3.4.2.2. 80Port Open 확인

     

    4. 확인

     4.1. LoadBalancer 확인

      4.1.1. EC2 대쉬보드 -> 로드밸런싱 -> 로드밸런서 -> DNS 주소 확인

     

      4.2. 웹사이트 접속

       4.2.1. 복사한 LoadBalancer의 Name을 웹브라우저 주소창에 입력

     

    5. Cluster 삭제

     5.1. 클러스터 삭제시에는 반드시

      5.1.1. 해당 클러스터 -> 컴퓨팅 -> 노드그룹 -> 해당 노드 그룹을 먼저 삭제해야 클러스터가 삭제 됩니다.

    EKS에서 LoadBalancer까지 구현을 해보았으니

    슬슬 마무리가 되가네요!

    고생들 하셨습니다.

    Have a nice day!

    728x90
Designed by Tistory.