[쿠버네티스] AWS-EKS & eksctl

신현식·2023년 2월 27일
0

구름_Kubernetes

목록 보기
11/25
post-thumbnail

기본 개념

윈도우 - client(kubectl 명령 이쪽으로 빼기), 클러스터를 2개를 연결시킬 것
VM - 클러스터 서버1(api-server, 노드 3개)
AWS EKS - 클러스터 서버2

스크립트는 자동화의 핵심역할이다.

윈도우에 kubectl 설치 및 설정

1 Git Bash 설치
다운로드 할때 설정되어있는 체크들은 따로 건들지 않고 next를 해서 설치해준다.

2 윈도우에 kubectl 설치 및 설정

# 파워쉘을 관리자 권한으로 실행한다.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# 설치 확인
choco

3 git bash에서 kubectl 설치 실행

# 버전 1.24를 맞춰서 kubectl 설치
choco install kubernetes-cli --version=1.24.10

최신버전을 설치하기보단 우리가 사용하는 1.24버전 맞춰주는것이 좋다.

4 윈도우 환경에 config 파일 가져오기

# kube-control1에 접속하여 내부에 있는 config 파일 찾기

# config 파일 복사
cat ./.kube/config

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMvakNDQWVhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJek1ESXhNekExTWpnd01Gb1hEVE16TURJeE1EQTFNamd3TUZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS0NKCmZTRlhBMHZ5L3NONHhNMEpmMGN5UHhVVURJWWdOM3BKR2YvdDhYTm1WUUJWVmlrY1A3bWt1QzJuaERvaTM3SXoKQ0g1ZWVVamM0ZlhuanlkR0ZYdFpqaExDaE9ORDNkbjhLRnBmT3hsTzQrMHg0SkltRVVZbW9XL3R4SllGSUdESwpNenBscDdrZlBaWkJPQ2lCMzlmWEtWNWxaNU9qMFBscWMyUlN3SGw4enZFdVg3cXg4c2V2amNBNWsyMXZRN2xlCjVHam1IMTRqVEVocVdLYVdhUmNnYnM3STJPSUtTSkpkVWc4ZTJZalF3YmV2ZDhXSUR2Uys4MS9sdnVlVjdqeDMKUUNLMjFycjNqT3lEcThBOUgySDlMU2lVMm11NGl0QkQ4azlWa2E0UDZZVE1DVzNNakRzM2t0RkdiQTVSZjJrawpBSExhbWx5eUdZYks1bmxYb3lrQ0F3RUFBYU5aTUZjd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZEaVh3MFBkTGpYamNMa3hjSm55akphc2tpeUVNQlVHQTFVZEVRUU8KTUF5Q0NtdDFZbVZ5Ym1WMFpYTXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSFJqcEQ0ejFxcUZVTUVuMkE5TwpGNFB3MzNzdG03ZGFreXArdWpUVlF6VC9aRFV1VE9VcW1IWW1TaUl1alMxRmpPRVp6SXNydjJMTFdGL1ZRcUdLCkhKZXYreC9sVlJhSXl6aTdNVzI2cDJ4d2lmaXlITTAxSW9DSW9TS0YyYnYybzE2R2s3N2Joa3ZQMW9SMkszaVQKcTJYNVZzTlJqb0x5MXoyRkp6RGs3OXFQbDJlMW85a3l0Q0d3OXROVjJhK0IwajFlVmx2aTVmWnE3dldxL0JuRQp0WFZ0UGZtUTJvWm9KVmZXanYzUnlkZUFxOTRKMjNUVWpIcmhwNFVuTnRLRC9QdWJoSEZJSjZkTnV2YjFDajQyClRpWWJkU2dsQUl1eWJ1ZHplQ296TXpQSFV6NGVoT3N6Um5NL1VjYmVkdkVpUWJrVFRCY0dVOXVUSW9aclhqTWIKNFN3PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://127.0.0.1:6443
  name: cluster.local
