ㅡ.ㅡ

[Gitlab] Gitlab - K8S 연동 본문

WorkFlow

[Gitlab] Gitlab - K8S 연동

ekwkqk12 2021. 9. 19. 12:35

gitlab과 K8S를 연동하여 CI/CD 환경을 구성하여 준다.

sa&rabc 생성

gitlab에서 k8s 리소스를 제어하기위해 계정과 권한을 추가해준다.
kubectl get sa -n kube-system | grep gitlab-admin

생성 확인 명령어 : ktl get sa -n kube-system | grep gitlab-admin

apiVersion: v1
kind: ServiceAccount
metadata:
  name: gitlab-admin
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: gitlab-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: gitlab-admin
  namespace: kube-system

환경 범위

gitlab에 멀티 K8S를 연동 시 식별 값으로 앱을 배포 시 네임스페이스, 모니터링에 사용된다.

Ex) k8s-exam-cluster

K8S Cluster API

kubectl config view --raw -o=jsonpath='{.clusters[0].cluster.server}'

CA 인증서

kubectl config view --raw -o=jsonpath='{.clusters[0].cluster.certificate-authority-data}' | base64 --decode

gitlab-admin token

GITLAB_SECRET=$(kubectl -n kube-system get secret | grep gitlab-admin-token | awk '{print $1}')
GITLAB_TOKEN=$(kubectl -n kube-system get secret $GITLAB_SECRET -o jsonpath='{.data.token}' | base64 --decode)
echo $GITLAB_TOKEN

'WorkFlow' 카테고리의 다른 글

[Gitlab] CD/Kubectl  (0) 2021.09.25
[Gitlab] CI/ECR  (3) 2021.09.20
[Gitlab] CI/GitLab Container Registry  (0) 2021.09.20
[Gitlab] Gitlab Runner 연동  (0) 2021.09.19
[Gitlab] Gitlab  (0) 2021.09.18