반응형
Jenkins - K8S 연동
쿠버네티스에서 쿠버네티스를 연동해보자.
쿠버네티스 사전셋팅
- namespace 만들기
kubectl create namespace jenkins
- serviceaccount 만들기
kubectl create serviceaccount jenkins --namespace=jenkins
kubernetes v1.20 버전이후로는 service account token이 보안패치로 인하여 자동생성이 되지않는다.
그래서 토큰을 직접 생성하여 serviceaccount에 마운트해주어야 한다.
jenkinstoken.yaml
apiVersion: v1 kind: Secret metadata: name: jenkins annotations: kubernetes.io/service-account.name: jenkins type: kubernetes.io/service-account-token
token mount
kubectl apply -n jenkins -f jenkinstoken.yaml
토큰 마운트 확인하기
kubectl describe serviceaccounts -n jenkins jenkins
serviceaccount 권한 부여
kubectl create rolebinding jenkins-admin-binding --clusterrole=admin --serviceaccount=jenkins:jenkins -n jenkins
hash 값 복사하기
kubectl describe secret $(kubectl describe serviceaccount jenkins --namespace=jenkins | grep Token | awk '{print $2}') --namespace=jenkins
Jenkins 연결
대쉬보드 -> jenkins 관리 -> manage credential -> add -> secret text로 둔 후 위에 복사한 hash값을 붙여넣는다.
대쉬보드 -> jenkins 관리 -> 노드 관리 -> Configure Clouds -> add kubernetes cloud 를 진행한다
- 사전에 Plugin에서 Kubernetes를 설치해주어야 한다.
Kubernetes URL에는 본인 쿠버네티스 API endpoint의 주소를 써준다. namespaced와 나머지를 맞춰준후 테스트를 진행한다.
반응형
'Jenkins' 카테고리의 다른 글
[Jenkins] Jenkins를 Docker로 실행하기 (0) | 2023.08.05 |
---|