Jenkins Kubernetes Plugin 작동 방식에 관한 질문이 있습니다. 환경을 설정하기 위해 Google 클라우드, 젠킨스, 조타 장치 및 kubernetes를 사용하고 있습니다. 이 지침을 사용하여 kubernetes에서 jenkins를 설정했습니다.
https://cloud.google.com/solutions/jenkins -on-kubernetes-engine-tutorial
헬름 파일을 통한이 튜토리얼에서 슬레이브는 최대 1 개의 CPU 및 512MI로 500mCPU 및 256Mi 메모리를 사용합니다. 그런 다음 Kubernetes jenkins 플러그인을 사용합니다. 기본적으로 내 kubernetes 풀 또는 노드에서 사용 가능한 리소스를 사용하여 jenkins에서 작업을 실행하는 에이전트를 만듭니다.
내 문제는 다음과 같습니다. 튜토리얼에서 사용 가능한 풀은 2 개의 노드가있는 2 개의 노드이며 각각 7.5GB입니다. 이러한 리소스 중 일부는 서버를 실행하기 위해 jenkins가 사용합니다. 즉, 모든 리소스를 사용할 수는 없습니다. Jenkins 서버에서 "Concurrency Limit"필드를 20으로 변경했는데 20 개의 실행기를 실행하여 동시에 20 개의 실행 프로그램을 작성하여 작업에 사용했지만 8 개만 작성하여 사용했습니다. 다른 사람들은 오프라인 상태이며 일시 중단되었습니다. 클러스터에 더 많은 실행기를 만들 수있는 충분한 리소스가 없기 때문에 8 개만 생성 된 것 같습니다. 그런 다음 일부 작업이 완료되고 실행 프로그램이 종료되면 실행 프로그램을 실행할 수있었습니다. 이제 내 질문은20 개의 작업을 실행하는 경우 동시성 한도에 도달하기 위해 더 많은 리소스 (포드, 노드 또는 기타 무엇이든)를 추가하는 방법이 있습니까? 내 동시성 한도에 도달하고 어떤 작업도 기다릴 필요가 없습니까?일부 실행 프로그램은 많은 CPU 전력을 필요로하지 않을 수도 있지만 (100mCPU와 같을 수 있음) 1CPU를 요구할 수있는 다른 CPU가있을 수 있으므로이를 수행하고 싶습니다 클러스터 구성이 완료되면 한 번에 MAYBE 1 작업을 실행할 수 있으며 20 개의 작업을 모두 실행하는 데 시간이 오래 걸립니다. 더 많은 노드 또는 포드를 만들어서 클러스터의 크기를 조정할 수 있다면 삭제하면 동적이면서도 쉽게 확장 할 수 있습니다. 누구든지 이것을 달성하는 방법에 대한 조언이 있습니까? 감사합니다
- 답변 # 1
관련 자료
- Jenkins kubernetes 플러그인으로 포드 정의를 템플릿으로 만들려면 어떻게해야합니까?
- kubernetes client-go plugin exec 명령을 Windows 10에서 찾을 수 없음
- docker - 여러 빌드 실행기가있는 kubernetes 동적 젠킨스 슬레이브
- google cloud platform - Kubernetes GCP Influxdb가 관리자 계정을 만들지 않음
- 젠킨스 DSL 그루비 작업에 Xebialas Deployit 플러그인 통합
- 자바 - one-jar maven 플러그인 리소스
- intellij idea - 간단한 플러그인을 만들 때 아이콘을 찾을 수 없습니다
- groovy - Jenkins 플러그인의 CSS 속성을 재정의하는 방법
- maven - 노드 및 노드 종속성을 포함한 Jenkins 플러그인?
- terraform - API Gateway 리소스 내에 다양한 수의 메서드 및 리소스 만들기
- 선언 파이프 라인의 Kubernetes 포드 에이전트 템플릿에서 Jenkins 비밀을 imagePullSecret으로 사용할 수 있습니까?
- go - 돌연변이 승인 컨트롤러 내에서 새로운 Kubernetes 객체 생성
- java - 2 개의 REST 자원 간 관계 작성
- jenkins에서 데스크탑 용 kubernetes 도커에 액세스
- maven ear 플러그인 - 생성 된 자원 추가
- perforce - Jenkins P4 플러그인 파일 동기화
- 매우 쉬운 Jenkins 파이프 라인의 파이프 라인 플러그인 오류
- Jenkins에서 Team Foundation Server 플러그인을 사용할 수 없습니다
- Kubernetes Controller는 동일한 컨트롤러 객체로 소유자 참조가있는 리소스 레지스터의 이벤트를 감지 할 수 없습니다
- Jenkins 용 Mattermost 플러그인이 작동하지 않습니다
- kubernetes에서 실행되지 않는 jenkins 노예
- Jenkins "Pipeline Stage View"플러그인은 암호를 마스킹하지 않습니다.
- jenkins - http : //localhost : 8080 /tcpSlaveAgentListener /연결 실패 : 연결 거부 (연결 거부)
- java - Jenkins 2.279 (2.263.3)는 "요청 된 대상에 대한 유효한 인증 경로를 찾을 수 없습니다"플러그인을 설치할 수 없습니다.
- 빌드가 시작되기 전에 실행될 글로벌 Jenkins 스크립트
- jenkins - 작업이 끝날 때까지 기다리지 않고 파일 매개 변수로 다운 스트림 빌드 트리거
- Jenkins-슬레이브 포드의 호스트 볼륨 매핑 문제
- 파이프 라인 groovy 스크립트를 사용하여 @으로 사용자 이름과 비밀번호를 올바르게 확인하는 Jenkins Credential 플러그인
- bash - Jenkins에서 작업으로 스크립트 작성 오류
- jenkins - 다중 분기 파이프 라인 작업에서 분기별로 상태 메트릭 제한
Google Cloud를 사용하고 있으므로 기존 노드 풀을 편집하여 자동 확장을 활성화 할 수 있습니다.
와이즈 비즈즉, 필요할 때 워크로드에 대한 리소스 요구를 충족시키기 위해 노드 풀에 더 많은 노드가 추가됩니다.
또는 노드에 충분한 공간이있는 경우 수평 포드 자동 크기 조정을 사용하여 포드 수를 늘릴 수 있습니다.
와이즈 비즈포드 리소스 사용량 측정 항목을 기반으로 노드 대신 더 많은 포드를 만듭니다.