티스토리 뷰
CLOUD/CICD
[CI/CD] GitLab CI/CD 구축하기(1) - Gitlab Dashboard에서 GUI 환경으로 쿠버네티스 클러스터와 연동
헐리 2021. 7. 7. 10:27새로운 빈 프로젝트 생성
Kubernetes 클러스터와 연결
메뉴바 -> [Infrastructure] -> [Kubernetes clusters] -> [Connect existing cluster]
Kuberbetes cluster name
kubectl get nodes -o wide
cmd에 다음과 같은 명령어를 입력하여 cluster의 이름을 얻는다
Environment scope
Gitlab Docs<Environment scopes>
Project | * | Project |
Staging | staging/* | Project |
Production | production/* | Project |
Test | test | Group |
Development | * | Group |
API URL
kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'
CA Certificates
kubectl get secret <secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
PEM 포맷으로 입력해야하기 때문에 -----BEGIN CERTIFICATE----- 부터 -----END CERTIFICATE-----까지도 붙여 넣야한다
<secret name>은 kubectl get secret 에서 default-token-xxxxx 의 secret name을 사용한다
Service Token
서비스 토큰을 얻기 위해서는 깃랩에서 사용할 서비스 Account를 생성해야 한다
그래서 다음과 같은 yaml을 만들고 적용한다
apiVersion: v1
kind: ServiceAccount
metadata:
name: gitlab
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: gitlab-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: gitlab
namespace: kube-system
Cluster에 적용
kubectl apply -f <방금 만든 yaml파일 이름>.yaml
그런다음 다음과 같은 명령어를 입력하면 service token 을 얻을 수 있다
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab | awk '{print $1}')
참고: https://docs.gitlab.com/ee/user/project/clusters/add_existing_cluster.html
'CLOUD > CICD' 카테고리의 다른 글
[CI/CD] GitLab CI/CD 구축하기(3) - GitLab Kubernetes Agent 방법 사용하기 (0) | 2021.07.07 |
---|---|
[CI/CD] GitLab CI/CD 구축하기(2) - helm 설치 Istio위에 Knative 구성 (0) | 2021.07.07 |
[Gitlab] 원격저장소와 로컬컴퓨터 동기화하기 (0) | 2021.07.06 |
gitlab 삭제하는 명령어 및 관련 디렉토리 (0) | 2021.07.06 |
gitlab 설치시SSL configuration (Lets encrypt ::: The ACME server can not issue a certificate for an IP address) + CloudFlare (0) | 2021.07.06 |