2.4. 다음 단계
2.4.1. 개발자의 경우
OpenShift Container Platform을 사용하여 컨테이너화된 애플리케이션을 개발하고 배포합니다. OpenShift Container Platform은 컨테이너화된 애플리케이션을 개발하고 배포하기 위한 플랫폼입니다. OpenShift Container Platform 설명서는 다음을 지원합니다.
- OpenShift Container Platform 개발 이해: 간단한 컨테이너에서 고급 Kubernetes 배포 및 Operator에 이르기까지 다양한 유형의 컨테이너화된 애플리케이션을 알아봅니다.
-
프로젝트 작업: OpenShift Container Platform 웹 콘솔 또는 OpenShift CLI (
oc
)에서 프로젝트를 생성하여 개발 중인 소프트웨어를 구성하고 공유합니다. - 애플리케이션 작업:
OpenShift Container Platform 웹 콘솔 의 개발자 화면을 사용하여 애플리케이션을 생성하고 배포합니다.
토폴로지 보기를 사용하여 애플리케이션 모니터링, 상태 모니터링, 연결 및 그룹 구성 요소를 확인하고 코드 기반을 수정합니다.
-
개발자 CLI 툴(
odo
) 사용:odo
CLI 툴을 사용하면 개발자가 단일 또는 다중 구성 요소 애플리케이션을 생성하고 배포, 빌드 및 서비스 경로 구성을 자동화할 수 있습니다. 복잡한 Kubernetes 및 OpenShift Container Platform 개념을 추상화하여 애플리케이션 개발에 집중할 수 있습니다. - CI/CD Pipelines 생성: Pipeline은 서버리스, 클라우드 네이티브, 연속 통합 및 격리된 컨테이너에서 실행되는 연속 배포 시스템입니다. 표준 Tekton 사용자 지정 리소스를 사용하여 배포를 자동화하고 마이크로서비스 기반 아키텍처에서 작업하는 분산된 팀을 위해 설계되었습니다.
- Helm 차트 배포:Helm 3 은 개발자가 Kubernetes에서 애플리케이션 패키지를 정의, 설치 및 업데이트할 수 있도록 하는 패키지 관리자입니다. Helm 차트는 Helm CLI를 사용하여 배포할 수 있는 애플리케이션을 설명하는 패키징 형식입니다.
- 이미지 빌드 이해: 다양한 종류의 소스 자료(Git 리포지토리, 로컬 바이너리 입력 및 외부 아티팩트)를 포함할 수 있는 다양한 빌드 전략(Docker, S2I, 사용자 지정 및 파이프라인)에서 선택합니다. 그런 다음 기본 빌드에서 고급 빌드로 빌드 유형 예제를 따릅니다.
- 컨테이너 이미지 생성: 컨테이너 이미지는 OpenShift Container Platform (및 Kubernetes) 애플리케이션에서 가장 기본적인 빌딩 블록입니다. 이미지 스트림을 정의하면 개발을 계속할 때 이미지의 여러 버전을 한 곳에 수집할 수 있습니다. S2I 컨테이너를 사용하면 Ruby, Node.js 또는 Python과 같은 특정 유형의 코드를 실행하도록 설정된 기본 컨테이너에 소스 코드를 삽입할 수 있습니다.
-
배포 생성:
Deployment
및DeploymentConfig
오브젝트를 사용하여 애플리케이션에 대한 세분화된 관리를 제공합니다. 워크로드 페이지 또는 OpenShift CLI(oc
)를 사용하여 배포를 관리합니다. 롤링, 재현 및 사용자 정의 배포 전략에 대해 알아보십시오. - 템플릿 생성: 기존 템플릿을 사용하거나 애플리케이션 빌드 또는 배포 방법을 설명하는 자체 템플릿을 만듭니다. 템플릿은 이미지를 설명, 매개변수, 복제본, 노출된 포트 및 애플리케이션 실행 또는 구축 방법을 정의하는 기타 콘텐츠와 결합할 수 있습니다.
- Operator 이해: Operator는 OpenShift Container Platform 4.11용 클러스터 기반 애플리케이션을 생성하는 기본 방법입니다. Operator 프레임워크 및 설치된 Operator를 사용하여 프로젝트에 애플리케이션을 배포하는 방법을 알아봅니다.
- Operator 개발: Operator는 OpenShift Container Platform 4.11용 클러스터 기반 애플리케이션을 생성하는 기본 방법입니다. Operator를 빌드, 테스트 및 배포하기 위한 워크플로를 알아봅니다. 그런 다음 Ansible 또는 Helm 을 기반으로 자체 Operator를 생성하거나 Operator SDK를 사용하여 기본 제공 Prometheus 모니터링을 구성합니다.
- REST API 참조: OpenShift Container Platform 애플리케이션 프로그래밍 인터페이스 엔드포인트에 대해 알아봅니다.
2.4.2. 관리자의 경우
- OpenShift Container Platform 관리 이해: OpenShift Container Platform 4.11 컨트롤 플레인의 구성 요소에 대해 알아봅니다. Machine API 및 Operator를 통해 OpenShift Container Platform 컨트롤 플레인 및 작업자 노드를 관리하고 업데이트하는 방법을 확인하십시오.
- 사용자 및 그룹 관리: 클러스터를 사용하거나 수정할 수 있는 다양한 수준의 권한이 있는 사용자 및 그룹을 추가합니다.
- 인증 관리: OpenShift Container Platform에서 사용자, 그룹 및 API 인증이 작동하는 방식을 알아봅니다. OpenShift Container Platform은 여러 ID 공급자를 지원합니다.
- 네트워킹 관리: OpenShift Container Platform의 클러스터 네트워크는 CNO( Cluster Network Operator )에서 관리합니다. CNO는 kube-proxy의 iptables 규칙을 사용하여 해당 노드에서 실행 중인 노드와 Pod 간에 트래픽을 전달합니다. Multus 컨테이너 네트워크 인터페이스는 여러 네트워크 인터페이스를 pod에 연결하는 기능을 추가합니다. 네트워크 정책 기능을 사용하여 Pod를 분리하거나 선택한 트래픽을 허용할 수 있습니다.
- 스토리지 관리: OpenShift Container Platform을 사용하면 클러스터 관리자가 영구 스토리지를 구성할 수 있습니다.
- Operator 관리: Red Hat, ISV 및 커뮤니티 Operator 목록을 클러스터 관리자가 검토하고 클러스터에 설치할 수 있습니다. 클러스터를 설치한 후 클러스터에서 Operator를 실행, 업그레이드, 백업 또는 관리할 수 있습니다.
- CRD(사용자 정의 리소스 정의)를 사용하여 클러스터를 수정: Operator와 함께 구현된 클러스터 기능은 CRD를 사용하여 수정할 수 있습니다. CRD를 생성하고 CRD에서 리소스를 관리하는 방법을 알아봅니다.
- 리소스 할당량 설정: CPU, 메모리 및 기타 시스템 리소스에서 선택하여 할당량을 설정합니다.
- 리소스 정리 및 회수: 불필요한 Operator, 그룹, 배포, 빌드, 이미지, 레지스트리, cron 작업을 정리하여 공간을 회수합니다.
- 클러스터확장 및 조정 : 클러스터 제한을 설정하고, 노드를 튜닝하고, 클러스터 모니터링을 확장하고, 사용자 환경에 대한 네트워킹, 스토리지 및 경로를 최적화합니다.
- OpenShift Update Service 이해: 연결이 끊긴 환경에서 OpenShift Container Platform 업데이트를 권장하기 위해 로컬 OpenShift 업데이트 서비스를 설치 및 관리하는 방법에 대해 설명합니다.
- 모니터 클러스터: 모니터링 스택을 구성하는 방법을 알아봅니다. 모니터링을 구성한 후 웹 콘솔을 사용하여 모니터링 대시보드에 액세스합니다. 인프라 메트릭 외에도 자체 서비스에 대한 메트릭을 스크랩 및 볼 수 있습니다.
- 원격 상태 모니터링: OpenShift Container Platform은 클러스터에 대한 익명화된 집계 정보를 수집합니다. Telemetry 및 Insights Operator를 사용하여 이 데이터는 Red Hat에서 수신하며 OpenShift Container Platform을 개선하는 데 사용됩니다. 원격 상태 모니터링을 통해 수집된 데이터를 볼 수 있습니다.