contexts:
- context:
    cluster: cluster.local
    namespace: default
    user: kubernetes-admin
  name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVENDQWdtZ0F3SUJBZ0lJSjdTUXdkOFVMeUV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TXpBeU1UTXdOVEk0TURCYUZ3MHlOREF5TVRNd05USTRNREZhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXlZOEtQa00vMkZKcGFHSUIKWjQxY21hYlYvTExzbUJsMzJKc2pOQTBOLzBqV0ZzR1k1K01wclg5V1pPR0dkZjRFV1RlSXFTMGd0UDgvSmJ4SQpLQXdMcDI5SlkvaFlzc3krWWhHdlpZazJsSHl2RHVyQ2Y4TE1VQ3JzQzNvTlVJVytkbjFTRVA5RUswRldDNHdBCnhEa1IvSVl5OGpmWkhTbGNPUTVZUTdtejZ4aXBLRFlhUWdLWlEyOFIrSTZteVQ0N3VjUnF1YW9DVFU2UzZTanQKbFJuS0ZSSTNSWkVCV3NOVkFzRGVkK1ZWNVlGQnVqdDQ2Y3pWOHNIZ2dvS0RyM3lEQ1ViRUdmOVpPQXFXbmg4SgpYd2YwUUg1Tm1yNG1NYzZqSHdNKzFCVDJWcW5FYmZsNGduNDI5b256TEFUdnNpWkVYd3hPbmdJUUR5Z3JUbDdlCjFkM3lXd0lEQVFBQm8xWXdWREFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RBWURWUjBUQVFIL0JBSXdBREFmQmdOVkhTTUVHREFXZ0JRNGw4TkQzUzQxNDNDNU1YQ1o4b3lXckpJcwpoREFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBbjNkdU1GU3o4TWFzM3Mwc3BENkZCMEF1QXJJZVNGZVErTGJRCmFLQ0l6U0cwdGhlcFhmcHpiZWxjZTNXMjA5UFd1S1BlclBkSHlxbUFtQTlRWDRDUWFzTEs0Y3J5SWVYblNCaSsKNXRHNEd3STVTZlZYa0FTZmgrVnh3eE5mRFgzWHNocWxyOHRmR2tMNFI1M2l3TEhJczh6Y09zZGxCcW9sWFdRSgpHMXllQnhIM3Fqd2l0R3V0bXhLVGs5YVdib0FlZHkxVE93b3FuMlVPWFllNmpubU83Ukw2WWdnSjNOMkFaT3NnCmVYcE1OSDJjbW1WOCtwem9PR2pxemdSd0ZlaW9kODBmUC9USUMxRXhwZnpJOFVNMVJ2OHN4ZXRtS21DamVsUXUKbXlKREhMNFRPK2ptWUFoVjRsenRPRmVhMWVROFFIUGRLdjhIbW45SzhtK2VCYlRBd2c9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBeVk4S1BrTS8yRkpwYUdJQlo0MWNtYWJWL0xMc21CbDMySnNqTkEwTi8waldGc0dZCjUrTXByWDlXWk9HR2RmNEVXVGVJcVMwZ3RQOC9KYnhJS0F3THAyOUpZL2hZc3N5K1loR3ZaWWsybEh5dkR1ckMKZjhMTVVDcnNDM29OVUlXK2RuMVNFUDlFSzBGV0M0d0F4RGtSL0lZeThqZlpIU2xjT1E1WVE3bXo2eGlwS0RZYQpRZ0taUTI4UitJNm15VDQ3dWNScXVhb0NUVTZTNlNqdGxSbktGUkkzUlpFQldzTlZBc0RlZCtWVjVZRkJ1anQ0CjZjelY4c0hnZ29LRHIzeURDVWJFR2Y5Wk9BcVduaDhKWHdmMFFINU5tcjRtTWM2akh3TSsxQlQyVnFuRWJmbDQKZ240MjlvbnpMQVR2c2laRVh3eE9uZ0lRRHlnclRsN2UxZDN5V3dJREFRQUJBb0lCQVFEQWRWY0FrTkk3eXFWZgp5SVV5emFab0NRZzNITm9SZWZBWDRqckJEdDRZcndIT0JObnVRZGlnRkFENG51ZjNicS9VU05TelJhWC9iZUpzCk05WnFkdVlCNEoraFY1ZktVdnBQUmpmR3FqaDFuSUREcTZKQXdFNjdGZUVDTEc3ZVBuYlpTVnk5WWlGRGRFV24KRE80R2I4QWU4ajFmVDdoK3dlbVBpWVQ2VmkzWUFxWjBaQ0swNVg0ZUU3OUNvT1lKNThnMHJoT0RWNlg4Mm9kKwp2L3RqcSs3R002T0JaeU1na1FaUTBJUFM5a2hIUUx2dUFNRnEyclFHTm5OaG1leEdzVjhDSnp5L3ozbHpwOUlDCk9qTzErSU4vcDY5MlhSM1Z5Q0ZmU1lXQjF3WkU0SGpycGhYY0hvL1RYNEhUZnAxRS9sRytYalJKbDc0RkVKUVUKTW1DemxsS0JBb0dCQVBtdnVwSWF5aVJDejZycWU4MWUzT1FRMFNVelVKZmhQUC9iTFFmUE5Gb1VOL1h5ZjlpLwpnRGJJbnZpM2c0bDQ3NUJ5enZRVGhQSnFYZWNyWHRMdFNUYktuK1RMdnlvK3VGQzhLcGJBT053ZUZHWlhTcUVVCmtvTFpRMzdVd1FKSDFmTzJKdjVTWW5aNUdRVHNVeGl0Q2tTbFJuT2pyM0xDNWQ0T24waTdEUXo3QW9HQkFNNm4KeFZmczdzSnZ4L0FYR1BWV01rNExZbHoxdHcwRVRBSGhRWnNYVU9VeTM5UUM4c1R2NlF5Zzh4WTdFVWplK3FiZQpaayt3a2dscEpHK1ZXVEVTTWZjbDNDb3VYWWphdTQ2LzNFbURxMGJOZTF2V1lLQ2VJWU9nVlluM3F1aXhuZy9RCnhjUEtXNkt6UytEc3ZOdVAvUjRxMUR4OVBVaytPWXJsUjgwZ252SWhBb0dCQU54MEU3NjhlSTNiajQvUXlNNWoKVzVUaVpFYjhMOFJwMG5uMUFxVktoV2FqUTJXY1h0VDVBRE5lbnozcWlmRHZIbFhqaUdab2RaR3o2SVVhL2ZZdQpHOTZNdVBCQ0ZOOHYwWDAzSmtORUpPLzBmdjU5UkI5RkVyY0ZMVnJtYmlPZFdZSjg2YURUREt5ZDcwRXhoNHpaCis1N3dibXZic2lVWmYrdTM3VnRDREJ2UkFvR0FJalFVYnBRUmhHNzUyWndKRG5vZ3cxZ1JCSy9LaDBZQnlvSGMKMk8ySC94ZG5nbkNtZTcvMWc1aVVBMGJ0ZW5FbGJUNzhFZzU0YlVSUXVvTXVpdmVtKzIveHU2MkczNkxNVGprbApIYW5FVEdpd0ZTZ3JRQXBNSTd3Q3pGNElsSkRwUjFiWGxLdEdkV3hWajdtL0hGdjltZU9lMHhBcmQ1YnI4VGczCnBSVFVHZUVDZ1lFQXBJdWtNV0hYV1h3OGxRd09IVHB3ZEhBc1pVOUUzM2txV0dtWUJsajNmUlJ2WlJieHNxRUMKZEJqWDd0eHdtcW9PL3pQbXN2anB0WnI1dDNKY05aSlZLcXFTZUJOR3J2dnE3M2drQ0RGZ3gweTU0SlpvalVOdwpNVHhWcVZIYjljZEsyTHo4bkVvZjRJd0VhZHlaTmpCWFI5ck9CcnlYcUp1aVkwNk5YSUdiSEhjPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=


