2.4. 다음 단계
2.4.1. 개발자의 경우
OpenShift Container Platform을 사용하여 컨테이너화된 애플리케이션을 개발하고 배포합니다. OpenShift Container Platform은 컨테이너화된 애플리케이션을 개발하고 배포하기 위한 플랫폼입니다. OpenShift Container Platform 설명서는 다음을 지원합니다.
- OpenShift Container Platform 개발 이해: 간단한 컨테이너에서 고급 Kubernetes 배포 및 Operator에 이르기까지 다양한 유형의 컨테이너화된 애플리케이션을 알아봅니다.
-
프로젝트 작업: OpenShift Container Platform 웹 콘솔 또는
oc
CLI(OpenShift CLI)에서 프로젝트를 생성하여 개발하는 소프트웨어를 구성하고 공유합니다. - 애플리케이션 작업:
OpenShift Container Platform 웹 콘솔 의 개발자 화면을 사용하여 애플리케이션을 생성하고 배포합니다.
토폴로지 보기를 사용하여 애플리케이션을 확인하고, 상태를 모니터링하고, 구성 요소를 연결 및 그룹화하며 코드 기반을 수정합니다.
-
odo
(개발자 CLI 툴) 사용: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
오브젝트를 사용하여 애플리케이션에 대한 세분화된 관리를 제공합니다. 워크로드 페이지 또는oc
CLI(OpenShift CLI)를 사용하여 배포를 관리합니다. 롤링, 재현 및 사용자 정의 배포 전략에 대해 알아보십시오. - 템플릿 생성: 기존 템플릿을 사용하거나 애플리케이션 빌드 또는 배포 방법을 설명하는 자체 템플릿을 생성합니다. 템플릿은 이미지를 설명, 매개변수, 복제본, 노출된 포트 및 애플리케이션 실행 또는 구축 방법을 정의하는 기타 콘텐츠와 결합할 수 있습니다.
- Operators 이해: Operator는 OpenShift Container Platform 4.12용 클러스터 기반 애플리케이션을 생성하는 데 권장되는 방법입니다. Operator 프레임워크 및 설치된 Operator를 사용하여 프로젝트에 애플리케이션을 배포하는 방법을 알아봅니다.
- Operators 개발: Operator는 OpenShift Container Platform 4.12용 클러스터 기반 애플리케이션을 생성하는 데 권장되는 방법입니다. Operator를 빌드, 테스트 및 배포하기 위한 워크플로를 알아봅니다. 그런 다음 Ansible 또는 Helm 을 기반으로 자체 Operator를 생성하거나 Operator SDK를 사용하여 기본 제공 Prometheus 모니터링 을 구성합니다.
- REST API 참조: OpenShift Container Platform 애플리케이션 프로그래밍 인터페이스 끝점에 대해 알아봅니다.
2.4.2. 관리자의 경우
- OpenShift Container Platform 관리 이해: OpenShift Container Platform 4.12 컨트롤 플레인의 구성 요소에 대해 알아봅니다. Machine API 및 Operator를 통해 OpenShift Container Platform 컨트롤 플레인 및 작업자 노드를 관리하고 업데이트하는 방법을 확인하십시오.
- 사용자 및 그룹 관리: 클러스터를 사용하거나 수정할 수 있는 다양한 수준의 권한이 있는 사용자와 그룹을 추가합니다.
- 인증 관리: OpenShift Container Platform에서 사용자, 그룹 및 API 인증이 작동하는 방식을 알아봅니다. OpenShift Container Platform은 여러 ID 공급자를 지원합니다.
- Manage networking: OpenShift Container Platform의 클러스터 네트워크는 CNO( Cluster Network Operator )에서 관리합니다. CNO는 kube-proxy 의 iptables 규칙을 사용하여 해당 노드에서 실행되는 노드와 Pod 간 트래픽을 전달합니다. Multus 컨테이너 네트워크 인터페이스는 여러 네트워크 인터페이스를 Pod에 연결하는 기능을 추가합니다. 네트워크 정책 기능을 사용하여 Pod를 분리하거나 선택한 트래픽을 허용할 수 있습니다.
- 스토리지 관리: OpenShift Container Platform을 사용하면 클러스터 관리자가 영구 스토리지를 구성할 수 있습니다.
- Operator 관리: Red Hat, ISV 및 커뮤니티 Operator 목록은 클러스터 관리자가 검토하고 클러스터에 설치할 수 있습니다. 설치한 후 클러스터에서 ,업그레이드, 백업 또는 Operator를 관리할 수 있습니다. https://docs.redhat.com/en/documentation/openshift_container_platform/4.12/html-single/operators/#olm-creating-apps-from-installed-operators
- CRD(사용자 정의 리소스 정의)를 사용하여 클러스터를 수정합니다. Operator와 함께 구현된 클러스터 기능은 CRD를 사용하여 수정할 수 있습니다. CRD를 생성하고 CRD 에서 리소스를 관리하는 방법을 알아봅니다.
- 리소스 할당량 설정: CPU, 메모리 및 기타 시스템 리소스에서 선택하여 할당량을 설정합니다.
- 리소스 정리 및 회수: 불필요한 Operator, 그룹, 배포, 빌드, 이미지, 레지스트리, cron 작업을 정리하여 공간을 회수합니다.
- 클러스터스케일링 및 조정 : 클러스터 제한을 설정하고, 노드를 튜닝하고, 클러스터 모니터링을 스케일링하고, 환경에 대한 네트워킹, 스토리지 및 경로를 최적화합니다.
- OpenShift Update Service 이해: 연결이 끊긴 환경에서 OpenShift Container Platform 업데이트를 권장하기 위해 로컬 OpenShift Update Service 설치 및 관리에 대해 알아봅니다.
- 모니터 클러스터: 모니터링 스택을 구성하는 방법을 알아봅니다. 모니터링을 구성한 후 웹 콘솔을 사용하여 모니터링 대시보드에 액세스합니다. 인프라 메트릭 외에도 자체 서비스에 대한 메트릭을 스크랩 및 볼 수 있습니다.
- 원격 상태 모니터링: OpenShift Container Platform은 클러스터에 대한 익명화된 집계 정보를 수집합니다. Telemetry 및 Insights Operator를 사용하여 이 데이터는 Red Hat에서 수신하며 OpenShift Container Platform을 개선하는 데 사용됩니다. 원격 상태 모니터링에서 수집한 데이터를 볼 수 있습니다.