helm repo add runatlantis https://runatlantis.github.io/helm-charts
helm inspect values runatlantis/atlantis > values.yaml
vi values.yaml
# 10 라인 수정
orgAllowlist : ${자기 설치형 깃랩 도메인주소}
# 35 아래내용 알맞게 넣기
gitlab:
user:
token:
secret:
hostname:
# 180
basicAuth:
내용 수정
# 243
ingress를 alb controller에 맞게 수정
해당 내용 eks 테라폼 구축에 alb파트 참고
# 353
serviceAccount:에 annotations에 eks.amazonaws.com/role-arn 넣기, oidc설정 필요! 잘 모르겠으면 밑에 오류 모음에 예시 적어둠! 값 찾아서 넣어주세용!
helm install atlantis runatlantis/atlantis -f values.yaml -n atlantis
이제 접속이 가능하게 되었다... 앞으로도 얼마나 더 많은 시련이 있을가...
요렇게 웹훅이 파이프라인이 돌아가게 되고
저렇게 atlantis가 코멘트를 달아준다..!
펼쳐 볼수도 있음!
마지막으로 내가 apply 코멘트를 달게되면 자동으로 atlantis가 배포를 해주게 된다~!
위와 이력을 남길수있게되고,
merge request후 승인 받는것도 추가할수있다.
또한, 테라폼 코드를 cicd로 팀내 공유가 된다
특히 lock 관리가 너무 좋아서 정말 편한거 같다..!!!!
이렇게 락 관리 코멘트도 달아줌!
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::${자신계정}:oidc-provider/oidc.eks.${자신리전}.amazonaws.com/id/${EKS OpenID Connect provider 마지막 자리}"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"oidc.eks.${자신리전}.amazonaws.com/id/${EKS OpenID Connect provider 마지막 자리}:aud": "sts.amazonaws.com",
"oidc.eks.${자신리전}.amazonaws.com/id/${EKS OpenID Connect provider 마지막 자리}:sub": "system:serviceaccount:${네임스페이스}:${아틀란티스계정이름}"
}
}
}
]
}
아래의 ebs-csi-driver추가 및 oidc생성
module "ebs_csi_driver_irsa_role" {
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
role_name = "${local.name}-ebs_csi_driver-role"
policy_name_prefix = "devops-eks-"
attach_ebs_csi_policy = true
oidc_providers = {
main = {
provider_arn = module.eks.oidc_provider_arn
namespace_service_accounts = ["kube-system:ebs-csi-controller-sa"]
}
}
tags = local.tags
}
공식문서
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/csi-iam-role.html
저렇게 계속 웹훅등록하는데 오류가 생겼는데, 공식문서를 참고해보니까, 저기에서 generated > 24캐릭터로 되어있담... 지켜줘야함...! 또한 "알파벳으로" 넣어야되는 것 같다.
특문섞고 이러니까 안되더라..!
뎁옵스터디 분덜.. 항상 감사합니당 :)
눈 저거 뭐야!!!!