2024/06/22 5

[Terraform] TroubleShooting

MFA 정책으로 인한 배포 불가ErrorUnauthorizedOperation - SCP 권한 없음 Cause리소스에 접근하기 전 Organizations SCP 정책인 MFA 인증을 받아야 하나, sts 토큰 인증을 받지 못하여 발생하는 문제 Solve토큰을 받아 설정하는 방식이 2 가지 (수동과 자동) 있다.필자는 자동을 권고한다. 이 글은 자동으로 쉘 스크립트를 작성하여 토큰을 받아 설정하였다.물론 토큰은 12시간동안만 유효하다. (수동) aws cli로 sts session token 발급하여 환경 변수 또는 aws configure에 등록 후 provider에 경로 지정aws sts get-session-token --profile default --serial-number ${mfa_arn} ..

AWS/Project 2024.06.22

[CI/CD] TroubleShooting

CI/CD 구성 중 발생하는 모든 TroubleShooting 항목을 정리해둔 페이지이다.  Unable to locate package kubelet, kubeadm, kubectl 에러Error  Solve명령어 잘못 쳐서 저렇게 뜨는 경우가 있다. 복붙 말고 직접 다시 입력해도 안된다면... 아래처럼 시도echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.listcurl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Rele..

AWS/Project 2024.06.22

[CI/CD] 환경 구성 - ECR(Elastic Container Registry) 구성

k8s 노드들을 배포할 때 사용할 이미지 저장소인 ECR을 생성한다.생성 후 k8s 노드들과 ecr 연동도 진행한다. ECR 생성 프라이빗 레포지토리를 생성한다.    ECR에 접근할 IAM 역할 생성이제 EC2가 ECR에 접근하기 위한 IAM 권한을 생성한다.AmazonEC2ContainerRegistryFullAccess 정책이 AWS 관리형으로 이미 생성되어있어, 이걸 인스턴스 프로파일에 연결해주었다.만약 레파지토리를 Public으로 만들었을 경우, AmazonEC2ContainerRegistryPublicFullAccess 으로 추가해야한다!그럼 aws configure을 설정하지 않아도 ECR에 접근이 된다.     K8S(EC2)와 ECR 연동생성한 ECR에 들어가서 푸시 명령 보기를 누른다...

AWS/Project 2024.06.22

[CI/CD] 환경 구성 - EC2(K8S Master / Worker) 구성

참고 블로그: https://www.skyer9.pe.kr/wordpress/?p=8209k8s Master Node, Worker Node 생성 시스템 업데이트sudo apt updatesudo sed -i "/#\$nrconf{restart} = 'i';/s/.*/\$nrconf{restart} = 'a';/" /etc/needrestart/needrestart.confsudo apt -y upgrade Swap off AWS EC2 인스턴스는 default로 swap을 disable 하여 필요 없다. 선택사항!sudo swapoff -a && sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab방화벽 offsudo ufw disable커널 파라미터 수정sudo ..

AWS/Project 2024.06.22

[CI/CD] 환경 구성 - EC2(Jenkins, GitLab) 설치

참고 블로그: https://rainbound.tistory.com/entry/Ubuntu-jenkins-%EC%84%A4%EC%B9%98  이번 실습은 CI/CD 구축을 위해 실습 환경을 구성한다.EC2 2대에 Jenkins와 GitLab을 설치한다.OS는 ubuntu 24.04이다.1. Jenkins 설치 시스템 업데이트sudo apt updatesudo apt upgrade -y  java 11 설치sudo apt install openjdk-11-jdk -y  key 등록curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \    /usr/share/keyrings/jenkins-keyring.asc > /dev/null..

AWS/Project 2024.06.22