---------------------------------------------------------------------

# Git bash에서 실행

# 경로 이동 C:\Users\shin\.kube
cd ~
mkdir .kube
cd .kube
pwd


# 파일 생성 후 붙여넣기 (아무 방식이나 상관없음)
code config  -> 비쥬얼 스튜디오
vi config   -> vim 편집기

IP를 control node의 IP로 수정
'''
server: https://192.168.56.11:6443
  name: cluster.local
contexts:
- context:
'''

# kubectl 동작확인, node정보가 잘 나오면 성공
kubectl get nodes

Amazon EKS 시작하기

Amazon EKS 시작하기
Amazon EKS에서 클러스터를 설치하기 위한 방식은 2가지가 있는데 우리는 밑의 방식을 사용할 것이다.
eksctl - The official CLI for Amazon EKS 소개

1 eksctl 설치(파워쉘에서 관리자 권한으로 실행 후 진행)

choco install eksctl

choco install awscli

choco install aws-iam-authenticator

choco install kubernetes-helm

2 AWS 계정으로 로그인 한 후, IAM 사용자에서 내 계정 이름에 들어간다. 그 후 보안자격 증명으로 들어가서 밑 액세스 키 만들기를 클릭한다.
CLI로 체크한 이후 액세스키를 만들고 만들었다면 .csv파일을 다운받아둔다.

3 git bash에서 명령으로 액세스한다. 다운 받은 파일에서 ID와 key 값을 확인해서 입력해주고 리전(ap-northeast-2)과 json은 디폴트로 놔두면 된다.

aws configure

4 클러스터 생성

eksctl create cluster --naem myeks --region ap-northeast-2

5 aws eks에서 들어가서보면 생성된 것을 확인 할 수 있다.(ec2, vpc 등 모든 것이 설치됨)

