Atlantis helm 배포

문학적인유사성·2023년 6월 26일
0

뎁옵깃옵쿠베

목록 보기
27/46
post-thumbnail

아틀란티스 공식문서

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

접속 테스트

이제 접속이 가능하게 되었다... 앞으로도 얼마나 더 많은 시련이 있을가...


웹훅 등록

  1. url에 https://${url}/events
  2. trigger에 push events, comments, merge request events 클릭
  3. ssl verification 클릭

결과 확인

결과

요렇게 웹훅이 파이프라인이 돌아가게 되고

저렇게 atlantis가 코멘트를 달아준다..!

펼쳐 볼수도 있음!

마지막으로 내가 apply 코멘트를 달게되면 자동으로 atlantis가 배포를 해주게 된다~!

장점

위와 이력을 남길수있게되고,
merge request후 승인 받는것도 추가할수있다.
또한, 테라폼 코드를 cicd로 팀내 공유가 된다
특히 lock 관리가 너무 좋아서 정말 편한거 같다..!!!!

이렇게 락 관리 코멘트도 달아줌!


오류 모음

atlantis 롤 생성 신뢰관계 오류

{
    "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 sa오류 / sts:AssumeRoleWithWebIdentity

아래의 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
}

no vaild providers 스택오버플로우

아틀란티스-테라폼 iam롤 관련 구성

참고 블로그

공식문서
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/csi-iam-role.html

Response 400 Unauthorized & did not match expected secret

저렇게 계속 웹훅등록하는데 오류가 생겼는데, 공식문서를 참고해보니까, 저기에서 generated > 24캐릭터로 되어있담... 지켜줘야함...! 또한 "알파벳으로" 넣어야되는 것 같다.
특문섞고 이러니까 안되더라..!

웹훅 등록시 필수 값 /events를 붙어야한다!!!


참고 블로그

깃랩 엑세스토큰

뎁옵스터디 분덜.. 항상 감사합니당 :)


최신버전...너무 귀엽다...

눈 저거 뭐야!!!!

0개의 댓글