Terraform Cloud - 1 : 중복 이슈 해결하기

kyungbin kim·2024년 3월 6일
0

SESAC Final Project

목록 보기
6/11
post-custom-banner

Both kinds of resources take arguments and export attributes for use in configuration, but while managed resources cause Terraform to create, update, and delete infrastructure objects, data resources cause Terraform only to read objects.

Each data source in turn belongs to a provider, which is a plugin for Terraform that offers a collection of resource types and data sources that most often belong to a single cloud or on-premises infrastructure platform.
https://developer.hashicorp.com/terraform/language/data-sources


Cross Account Multi Cluster

1. 기본 환경 구축

<출처>

1) OIDC 인증서

canada-eks 는 이미 코드에 OIDC 인증서가 포함되어 있었음

2) us-east-1 region, 다른 계정의virginia-eks 생성

3) canada-eks의 argocd 삭제

kubectl delete all --all -n argocd

4) seoul-eks 생성(예은, 콘솔로 진행)

2. seoul-eks 운영

1) seoul-eks의 kubectl 연결

aws configure
aws s3 ls  # 로그인 확인

aws eks update-kubeconfig --region ap-northeast-2 --name seoul-eks --alias seoul-eks
kubectl get node

2) argocd 설치 및 연결

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.3.4/manifests/install.yaml


aws configure # 석구님 로그인
cat $HOME/.aws/config
cat $HOME/.aws/credentials

terraform init
# 멘토님 terraform cloud workspace로 연동되어 코드 수정
vi terraform.tf

terraform init

  • 테라폼 워크스페이스가 변경될 때 반드시 terraform init을 실행하여 working directory를 변경해주어야 한다.
terraform plan
terraform apply # ui로 진행


young 디렉 / young : seoul-eks 연결

kubectl get node

kubectl get ns

kubectl get all -n argocd

  • 서비스 접속
    k8s-argocd-argocdse-a30e9a5a79-24afc7ad5763224c.elb.ap-northeast-2.amazonaws.com

비밀번호 확인

kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
# 30szqCwEIJ5isN1-



  • repo 추가

  • 이미지 가져오기
    ecr

  • 서비스 yaml 작성

  • new app 생성


  • CD 이전

  • sync 맞추기


    성공

  • cli로 확인

  • k-food-add 서비스 접속
    k8s-default-svckfood-791c13053f-3cbfd99bdb2ce05e.elb.ap-northeast-2.amazonaws.com
    안됨

  • latest 버전으로 수정

  • container port 80 으로 수정

4sxjUAuJFKkxKNYO

# aws eks list-clusters




3evC0Ta2GqjyYOj1



 kubectl delete pod --all




kubectl delete all --all
















post-custom-banner

0개의 댓글