CloudFormation: 반드시 CREATE_COMPLETE가 되어있어야 함, 이를 통해서 배포한 것이다.

  • eksctl-myeks-cluster : 컨트롤 플랜, 템플릿을 보면 실제 사용한 코드들을 볼 수 있다.
  • eksctl-myeks-nodegroup-ng-fb98aaea: 워커노드를 만드는 템플릿

context 전환

내용을 확인해보면 클러스터가 추가되어있는 것을 확인 할 수 있다. 밑은 user또한 우리의 IAM 계정과 연결되어 있는 것을 볼 수 있다. 실제로 command: aws-iam-authenticator 명령을 통해서 인증을 하는 것이다.

kubectl config view

# 설치된 내용 확인
kubectl config get-cluster
kubectl config get-users

kubectx. kubens 등을 패키지도 따로 설치해서 사용할 수 있다.

# 현재 컨택스트의 노드 확인 -> 현재는 nrf 계정의 노드임
kubectl get nodes

# 사용가능한 컨택스트 확인
kubectl config get-contexts

# 컨택스트 전환
kubectl config use-context 컨택스트명

# 바뀐 컨택스트의 노드 확인 -> 기존 쿠버네티스의 노드임
kubectl get nodes

  • 다음 실습은 다른 클러스터로 사용할 것이기 때문에 현재 생성한 eks는 제거해준다.
eksctl delete cluster --name myeks

클러스터 설치 후 zsh 설정

eksctl-example.yaml 예시로 내용구성을 한번 확인해보면 좋을 것 같다.

vi myeks.yaml

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: myeks
  region: ap-northeast-2
  version: "1.24"  # 쿠버네티스 버전

# AZ,defulat로는 기본적으로 3개 랜덤 생성
availabilityZones: ["ap-northeast-2a", "ap-northeast-2b",  "ap-northeast-2c"]

# IAM OIDC & Service Account
iam:  # aws의 IAM 의미
  withOIDC: true
  serviceAccounts:  # SA계정만 생성
    - metadata:  # 인그레스용
        name: aws-load-balancer-controller
        namespace: kube-system
      wellKnownPolicies:
        awsLoadBalancerController: true   # 역할 세팅
    - metadata:  # 볼륨용
        name: ebs-csi-controller-sa
        namespace: kube-system
      wellKnownPolicies:
        ebsCSIController: true
    - metadata:  # CA용
        name: cluster-autoscaler
        namespace: kube-system
      wellKnownPolicies:
        autoScaler: true

# Managed Node Groups
managedNodeGroups:
  # On-Demand Instance
  - name: mynodes-t3
    instanceType: t3.medium
    minSize: 1
    desiredCapacity: 2
    maxSize: 3
    privateNetworking: true
    #ssh:
      #allow: true
      #publicKeyPath: ./keypair/myeks.pub
    availabilityZones: ["ap-northeast-2a", "ap-northeast-2b", "ap-northeast-2c"]
    iam:
      withAddonPolicies:
        autoScaler: true
        albIngress: true
        cloudWatch: true
        ebs: true

# Fargate Profiles
fargateProfiles:
  - name: myfg
    selectors:
    - namespace: dev
      labels:
        env: dev
        
# CloudWatch Logging
cloudWatch:
  clusterLogging:
    enableTypes: ["*"]    

Open ID Connection(OIDC): 쿠버네티스 계정은 사용자와 서비스 계정으로 2개가 있는데 사용자 계정의 경우 쿠버네티스 자체에 구현되어 있지 않다. 그래서 우리는 x509 표준으로 인증을 했었다. 외부의 인증을 연결해주는 표준방식을 말한다. 이를 true를 해줘야 aws의 IAM과 쿠버네티스가 연결이 된다.

1 myeks.yaml파일로 클러스터 생성

cd ~
git clone https://github.com/c1t1d0s7/goorm-8th-k8s.git
cd goorm-8th-k8s/manifests/14_eks/01_eksctl
eksctl create cluster -f myeks.yaml

2 zsh 설치
zsh 다운로드 링크
파일 모두 압축을 해제한 이후 etc 폴더와 usr 폴더를 C:\Program Files\Git 경로에 복사 붙여넣기 해준다. 이후 Git bash에 들어가 ps를 해보면 zsh이 실행중인 것을 확인 할 수 있다.
oh my zsh 다운로드 페이지

# 설정 파일 생성
vi ~/.bashrc

if [ -t 1 ]; then
  exec zsh
fi

# oh my zsh 설치
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

📢 이 순서대로 진행하면 zsh 설치가 가능하다.전체 설치 과정

