Study/seSAC 금천 4기

이노그리드 특강_CI/CD_241023

지찬씌 2024. 10. 31. 19:35

전날 생성한 Ingress에 플로팅 IP 설정

 

 

 

싱글 클러스터 컨테이너 플랫폼 포털 배포

 

 

- 작업 디렉터리 생성

 

 

 

 

- 컨테이너 플랫폼 포털 배포 Deployment 파일 다운 및 압축 해제

 

 

- 컨테이너 플랫폼 포털 변수 정의

=> control plane 플로팅 IP 마스터 노드 IP에 입력

=> IaaS Type 4(NHN)으로 수정

=> Host 도메인에 ingress의 플로팅 IP 입력

=> Provider Type은 standalone

 

 

 

 

 

 

- 컨테이너 플랫폼 포털 배포 스크립트 실행

 

=> 스크립트 실행이 실패하여 다시 다운받기 위해서는 uninstall 후 진행하고 다시 스크립트 실행

 

 

 

 

 

- 포털 관련 리소스 정상적으로 배포되었는지 확인

=> Vault Pod, Harbor Pod, MariaDB Pod, Keycloak Pod, 컨테이너 플랫폼 포털 Pod 확인

 

 

 

 

-포털 접속 확인

 

 

 

 

 

 

 

컨테이너 플랫폼 파이프라인 설치 (포털 배포 우선되어야 함.)

 

 

- 컨테이너 플랫폼 파이프라인 Deployment 파일 설치 및 tar 파일 압축 해제

(포털 배포하며 만든 디렉터리 사용 => ./workspace/container-platform) 

 

 

 

- 파이프라인 변수 정의

=> 마스터 노드의 플로팅 IP 추가

=> 호스트 도메인(인그레스)의 플로팅 IP 추가

=> Provider Type은 standalone

=> 다른 설정은 디폴트

 

 

 

- 파이프라인 배포 스크립트 권한 설정 및 실행

 

 

 

 

- 설치 완료 후 파이프라인 리소스 조회

 

 

 

 

- 파이프라인 접속

 

 

 

 

 

 

 

 

 

Source Controler 설치 (포털 배포 우선되어야 함.)

 

- 컨테이너 플랫폼 소스 컨트롤 Deployment 파일 설치 & tar 파일 압축 해제 => cp-source-control-deployment-v1.5.1.tar.gz

(포털 배포하며 만든 디렉터리 사용 => ./workspace/container-platform) 

 

 

 

- 소스 컨트롤 변수 정의 (파이프라인 환경 변수 설정과 동일)

=> 마스터 노드의 플로팅 IP 추가

=> 호스트 도메인(인그레스)의 플로팅 IP 추가

=> Provider Type은 standalone

=> 다른 설정은 디폴트

 

 

 

 

 

- 소스 컨트롤 배포 스크립트 실행

 

 

 

 

- 소스 컨트롤 리소스 조회

 

 

 

 

 

- 소스 컨트롤 접속

 

 

 

 

 

 

실습. 간단한 CI/CD 파이프라인 작업 (Spring-music App 구성 배포)

 

 

1. 배포 job 생성

- 신규 생성

=> 파이프라인 명 : spring-music

 

=> spring music 클릭하여 배포 job 추가

 

=> 빌더 : gradle (spring music의 빌더 타입은 gradle이다.)

=> 컨테이너 유형 : kubernetes

=> 형상관리 정보 : github에서 가져오기 떄문에 github 선택하고 레파지터리 URL 복사 + 붙여넣기

 

 

 

 

2. 품질 게이트 생성

 

 

 

 

 

 

 

 

3. 정적분석 job 추가

 

 

- 생성한 품질 게이트와 연결하고 저장

 

 

 

 

 

 

 

 

4. Test job 생성

 

 

- 추가 버튼

=> 작업 유형 JUnit-Test 설정

 

 

 

 

5. 파이프라인 설정 (kube config 등록)

=> 마스터노드(control plane) 콘솔에서 설치한 kubeconfig 내용을 입력

 

 

 

 

 

6. Deploy 배포 등록

 

 

=> namespace : default 로 수정

=> replicas : 3으로 수정

=> container;ports : 8080으로 수정

=> Service.yaml 내용도 namespace와 container;ports 수정

 

 

 

 

 

7. 배포 시작

 

- 빌드 job의 시작 버튼 클릭

=> 배포 완료 확인

 

 

 

 

 

8. 배포된 사이트 접속

 

- spring-music의 service port 확인 : 30810

 

 

 

 

- 사이트 접속. 주소: http://{마스터노드 플로팅 IP 주소}:30810

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Yaml을 활용한 리소스 배포

 

1. Yaml 파일 작성

 

 

 

 

 

 

 

 

 

2. 디플로이먼트 배포

- namespace default로 설정하여 작성한 yaml 내용 입력 후 배포

 

 

 

 

 

 

 

 

 

 

3. 디플로이먼트와 동일한 방법으로 서비스 배포

 

 

 

 

 

 

 

 

 

 

 

 

4. 3번과 동일한 방법으로 인그레스 서비스 배포

 

 

 

 

 

 

5. 배포 확인

 

 

 

 

 

 

 

Kubernetes CLI를 활용한 리소스 배포

 

 

예제1. 파드를 생성하여 배포

 

1. namespace 생성 및 nginx 이미지를 사용한 파드 생성

 

 

 

2. 생성한 파드 조회

=> describe 명령어를 통해 상세 정보를 확인할 수 있다.

 

 

 

3. 생성한 파드에 서비스를 붙여 노출

=> 동일하게 describe 명령어를 통해 상세정보를 확인할 수 있다.

 

 

 

 

 

 

 

 

예제2. 디플로이먼트 배포

 

1. 디플로이먼트 생성 및 조회

 

 

 

 

2. 생성한 디플로이먼트에 서비스 노출 후 확인

 

 

 

 

 

3. edit 명령어를 사용해 replicas의 숫자 변경

 

 

 

4. replicas 숫자 변경 후 pod 개수 확인

 

=> kpaas-ningx2의 파드가 4개에서 3개로 개수가 변경된 것을 확인

 

 

 

 

 

 

 

 

예제3. vim 을 통한 yaml 파일 작성으로 deployment 생성

 

1. Deployment을 생성하기 위한 kpaas.yaml 파일 생성

 

 

 

 

 

2. Deployment 생성 및 리소스 확인

 

 

 

 

 

 

 

 

 

'Study > seSAC 금천 4기' 카테고리의 다른 글

클라우드_7일차_241014  (0) 2024.10.31
클라우드_6일차_241011  (1) 2024.10.31
AWS 특강_241028  (0) 2024.10.28
DevOps/Scrum 특강_241024~241025  (1) 2024.10.25
이노그리드 CI/CD 특강_241022  (0) 2024.10.23