해당 실습의 AWS 실습 환경은 하나의 AWS 계정에서 한개만 생성이 가능합니다. 서울 리전(ap-northeast-2), 오레곤 리전(us-east-1)에서 정상 동작되는것을 확인했습니다.

실습 환경 설정

AWS 실습 환경 생성

  1. 해당 링크를 클릭해서 실습 환경을 구성하는 CloudFormation 스택 생성

    image.png

    image.png

  2. CloudFormation 스택 생성이 완료되면 Outputs 탭으로 이동해서 Code 서버 주소 확인

    image.png

  3. 웹브라우저를 통해서 Code 서버로 접근

    image.png

  4. 터미널 실행

    image.png

    image.png

  5. kubeconfig 파일 생성

    aws eks update-kubeconfig --name workshop
    
  6. EKS Auto Mode 설정

    cat <<EOF | kubectl apply -f -
    apiVersion: eks.amazonaws.com/v1
    kind: IngressClassParams
    metadata:
      name: alb
    spec:
      scheme: internet-facing
      certificateARNs: 
        - $(aws acm list-certificates --query "CertificateSummaryList[?DomainName=='*.$DOMAIN_NAME'].CertificateArn" --output text)
    ---
    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: alb
      annotations:
        ingressclass.kubernetes.io/is-default-class: "true"
    spec:
      controller: eks.amazonaws.com/alb
      parameters:
        apiGroup: eks.amazonaws.com
        kind: IngressClassParams
        name: alb
    ---
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: auto-ebs-sc
      annotations:
        storageclass.kubernetes.io/is-default-class: "true"
    provisioner: ebs.csi.eks.amazonaws.com
    volumeBindingMode: WaitForFirstConsumer
    parameters:
      type: gp3
      encrypted: "true"
    ---
    apiVersion: karpenter.sh/v1
    kind: NodePool
    metadata:
      name: default
    spec:
      disruption:
        consolidateAfter: 0s
        consolidationPolicy: WhenEmpty
      template:
        spec:
          nodeClassRef:
            group: eks.amazonaws.com
            kind: NodeClass
            name: default
          requirements:
          - key: karpenter.sh/capacity-type
            operator: In
            values:
            - on-demand
          - key: eks.amazonaws.com/instance-category
            operator: In
            values:
            - c
            - m
            - r
          - key: eks.amazonaws.com/instance-generation
            operator: Gt
            values:
            - "4"
          - key: kubernetes.io/arch
            operator: In
            values:
            - amd64
          - key: kubernetes.io/os
            operator: In
            values:
            - linux
    EOF
    
  7. 실습에 필요한 환경변수 등록

    {
      echo 'export AWS_REGION_PREFIX=$( [[ $AWS_REGION == ap* ]] && echo "apac" || ([[ $AWS_REGION == us* ]] && echo "us" || echo "unknown") )' >> ~/.bashrc
      source ~/.bashrc
    }
    

Kong Konnect

  1. Kong Konnect 로그인 창으로 이동 - https://cloud.konghq.com

  2. Sign Up 클릭

    image.png

  3. GitHub, Google 또는 Microsoft 계정이 있을 경우 해당 계정을 통해서 회원 가입을 진행하거나 수동으로 이름, 이메일, 비밀번호를 입력해서 회원 가입 진행

    image.png

  4. 수동으로 가입한 경우에는 이메일 인증 진행

    image.png

  5. 회원 가입에 사용한 이메일로 이동해서 인증 메일 확인

    image.png

  6. 이메일 인증 확인 후 Kong Konnect 콘솔로 이동

    image.png

  7. 조직 생성 - 조직 이름에는 원하는 아무 값이나 입력

    image.png

  8. 자개 소개 항목에 적절한 값을 입력하고 Kong Konnect 콘솔로 이동

    image.png

  9. Kong Konnect 콘솔에 정상적으로 로그인 되었는지 확인

    image.png