3 zsh 사용하기 용이하게 설정하기
설정 과정 따라가기

  • Manual font installation에 있는 폰트 4가지 모두 다운로드 받고 컴퓨터에 설치를 해준다.
    폰트 다운로드

Nerd Font: 엔지니어를 위한 특수 폰트

  • git bash 우클릭-> 옵션-> text -> 폰트 -> 다운받은 MesloLGS NF(Nerd Font)로 설정
# Install Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# zsh의 설정파일
vi ~/.zshrc

11번째줄 수정
ZSH_THEME="powerlevel10k/powerlevel10k"


# 저장후 git bash를 껏다가 다시 켜면 새로운 화면이 나올 것이다.

마음에 드는 형태로 설정
y y y y 1(Unicode) 2(24시간) 2(two line) 2(Dotted) 2(left) 

2(white) 2(sparse) 2(many icon) 2(Fluent) y 1(verbose) y

p10k configure로 처음부터 다시 세팅가능

  • 플러그인 설정
vi ~/.zshrc

80번째 수정
plugins=(git kubectl kube-ps1 helm)

AWS에서 확인하기

eks에 접속해서 확인해보면 myeks가 만들어져 있을 것이다.
개요 -> OpenID Connection 공급자 URL: 이 주소는 aws의 IAM이다.


ec2 인스턴스 -> 네트워킹 -> 서브넷을 보면 SubnetPrivateAPNORTHEAST2C이라 나와있다.
이는 클러스터를 설치했을 때, managedNodeGroups에서 privateNetworking: true로 해서 프라이빗네트워크에 있는 것이다. 즉 인스턴스가 외부에 직접적으로 연결되어 있지 않다는 것을 알 수 있다.

  • 노드를 확인해보면 외부 IP(EXTERNAL-IP)가 none으로 되어있다. 외부용 IP가 없어 보안에 좋기 때문에 이렇게 설정한 것이다.
kubectl get nodes -o wide

auto Scaling 그룹 -> 사이즈를 확인하면 최소 1, 최대 3으로 되어있는데 이것도 파일에서 설정한 것이다.


IAM -> 역할 -> eksctl 검색을 진행하면 나오는 역할들이 서비스 계정을 생성했을때 설정되어있다.

# 네임스페이스 kube-system으로 바꾸기
kubectl config get-contexts
kubectl config set-context  nrf0017@myeks.ap-northeast-2.eksctl.io --namespace=kube-system

# SA 계정이 만들어져 있음
kubectl get sa aws-load-balancer-controller

# annotation이 부여되어있음
kubectl describe sa aws-load-balancer-controller

쿠버네티스 SA계정이랑 AWS IAM이 연결되어 있고, 여기나오는 Role이 SA 계정에 부여되어 있다는 것이다.

AWS EKS에서 기존과 달라지는 것

가용영역 -> pub, pri 서브넷이 각각 존재,

가용영역의 보안그룹에서 노드포트의 해당 영역(30000-302760)의 포트를 열어줘야한다.
로드 밸런스를 만들어보면 외부 IP가 안만들어지는 것을 볼 수 있다.

  • ec2가 프라이빗 네트워크에 있다고 해서 통신이 안되는 것이 아니라 LB를 통해 외부와 통신함으로 이 방식으로 하는 것이 보안에 좋다.
# LB타입 서비스를 하나 만들어준다.

# 외부 IP 주소 생성됨
kubectl get svc

# 프라이빗 네트워크지만 외부에서 접속을 하면 접속된다.
  • 기본적으로 생성되는 로드밸런스의 타입이 classic인 것이다. 하지만 우리는 서비스의 로드밸런스를 네트워크 로드밸런스를 사용해야한다. 이를 위해 애드온을 붙여야 한다. 인그레스도 실행도 실행 안된다.
    -> aws-load balancer controller를 설치해야 인그레스를 구현할 수 있고 또한 네트워크 로드밸런스도 사용할 수 있다.
  • PVC도 실행X(pending 상태, 볼륨을 만들지 못하기 때문에 아무것도 만들지 못함)
    -> EBS CSI Driver Provisioner를 설치해야 한다.

  • 매트릭 서버가 없기 때문에 hpa 또한 불가능하다.
    -> Metrics-Sercer를 설치해야 한다.

  • Cluster Autoscaler
  • Fargate Profile: k8s Serverless
  • AWS IAM 인증으로 인증을 하도록 구성해야한다.

위와 같은 차이들이 있기 때문에 온프레미스에서 사용했던 내용들을 AWS에서도 똑같이 사용할 수 있도록 구성해 나갈 것이다.

profile
전공 소개

0개의 댓글