본문 바로가기
Jenkins

[Jenkins] Kubernetes 연동

by 알 수 없는 사용자 2023. 8. 7.
반응형

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