정보
OpenShift Container Platform 소개
초록
1장. OpenShift Container Platform 4.8 문서
OpenShift Container Platform 4.8에 대해 알아보고 해당 기능을 살펴볼 수 있는 공식 OpenShift Container Platform 4.8 문서에 오신 것을 환영합니다.
OpenShift Container Platform 4.8 설명서를 탐색하려면 다음 방법 중 하나를 사용할 수 있습니다.
- 왼쪽 탐색 모음을 사용하여 문서를 찾습니다.
- 이 시작 페이지의 콘텐츠에서 관심 있는 작업을 선택합니다.
아키텍처 및 보안 및 규정 준수 부터 시작하십시오. 그런 다음 릴리스 노트 를 참조하십시오.
1.1. 클러스터 설치 프로그램 활동
이러한 OpenShift Container Platform 설치 작업을 살펴봅니다.
- OpenShift Container Platform 설치 개요: 설치 관리자 프로비저닝 또는 사용자 프로비저닝 인프라에 OpenShift Container Platform을 설치할 수 있습니다. OpenShift Container Platform 설치 프로그램은 다양한 플랫폼에 OpenShift Container Platform을 배포할 수 있는 유연성을 제공합니다.
- AWS에 클러스터 설치 : AWS (Amazon Web Services)에 클러스터를 배포할 때 많은 설치 옵션이 있습니다. 기본 설정 또는 사용자 지정 AWS 설정을 사용하여 클러스터를 배포할 수 있습니다. 사용자가 프로비저닝한 AWS 인프라에 클러스터를 배포할 수도 있습니다. 요구 사항에 맞게 제공된 AWS CloudFormation 템플릿 을 수정할 수 있습니다.
- Azure에 클러스터 설치: Microsoft Azure 의 기본 설정,사용자 지정 Azure 설정 또는 사용자 지정 네트워킹 설정으로 클러스터를 배포할 수 있습니다. Azure Virtual Network 에 OpenShift Container Platform을 프로비저닝하거나 Azure Resource Manager 템플릿 을 사용하여 자체 인프라를 프로비저닝할 수도 있습니다.
- GCP(Google Cloud Platform) 에 클러스터 설치: GCP (Google Cloud Platform)에서 기본 설정 또는 사용자 지정 GCP 설정으로 클러스터를 배포할 수 있습니다. 자체 인프라를 프로비저닝하는 GCP 설치도 수행할 수 있습니다.
- VMware vSphere에 클러스터 설치 : 지원되는 vSphere 버전에 OpenShift Container Platform을 설치할 수 있습니다.
- IBM Z 및 LinuxONE에 z/VM으로 클러스터 설치: 사용자 프로비저닝 인프라에 IBM Z 및 LinuxONE에 z/VM으로 OpenShift Container Platform을 설치할 수 있습니다.
- IBM Z 및 LinuxONE에 RHEL KVM으로 클러스터 설치: 사용자 프로비저닝 인프라에 IBM Z 및 LinuxONE에 RHEL KVM으로 OpenShift Container Platform을 설치할 수 있습니다.
- IBM Power Systems에 클러스터 설치: 사용자 프로비저닝 인프라에 IBM Power Systems에 OpenShift Container Platform을 설치할 수 있습니다.
- 베어 메탈에 설치 관리자 프로비저닝 클러스터 설치: 설치 관리자 프로비저닝 아키텍처를 사용하여 베어 메탈에 OpenShift Container Platform을 설치할 수 있습니다.
- 베어 메탈에 사용자 프로비저닝 클러스터 설치: 사용 가능한 플랫폼 및 클라우드 공급자 배포 옵션이 요구 사항을 충족하지 않는 경우 사용자가 프로비저닝한 베어 메탈 인프라에 OpenShift Container Platform을 설치할 수 있습니다.
- RHOSP(Red Hat OpenStack Platform)에 클러스터 설치: 사용자 지정 을 사용하여 RHOSP에 클러스터를 설치할 수 있습니다.
- RHV(Red Hat Virtualization)에 클러스터 설치: 빠른 설치 또는 사용자 지정 설치를 사용하여 RHV(Red Hat Virtualization)에 클러스터를 배포할 수 있습니다.
- 제한된 네트워크에 클러스터 설치: AWS,GCP,vSphere, IBM Z,IBM Z 및 LinuxONE with z/VM,IBM Z 및 LinuxONE with RHEL KVM,IBM Power Systems 또는 베어 메탈 에서 사용자 프로비저닝 인프라를 사용하는 클러스터가 인터넷에 완전히 액세스할 수 없는 경우 OpenShift Container Platform 설치 이미지를 미러링 하고 제한된 네트워크에 클러스터를 설치합니다.
- 기존 네트워크에 클러스터 설치: AWS 또는 GCP 에서 기존 VPC(Virtual Private Cloud)를 사용하거나 Azure의 기존 VNet 을 사용하는 경우 클러스터를 설치할 수 있습니다.
- 개인 클러스터 설치: 클러스터에 외부 인터넷 액세스가 필요하지 않은 경우 AWS,Azure 또는 GCP 에 개인 클러스터를 설치할 수 있습니다. 클라우드 API 및 설치 미디어에 액세스하려면 여전히 인터넷 액세스가 필요합니다.
- 설치 로그 확인: 액세스 설치 로그에서 OpenShift Container Platform 4.8 설치 중에 발생하는 문제를 평가합니다.
- 액세스 OpenShift Container Platform: 설치 프로세스 끝에 인증 정보 출력을 사용하여 명령줄 또는 웹 콘솔에서 OpenShift Container Platform 클러스터에 로그인합니다.
- Red Hat OpenShift Container Storage 설치: 컨테이너를 위한 고도로 통합된 영구 스토리지 관리를 제공하기 위해 Red Hat OpenShift Container Storage를 Operator로 설치할 수 있습니다.
1.2. 개발자 활동
OpenShift Container Platform을 사용하여 컨테이너화된 애플리케이션을 개발하고 배포합니다. OpenShift Container Platform은 컨테이너화된 애플리케이션을 개발하고 배포하기 위한 플랫폼입니다. OpenShift Container Platform 설명서는 다음을 지원합니다.
- OpenShift Container Platform 개발 이해: 간단한 컨테이너에서 고급 Kubernetes 배포 및 Operator에 이르기까지 다양한 유형의 컨테이너화된 애플리케이션을 알아보십시오.
-
프로젝트 작업: OpenShift Container Platform 웹 콘솔 또는 oc CLI(
oc
)에서 프로젝트를 생성하여 개발하는 소프트웨어를 구성하고 공유합니다. - 애플리케이션 작업:
OpenShift Container Platform 웹 콘솔 의 개발자 화면을 사용하여 애플리케이션을 생성하고 배포합니다.
토폴로지 보기를 사용하여 애플리케이션을 확인하고 상태 모니터링, 연결 및 그룹 구성 요소를 모니터링하고 코드 베이스를 수정합니다.
-
Use the developer CLI tool (
odo
):odo
CLI 툴을 사용하면 개발자가 단일 또는 다중 구성 요소 애플리케이션을 쉽게 생성하고 배포, 빌드 및 서비스 경로 구성을 자동화할 수 있습니다. 복잡한 Kubernetes 및 OpenShift Container Platform 개념을 추상화하여 애플리케이션 개발에 집중할 수 있습니다. - CI/CD 파이프라인 생성: 파이프라인은 서버리스, 클라우드 네이티브, 연속 통합 및 격리된 컨테이너에서 실행되는 연속 배포 시스템입니다. 표준 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.8용 클러스터 기반 애플리케이션을 생성하는 데 권장되는 방법입니다. Operator 프레임워크 및 설치된 Operator를 사용하여 프로젝트에 애플리케이션을 배포하는 방법을 알아봅니다.
- Build Operators: Operator는 OpenShift Container Platform 4.8용 클러스터 기반 애플리케이션을 생성하는 데 선호되는 방법입니다. Operator를 빌드, 테스트 및 배포하기 위한 워크플로를 알아봅니다. 그런 다음 Ansible 또는 Helm 을 기반으로 자체 Operator를 생성하거나 Operator SDK를 사용하여 기본 제공 Prometheus 모니터링 을 구성합니다.
- REST API 참조: OpenShift Container Platform 애플리케이션 프로그래밍 인터페이스 끝점에 대해 알아봅니다.
1.3. 클러스터 관리자 활동
머신을 관리하고, 사용자에게 서비스를 제공하며 모니터링 및 로깅 보고서를 따릅니다. 이 문서를 통해 다음을 수행할 수 있습니다.
- OpenShift Container Platform 관리 이해: OpenShift Container Platform 4.8 컨트롤 플레인의 구성 요소에 대해 알아봅니다. OpenShift Container Platform 컨트롤 플레인 및 작업자 노드가 Machine API 및 Operator를 통해 관리 및 업데이트하는 방법을 참조하십시오.
1.3.1. 클러스터 구성 요소 관리
- 머신 관리: 상태 점검을 배포하고 머신에 자동 스케일링을 적용하여 AWS,Azure 또는 GCP 에서 클러스터에서 머신을 관리합니다.
- 컨테이너 레지스트리 관리: 각 OpenShift Container Platform 클러스터에는 이미지를 저장하기 위한 기본 제공 컨테이너 레지스트리가 포함되어 있습니다. OpenShift Container Platform과 함께 사용하도록 별도의 Red Hat Quay 레지스트리를 구성할 수도 있습니다. Quay.io 웹 사이트에서는 OpenShift Container Platform 컨테이너 및 Operator를 저장하는 퍼블릭 컨테이너 레지스트리를 제공합니다.
- Manage users and groups: 클러스터를 사용하거나 수정할 수 있는 다양한 수준의 권한이 있는 사용자 및 그룹을 추가합니다.
인증 관리: OpenShift Container Platform에서 사용자, 그룹 및 API 인증이 작동하는 방법을 알아봅니다. OpenShift Container Platform은 다음을 포함하여 여러 ID 공급자를 지원합니다.
- 수신,API 서버 및 서비스 인증서 관리: OpenShift Container Platform은 Ingress Operator, API 서버 및 암호화가 필요한 복잡한 미들웨어 애플리케이션에 필요한 서비스에 기본적으로 인증서를 생성합니다. 이러한 인증서를 변경, 추가 또는 순환해야 할 수 있습니다.
- 관리 네트워킹: OpenShift Container Platform의 클러스터 네트워크는 CNO( Cluster Network Operator )에서 관리합니다. CNO는 kube-proxy 에서 iptables 규칙을 사용하여 해당 노드에서 실행되는 노드와 Pod 간 트래픽을 전달합니다. Multus Container Network Interface는 여러 네트워크 인터페이스를 포드에 연결하는 기능을 추가합니다. 네트워크 정책 기능을 사용하여 Pod를 격리하거나 선택한 트래픽을 허용할 수 있습니다.
- 관리 스토리지: OpenShift Container Platform을 사용하면 클러스터 관리자가 Red Hat OpenShift Container Storage,AWS Elastic Block Store,NFS,iSCSI,CSI(Container Storage Interface) 등을 사용하여 영구 스토리지를 구성할 수 있습니다. 영구 볼륨을 확장하고, 동적 프로비저닝 을 구성하고, CSI를 사용하여 영구 스토리지의 스냅샷을 구성,복제 및 사용할 수 있습니다.
- Operator 관리: Red Hat, ISV 및 커뮤니티 Operator 목록을 클러스터 관리자가 검토하고 클러스터에 설치할 수 있습니다. 설치 후 ,업그레이드, 백업 또는 클러스터에서 Operator를 관리할 수 있습니다. https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html-single/operators/#olm-creating-apps-from-installed-operators
1.3.2. 클러스터 구성 요소 변경
- CRD(사용자 정의 리소스 정의)를 사용하여 클러스터를 수정합니다. : Operator로 구현된 클러스터 기능은 CRD를 사용하여 수정할 수 있습니다. CRD를 생성하고 CRD 에서 리소스를 관리하는 방법을 알아봅니다.
- 리소스 할당량 설정: CPU, 메모리 및 기타 시스템 리소스에서 선택하여 할당량을 설정합니다.
- 리소스 정리 및 회수: 불필요한 Operator, 그룹, 배포, 빌드, 이미지, 레지스트리 및 cron 작업을 정리하여 공간을 회수합니다.
- 클러스터 확장 및 튜닝 : 클러스터 제한 설정, 노드 조정, 클러스터 모니터링 확장, 환경에 대한 네트워킹, 스토리지 및 경로를 최적화합니다.
-
클러스터 업데이트: CVO (Cluster Version Operator)를 사용하여 OpenShift Container Platform 클러스터를 업그레이드합니다. OpenShift Update Service(OSUS)에서 업데이트를 사용할 수 있는 경우 OpenShift Container Platform 웹 콘솔 또는
oc
CLI( OpenShift CLI )에서 해당 클러스터 업데이트를 적용합니다.
- OpenShift Update Service 이해: 연결이 끊긴 환경에서 OpenShift Container Platform 업데이트를 권장하기 위해 로컬 OpenShift 업데이트 서비스를 설치 및 관리하는 방법에 대해 설명합니다.
1.3.3. 클러스터 모니터링
- OpenShift Logging 작업: OpenShift Logging에 대해 알아보고 Elasticsearch, Fluentd 및 Kibana와 같은 다양한 OpenShift Logging 유형을 구성합니다.
- 클러스터 모니터링: 모니터링 스택을 구성하는 방법을 알아봅니다. 모니터링을 구성한 후 웹 콘솔을 사용하여 모니터링 대시보드에 액세스합니다. 인프라 메트릭 외에도 자체 서비스에 대한 메트릭을 스크랩 및 볼 수 있습니다.
- 원격 상태 모니터링: OpenShift Container Platform은 클러스터에 대한 익명화된 집계 정보를 수집합니다. Telemetry 및 Insights Operator를 사용하여 이 데이터는 Red Hat에서 수신하며 OpenShift Container Platform을 개선하는 데 사용됩니다. 원격 상태 모니터링으로 수집된 데이터를 볼 수 있습니다.
2장. OpenShift Container Platform에 대해 자세히 알아보기
다음 섹션을 사용하여 OpenShift Container Platform에 대해 알아보고 사용하는 데 도움이 되는 콘텐츠를 찾습니다.
2.1. 아키텍트
OpenShift Container Platform에 대해 알아보기 | OpenShift Container Platform 배포 계획 | 추가 리소스 |
---|---|---|
2.2. 클러스터 관리자
OpenShift Container Platform에 대해 알아보기 | OpenShift Container Platform 배포 | OpenShift Container Platform 관리 | 추가 리소스 |
---|---|---|---|
2.3. 애플리케이션 사이트 안정성 엔지니어 (App SRE)
OpenShift Container Platform에 대해 알아보기 | 애플리케이션 배포 및 관리 | 추가 리소스 |
---|---|---|
2.4. 개발자
OpenShift Container Platform에서 애플리케이션 개발에 대해 알아보기 | 애플리케이션 배포 |
---|---|
2.5. OpenShift Container Platform 이해
OpenShift Container Platform은 베어 메탈, 가상화, 온프레미스, 클라우드와 같은 다양한 컴퓨팅 플랫폼에 대한 컨테이너 기반 애플리케이션의 라이프사이클과 종속 항목을 관리하는 Kubernetes 환경입니다. OpenShift Container Platform은 컨테이너를 배포, 구성 및 관리합니다. OpenShift Container Platform은 구성 요소의 사용성, 안정성 및 사용자 지정 기능을 제공합니다.
OpenShift Container Platform은 노드라고 하는 여러 컴퓨팅 리소스를 사용합니다. 노드에는 RHCOS(Red Hat Enterprise Linux CoreOS)라는 RHEL(Red Hat Enterprise Linux CoreOS)을 기반으로 하는 경량의 보안 운영 체제가 있습니다.
노드가 부팅 및 구성되면 예약된 컨테이너 워크로드의 이미지를 관리하고 실행하기 위해 CRI-O 또는 Docker와 같은 컨테이너 런타임을 가져옵니다. Kubernetes 에이전트 또는 kubelet은 노드에서 컨테이너 워크로드를 예약합니다. kubelet은 클러스터에 노드를 등록하고 컨테이너 워크로드의 세부 정보를 수신해야 합니다.
OpenShift Container Platform은 클러스터의 네트워킹, 로드 밸런싱 및 라우팅을 구성하고 관리합니다. OpenShift Container Platform은 클러스터 상태 및 성능, 로깅 및 업그레이드 관리를 위한 클러스터 서비스를 추가합니다.
컨테이너 이미지 레지스트리 및 OperatorHub에서는 클러스터 내에서 다양한 애플리케이션 서비스를 제공하기 위해 Red Hat 인증 제품 및 커뮤니티 빌드 소프트웨어를 제공합니다. 이러한 애플리케이션 및 서비스는 클러스터, 데이터베이스, 프런트 엔드 및 사용자 인터페이스, 애플리케이션 런타임 및 비즈니스 자동화, 컨테이너 애플리케이션 개발 및 테스트를 위한 개발자 서비스에 배포된 애플리케이션을 관리합니다.
사전 빌드된 이미지 또는 Operator라는 리소스를 통해 실행되는 컨테이너 배포를 구성하여 클러스터 내에서 애플리케이션을 수동으로 관리할 수 있습니다. 사전 빌드 이미지 및 소스 코드에서 사용자 정의 이미지를 빌드하고 이러한 사용자 지정 이미지를 내부, 개인 또는 퍼블릭 레지스트리에 로컬로 저장할 수 있습니다.
Multicluster Management 계층은 단일 콘솔에서 워크로드 배포, 구성, 규정 준수 및 배포를 포함하여 여러 클러스터를 관리할 수 있습니다.
3장. About OpenShift Kubernetes Engine
2020년 4월 27일 현재 Red Hat OpenShift Container Engine의 이름을 Red Hat OpenShift Kubernetes Engine으로 교체하여 제품이 제공하는 가치를 더 잘 전달하기로 결정했습니다.
Red Hat OpenShift Kubernetes Engine은 Red Hat의 제품으로서 컨테이너 시작을 위한 엔터프라이즈 클래스 Kubernetes 플랫폼을 프로덕션 플랫폼으로 사용할 수 있습니다. OpenShift Container Platform과 동일한 바이너리 배포 방식인 OpenShift Container Platform과 동일한 방식으로 OpenShift Kubernetes Engine을 다운로드하여 설치할 수 있지만 OpenShift Kubernetes Engine은 OpenShift Container Platform에서 제공하는 기능의 하위 집합을 제공합니다.
3.1. 유사성 및 차이점
다음 표에서 OpenShift Kubernetes Engine과 OpenShift Container Platform의 차이점은 다음과 같습니다.
OpenShift Kubernetes Engine | OpenShift Container Platform | ||
---|---|---|---|
완전히 자동화된 설치 관리자 | 있음 | 있음 | |
Air Smart Upgrades | 있음 | 있음 | |
Enterprise Secured Kubernetes | 있음 | 있음 | |
kubectl 및 oc 자동 명령행 | 있음 | 있음 | |
OLM(Operator Lifecycle Manager) | 있음 | 있음 | |
관리자 웹 콘솔 | 있음 | 있음 | |
OpenShift Virtualization | 있음 | 있음 | |
사용자 워크로드 모니터링 | 있음 | ||
미터링 및 비용 관리 SaaS 서비스 | 있음 | ||
플랫폼 로깅 | 있음 | ||
개발자 웹 콘솔 | 있음 | ||
개발자 애플리케이션 카탈로그 | 있음 | ||
이미지 및 빌더 자동화로 가져오기(Tekton) | 있음 | ||
OpenShift Service Mesh(Maistra, Kiali, Jaeger) | 있음 | ||
OpenShift distributed tracing (Jaeger) | 있음 | ||
OpenShift Serverless(Knative) | 있음 | ||
OpenShift Pipelines(Jenkins 및 Tekton) | 있음 | ||
포함된 IBM Cloud Pak 및 RHT MW 번들 구성 요소 | 있음 |
3.1.1. 핵심 Kubernetes 및 컨테이너 오케스트레이션
OpenShift Kubernetes Engine은 설치가 쉽고 데이터 센터에서 사용할 수 있는 많은 소프트웨어 요소가 포함된 광범위한 호환성 테스트 매트릭스를 제공하는 엔터프라이즈급 Kubernetes 환경에 대한 모든 액세스를 제공합니다.
OpenShift Kubernetes Engine은 OpenShift Container Platform과 동일한 서비스 수준 계약, 버그 수정 및 일반적인 취약점 및 오류 보호 기능을 제공합니다. OpenShift Kubernetes Engine에는 동일한 기술 공급자의 컨테이너 런타임과 통합 Linux 운영 체제를 사용할 수 있는 RHEL(Red Hat Enterprise Linux) 가상 데이터 센터 및 RHCOS(Red Hat Enterprise Linux CoreOS) 인타이틀먼트가 포함되어 있습니다.
OpenShift Kubernetes Engine 서브스크립션은 Windows Containers용 Red Hat OpenShift 지원과 호환됩니다.
3.1.2. 엔터프라이즈급 구성
OpenShift Kubernetes Engine은 OpenShift Container Platform과 동일한 보안 옵션 및 기본 설정을 사용합니다. 기본 보안 컨텍스트 제약 조건, Pod 보안 정책, 모범 사례 네트워크 및 스토리지 설정, 서비스 계정 구성, SELinux 통합, HAproxy 에지 라우팅 구성 및 OpenShift Container Platform이 제공하는 기타 모든 표준 보호 기능은 OpenShift Kubernetes Engine에서 사용할 수 있습니다. OpenShift Kubernetes Engine은 OpenShift Container Platform이 사용하는 통합 모니터링 솔루션에 대한 모든 액세스를 제공합니다. 이 솔루션은 Prometheus를 기반으로 하며 일반적인 Kubernetes 문제에 대한 깊은 적용 범위 및 경고를 제공합니다.
OpenShift Kubernetes Engine은 OpenShift Container Platform과 동일한 설치 및 업그레이드 자동화를 사용합니다.
3.1.3. 표준 인프라 서비스
OpenShift Kubernetes Engine 서브스크립션을 사용하면 OpenShift Container Platform에서 지원하는 모든 스토리지 플러그인에 대한 지원이 제공됩니다.
네트워킹 측면에서 OpenShift Kubernetes Engine은 Kubernetes CNI(Container Network Interface)에 대한 전체 및 지원되는 액세스를 제공하므로 OpenShift Container Platform을 지원하는 타사 SDN을 사용할 수 있습니다. 또한 포함된 Open vSwitch 소프트웨어 정의 네트워크를 최대한 효과적으로 사용할 수 있습니다. OpenShift Kubernetes Engine을 사용하면 OpenShift Container Platform에서 지원되는 OVN Kubernetes 오버레이, Multus 및 Multus 플러그인을 최대한 활용할 수 있습니다. OpenShift Kubernetes Engine을 사용하면 Kubernetes 네트워크 정책을 사용하여 클러스터에서 배포된 애플리케이션 서비스 간의 마이크로 세분화를 생성할 수 있습니다.
또한 기본 Kubernetes 수신 컨트롤러 외부에서 HAproxy 에지 라우팅 계층과의 정교한 통합을 포함하여 OpenShift Container Platform에 있는 Route
API 오브젝트를 사용할 수도 있습니다.
3.1.4. 핵심 사용자 경험
OpenShift Kubernetes Engine 사용자는 Kubernetes Operator, Pod 배포 전략, Helm 및 OpenShift Container Platform 템플릿에 대한 모든 액세스 권한을 갖습니다. OpenShift Kubernetes Engine 사용자는 oc
및 kubectl
명령줄 인터페이스를 모두 사용할 수 있습니다. OpenShift Kubernetes Engine은 배포된 컨테이너 서비스의 모든 측면을 보여주는 관리자 웹 기반 콘솔도 제공합니다. OpenShift Kubernetes Engine은 사용하는 클러스터 및 라이프사이클 Operator 지원 서비스의 콘텐츠에 대한 액세스를 제어하는 데 도움이 되는 Operator 라이프 사이클 Manager에 대한 액세스 권한을 부여합니다. OpenShift Kubernetes Engine 서브스크립션을 사용하면 Kubernetes 네임스페이스, OpenShift Project
API 오브젝트, 클러스터 수준 Prometheus 모니터링 지표 및 이벤트에 액세스할 수 있습니다.
3.1.5. 유지 관리 및 조정된 콘텐츠
OpenShift Kubernetes Engine 서브스크립션을 통해 Red Hat Ecosystem Catalog 및 Red Hat Connect ISV 마켓플레이스에서 OpenShift Container Platform 컨텐츠에 액세스할 수 있습니다. OpenShift Container Platform eco-system이 제공하는 모든 유지 관리 및 선별된 콘텐츠에 액세스할 수 있습니다.
3.1.6. OpenShift Container Storage 호환
OpenShift Kubernetes Engine은 OpenShift Container Storage를 구입하여 호환 가능하며 지원됩니다.
3.1.7. Red Hat Middleware 호환
OpenShift Kubernetes Engine은 개별 Red Hat Middleware 제품 솔루션과 호환 및 지원됩니다. OpenShift가 포함된 Red Hat Middleware 번들에는 OpenShift Container Platform만 포함되어 있습니다.
3.1.8. OpenShift Serverless
OpenShift Kubernetes Engine에는 OpenShift Serverless 지원이 포함되어 있지 않습니다. 이 지원을 위해서는 OpenShift Container Platform을 사용하십시오.
3.1.9. Quay 통합과 호환
OpenShift Kubernetes Engine은 Red Hat Quay 구매와 호환 및 지원됩니다.
3.1.10. OpenShift Virtualization
OpenShift Kubernetes Engine에는 kubevirt.io 오픈 소스 프로젝트에서 파생된 Red Hat 제품 제품 지원이 포함되어 있습니다.
3.1.11. 고급 클러스터 관리
OpenShift Kubernetes Engine은 Kubernetes용 Red Hat Advanced Cluster Management(RHACM)를 추가로 구매할 수 있습니다. OpenShift Kubernetes Engine 서브스크립션은 클러스터 전체 로그 집계 솔루션을 제공하거나 Elasticsearch, Fluentd 또는 Kibana 기반 로깅 솔루션을 지원하지 않습니다. 마찬가지로 OpenShift Container Platform 또는 console.redhat.com Cost Management SaaS 서비스에 있는 과금 기능은 OpenShift Kubernetes Engine에서 지원되지 않습니다. OpenShift Container Platform의 컨테이너화된 서비스에 대한 오픈 소스 istio.io 및 kiali.io 프로젝트에서 파생되는 Red Hat Service Mesh 기능은 OpenShift Kubernetes Engine에서 지원되지 않습니다.
3.1.12. 고급 네트워크
OpenShift Container Platform의 표준 네트워킹 솔루션은 OpenShift Kubernetes Engine 서브스크립션을 통해 지원됩니다. OpenShift Container Platform 프로젝트 간 다중 테넌트 네트워크 분할 자동화를 위한 OpenShift Container Platform의 Kubernetes CNI 플러그인은 OpenShift Kubernetes Engine과 함께 사용할 수 있습니다. OpenShift Kubernetes Engine은 클러스터의 애플리케이션 서비스에서 사용하는 소스 IP 주소에 대한 모든 세분화된 제어를 제공합니다. 이러한 송신 IP 주소 제어는 OpenShift Kubernetes Engine에서 사용할 수 있습니다. OpenShift Container Platform은 OpenShift Container Platform에 있는 VIP pod를 통해 퍼블릭 클라우드 공급자가 사용되지 않는 경우 비표준 포트를 사용하는 클러스터 서비스에서 수신 라우팅을 제공합니다. 해당 인그레스 솔루션은 OpenShift Kubernetes Engine에서 지원됩니다. OpenShift Kubernetes Engine 사용자는 공용 클라우드 공급자와의 통합을 제공하는 Kubernetes 수신 제어 오브젝트에 대해 지원됩니다. istio.io 오픈 소스 프로젝트에서 파생되는 Red Hat Service Mesh는 OpenShift Kubernetes 엔진에서 지원되지 않습니다. 또한 OpenShift Serverless에 있는 Kourier 수신 컨트롤러는 OpenShift Kubernetes 엔진에서 지원되지 않습니다.
3.1.13. 개발자 경험
OpenShift Kubernetes Engine에서는 다음 기능이 지원되지 않습니다.
- CodeReady 개발자 경험 및 유틸리티(예: CodeReady Workspaces)
- 사용자 프로젝트 공간에 간소화된 Kubernetes 지원 Jenkins 및 Tekton 환경을 통합하는 OpenShift Container Platform의 파이프라인 기능
- OpenShift Container Platform의 소스 투 이미지 기능을 사용하면 클러스터에 소스 코드, dockerfiles 또는 컨테이너 이미지를 쉽게 배포할 수 있습니다.
- 최종 사용자 컨테이너 배포를 위한 빌드 전략, 빌더 포드 또는 Tekton
-
odo
개발자 명령줄입니다. - OpenShift Container Platform 웹 콘솔의 개발자 가상 사용자입니다.
3.1.14. 기능 요약
다음 표는 OpenShift Kubernetes Engine 및 OpenShift Container Platform의 기능 가용성에 대한 요약입니다. 해당하는 경우 기능을 활성화하는 Operator의 이름이 포함됩니다.
기능 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 이름 |
---|---|---|---|
완전 자동 설치 프로그램(IPI) | 포함 | 포함 | 해당 없음 |
사용자 지정 가능한 설치 관리자 (UPI) | 포함 | 포함 | 해당 없음 |
연결이 끊긴 설치 | 포함 | 포함 | 해당 없음 |
RHEL(Red Hat Enterprise Linux) 또는 RHCOS(Red Hat Enterprise Linux CoreOS) 인타이틀먼트 | 포함 | 포함 | 해당 없음 |
클러스터 (BYO)에 기존 RHEL 수동 연결 | 포함 | 포함 | 해당 없음 |
CRIO 런타임 | 포함 | 포함 | 해당 없음 |
Air Smart Upgrades and Operating System (RHCOS) Management | 포함 | 포함 | 해당 없음 |
Enterprise Secured Kubernetes | 포함 | 포함 | 해당 없음 |
kubectl 및 | 포함 | 포함 | 해당 없음 |
인증 통합, RBAC, SCC, Multi-Tenancy Admission Controller | 포함 | 포함 | 해당 없음 |
OLM(Operator Lifecycle Manager) | 포함 | 포함 | 해당 없음 |
관리자 웹 콘솔 | 포함 | 포함 | 해당 없음 |
OpenShift Virtualization | 포함 | 포함 | OpenShift Virtualization Operator |
Red Hat이 제공하는 Compliance Operator | 포함 | 포함 | Compliance Operator |
File Integrity Operator | 포함 | 포함 | File Integrity Operator |
gatekeeper Operator | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | gatekeeper Operator |
Klusterlet | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | 해당 없음 |
Red Hat에서 제공하는 kube Descheduler Operator | 포함 | 포함 | kube Descheduler Operator |
Red Hat이 제공하는 로컬 스토리지 | 포함 | 포함 | Local Storage Operator |
Node Feature Discovery provided by Red Hat | 포함 | 포함 | Node Feature Discovery Operator |
Performance Add-on Operator | 포함 | 포함 | Performance Add-on Operator |
PTP Operator 제공 Red Hat | 포함 | 포함 | PTP Operator |
Service Telemetry Operator provided by Red Hat | 포함 | 포함 | Service Telemetry Operator |
SR-IOV 네트워크 Operator | 포함 | 포함 | SR-IOV 네트워크 Operator |
Vertical Pod Autoscaler | 포함 | 포함 | Vertical Pod Autoscaler |
클러스터 모니터링(Prometheus) | 포함 | 포함 | 클러스터 모니터링 |
장치 관리자(예: GPU) | 포함 | 포함 | 해당 없음 |
로그 전달 ( fluentd 포함) | 포함 | 포함 | Red Hat OpenShift Logging Operator ( fluentd를 사용한 로그 전달용) |
Telemeter 및 Insights Connected Experience | 포함 | 포함 | 해당 없음 |
기능 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 이름 |
OpenShift Cloud Manager SaaS Service | 포함 | 포함 | 해당 없음 |
OVS 및 OVN SDN | 포함 | 포함 | 해당 없음 |
MetalLB | 포함 | 포함 | MetalLB Operator |
HAProxy Ingress 컨트롤러 | 포함 | 포함 | 해당 없음 |
RHOSP(Red Hat OpenStack Platform) Kuryr 통합 | 포함 | 포함 | 해당 없음 |
Ingress 클러스터 전체 방화벽 | 포함 | 포함 | 해당 없음 |
송신 Pod 및 네임스페이스 Granular Control | 포함 | 포함 | 해당 없음 |
Ingress 이외의 포트 | 포함 | 포함 | 해당 없음 |
Multus 및 Available Multus 플러그인 | 포함 | 포함 | 해당 없음 |
네트워크 정책 | 포함 | 포함 | 해당 없음 |
IPv6 Single 및 Dual Stack | 포함 | 포함 | 해당 없음 |
CNI 플러그인 ISV 호환성 | 포함 | 포함 | 해당 없음 |
CSI 플러그인 ISV 호환성 | 포함 | 포함 | 해당 없음 |
RHT 및 IBM 미들웨어 databind la Carte 구매(OpenShift Container Platform 또는 OpenShift Kubernetes Engine에 포함되지 않음) | 포함 | 포함 | 해당 없음 |
ISV 또는 Partner Operator 및 컨테이너 호환성 (OpenShift Container Platform 또는 OpenShift Kubernetes Engine에 포함되어 있지 않음) | 포함 | 포함 | 해당 없음 |
포함된 OperatorHub | 포함 | 포함 | 해당 없음 |
임베디드 Marketplace | 포함 | 포함 | 해당 없음 |
Quay 호환성(포함되지 않음) | 포함 | 포함 | 해당 없음 |
RHEL Software Collections 및 RHT SSO Common Service(포함) | 포함 | 포함 | 해당 없음 |
포함된 레지스트리 | 포함 | 포함 | 해당 없음 |
Helm | 포함 | 포함 | 해당 없음 |
사용자 워크로드 모니터링 | 포함되지 않음 | 포함 | 해당 없음 |
미터링 및 비용 관리 SaaS 서비스 | 포함되지 않음 | 포함 | 해당 없음 |
플랫폼 로깅 | 포함되지 않음 | 포함 | Red Hat OpenShift Logging Operator |
Red Hat에서 제공하는 OpenShift Elasticsearch Operator | 포함되지 않음 | 독립 실행형으로 실행할 수 없음 | 해당 없음 |
개발자 웹 콘솔 | 포함되지 않음 | 포함 | 해당 없음 |
개발자 애플리케이션 카탈로그 | 포함되지 않음 | 포함 | 해당 없음 |
이미지 및 빌더 자동화로 가져오기(Tekton) | 포함되지 않음 | 포함 | 해당 없음 |
OpenShift Service Mesh | 포함되지 않음 | 포함 | OpenShift Service Mesh Operator |
Service Binding Operator | 포함되지 않음 | 포함 | Service Binding Operator |
기능 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 이름 |
Red Hat OpenShift Serverless | 포함되지 않음 | 포함 | OpenShift Serverless Operator |
Red Hat에서 제공하는 웹 터미널 | 포함되지 않음 | 포함 | Web Terminal Operator |
Red Hat에서 제공하는 Jenkins Operator | 포함되지 않음 | 포함 | Jenkins Operator |
Red Hat OpenShift Pipelines Operator | 포함되지 않음 | 포함 | OpenShift Pipelines Operator |
포함된 IBM Cloud Pak 및 RHT MW 번들 구성 요소 | 포함되지 않음 | 포함 | 해당 없음 |
Red Hat OpenShift GitOps | 포함되지 않음 | 포함 | OpenShift GitOps |
Red Hat CodeReady Workspaces | 포함되지 않음 | 포함 | CodeReady Workspace |
Red Hat CodeReady Containers | 포함되지 않음 | 포함 | 해당 없음 |
Red Hat에서 제공하는 Quay Bridge Operator | 포함되지 않음 | 포함 | Quay Bridge Operator |
Red Hat에서 제공하는 Quay Container Security | 포함되지 않음 | 포함 | Quay Operator |
Red Hat OpenShift distributed tracing platform | 포함되지 않음 | 포함 | Red Hat OpenShift distributed tracing Platform Operator |
Red Hat OpenShift Kiali | 포함되지 않음 | 포함 | Kiali Operator |
Red Hat에서 제공하는 미터링(더 이상 사용되지 않음) | 포함되지 않음 | 포함 | 해당 없음 |
Migration Toolkit for Containers Operator | 포함되지 않음 | 포함 | Migration Toolkit for Containers Operator |
OpenShift의 비용 관리 | 포함되지 않음 | 포함 | 해당 없음 |
Red Hat JBoss Web Server | 포함되지 않음 | 포함 | JWS Operator |
Red Hat Build of Quarkus | 포함되지 않음 | 포함 | 해당 없음 |
Kourier Ingress 컨트롤러 | 포함되지 않음 | 포함 | 해당 없음 |
RHT Middleware 번들 하위 호환성 (OpenShift Container Platform에 포함되지 않음) | 포함되지 않음 | 포함 | 해당 없음 |
IBM Cloud Pak Sub Compatibility (OpenShift Container Platform에 포함되지 않음) | 포함되지 않음 | 포함 | 해당 없음 |
OpenShift Do( | 포함되지 않음 | 포함 | 해당 없음 |
이미지 및 Tekton 빌더로 소스 | 포함되지 않음 | 포함 | 해당 없음 |
OpenShift Serverless FaaS | 포함되지 않음 | 포함 | 해당 없음 |
IDE 통합 | 포함되지 않음 | 포함 | 해당 없음 |
Windows Machine Config Operator | 커뮤니티 Windows Machine Config Operator 포함 - 서브스크립션이 필요하지 않음 | Red Hat Windows Machine Config Operator 포함 - 별도의 서브스크립션이 필요합니다. | Windows Machine Config Operator |
Red Hat Quay | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Quay Operator |
Red Hat Advanced Cluster Management | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Kubernetes용 고급 클러스터 관리 |
Red Hat Advanced Cluster Security | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | 해당 없음 |
OpenShift Container Storage | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | OpenShift Container Storage |
기능 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 이름 |
Ansible Automation Platform Resource Operator | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Ansible Automation Platform Resource Operator |
Red Hat이 제공하는 비즈니스 자동화 | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Business Automation Operator |
Red Hat에서 제공하는 Data Grid | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Data Grid Operator |
Red Hat에서 제공하는 Red Hat Integration | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Red Hat Integration Operator |
Red Hat Integration - Red Hat이 제공하는 3Scale | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | 3scale |
Red Hat Integration - Red Hat이 제공하는 3Scale APICast 게이트웨이 | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | 3scale APIcast |
Red Hat Integration - AMQ Broker | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | AMQ Broker |
Red Hat Integration - AMQ Broker LTS | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | |
Red Hat Integration - AMQ Interconnect | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | AMQ Interconnect |
Red Hat Integration - AMQ Online | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | |
Red Hat Integration - AMQ Streams | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | AMQ Streams |
Red Hat Integration - Camel K | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Camel K |
Red Hat Integration - Fuse Console | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Fuse 콘솔 |
Red Hat Integration - Fuse Online | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Fuse Online |
Red Hat Integration - Service Registry Operator | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | 서비스 레지스트리 |
Red Hat에서 제공하는 API Designer | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | API Designer |
Red Hat에서 제공하는 JBoss EAP | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | JBoss EAP |
Red Hat에서 제공하는 JBoss Web Server | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | JBoss Web Server |
Smart Gateway Operator | Not Included - 별도의 서브스크립션이 필요합니다. | Not Included - 별도의 서브스크립션이 필요합니다. | Smart Gateway Operator |
Kubernetes NMState Operator | 포함 | 포함 | 해당 없음 |
3.2. 서브스크립션 제한 사항
OpenShift Kubernetes Engine은 제한된 지원 기능 세트를 저렴한 가격으로 OpenShift Container Platform에 제공하는 서브스크립션 제품입니다. OpenShift Kubernetes Engine 및 OpenShift Container Platform은 동일한 제품이므로 모든 소프트웨어 및 기능이 둘 다 제공됩니다. OpenShift Container Platform의 다운로드는 하나만 있습니다. OpenShift Kubernetes Engine은 이러한 이유로 OpenShift Container Platform 문서 및 지원 서비스 및 버그 에라타를 사용합니다.
4장. Kubernetes 개요
Kubernetes는 Google에서 개발한 오픈 소스 컨테이너 오케스트레이션 툴입니다. Kubernetes를 사용하여 컨테이너 기반 워크로드를 실행하고 관리할 수 있습니다. 가장 일반적인 Kubernetes 사용 사례는 상호 연결된 마이크로 서비스 배열을 배포하여 클라우드 네이티브 방식으로 애플리케이션을 구축하는 것입니다. 온프레미스, 퍼블릭, 프라이빗 또는 하이브리드 클라우드에 걸쳐 호스트를 확장할 수 있는 Kubernetes 클러스터를 생성할 수 있습니다.
일반적으로 애플리케이션은 단일 운영 체제 위에 배포되었습니다. 가상화를 사용하면 물리적 호스트를 여러 가상 호스트로 분할할 수 있습니다. 공유 리소스의 가상 인스턴스에서 작업하는 것은 효율성 및 확장성에 적합하지 않습니다. VM(가상 머신)은 실제 머신만큼 많은 리소스를 사용하므로 CPU, RAM, 스토리지와 같은 VM에 리소스를 제공하면 비용이 많이 듭니다. 또한 공유 리소스에서 가상 인스턴스 사용량으로 인해 애플리케이션이 성능이 저하될 수 있습니다.
그림 4.1. 클래식 배포를 위한 컨테이너 기술의 진화
이 문제를 해결하려면 컨테이너화된 환경에서 애플리케이션을 분리하는 컨테이너화 기술을 사용할 수 있습니다. VM과 유사하게 컨테이너에는 자체 파일 시스템, vCPU, 메모리, 프로세스 공간, 종속성 등이 있습니다. 컨테이너는 기본 인프라와 분리되며 클라우드 및 OS 배포 전반에서 이식 가능합니다. 컨테이너는 완전한 기능을 갖춘 OS보다 훨씬 가벼우며 운영 체제 커널에서 실행되는 경량의 격리된 프로세스입니다. VM은 부팅 속도가 느리고 물리적 하드웨어에 대한 추상화입니다. 하이퍼바이저를 통해 단일 시스템에서 VM을 실행합니다.
Kubernetes를 사용하여 다음 작업을 수행할 수 있습니다.
- 리소스 공유
- 여러 호스트에서 컨테이너 오케스트레이션
- 새 하드웨어 구성 설치
- 상태 점검 실행 및 자동 복구 애플리케이션 실행
- 컨테이너화된 애플리케이션 스케일링
4.1. Kubernetes 구성 요소
구성 요소 | 목적 |
---|---|
| 클러스터의 모든 노드에서 실행되며 Kubernetes 리소스 간의 네트워크 트래픽을 유지 관리합니다. |
| 클러스터 상태를 관리합니다. |
| 노드에 pod를 할당합니다. |
| 클러스터 데이터를 저장합니다. |
| API 오브젝트의 데이터를 검증하고 구성합니다. |
| 노드에서 실행되며 컨테이너 매니페스트를 읽습니다. 정의된 컨테이너가 시작되어 실행 중인지 확인합니다. |
|
워크로드를 실행하려는 방법을 정의할 수 있습니다. |
노드 | 노드는 Kubernetes 클러스터의 물리적 시스템 또는 VM입니다. 컨트롤 플레인은 모든 노드를 관리하고 Kubernetes 클러스터의 노드에서 Pod를 예약합니다. |
컨테이너 런타임 | 컨테이너 런타임은 호스트 운영 체제에서 컨테이너를 실행합니다. Pod를 노드에서 실행할 수 있도록 각 노드에 컨테이너 런타임을 설치해야 합니다. |
영구 스토리지 | 장치가 종료된 후에도 데이터를 저장합니다. Kubernetes는 영구 볼륨을 사용하여 애플리케이션 데이터를 저장합니다. |
| 컨테이너 이미지를 저장하고 액세스합니다. |
Pod | Pod는 Kubernetes에서 가장 작은 논리 단위입니다. Pod에는 작업자 노드에서 실행할 하나 이상의 컨테이너가 포함되어 있습니다. |
4.2. Kubernetes 리소스
사용자 정의 리소스는 Kubernetes API의 확장입니다. 사용자 정의 리소스를 사용하여 Kubernetes 클러스터를 사용자 지정할 수 있습니다. Operator는 사용자 정의 리소스를 사용하여 애플리케이션 및 해당 구성 요소를 관리하는 소프트웨어 확장입니다. Kubernetes는 클러스터 리소스를 처리하는 동안 고정된 결과를 원하는 경우 선언적 모델을 사용합니다. Operator를 사용하여 Kubernetes는 선언적 방식으로 상태를 정의합니다. 필수 명령을 사용하여 Kubernetes 클러스터 리소스를 수정할 수 있습니다. Operator는 원하는 리소스 상태를 리소스의 실제 상태와 지속적으로 비교하고 원하는 상태와 일치하도록 현실을 구현하기 위한 조치를 취하는 제어 루프 역할을 합니다.
그림 4.2. Kubernetes 클러스터 개요
리소스 | 목적 |
---|---|
서비스 | Kubernetes는 서비스를 사용하여 pod 세트에 실행 중인 애플리케이션을 노출합니다. |
|
Kubernetes는 |
배포 | 애플리케이션의 라이프사이클을 유지보수하는 리소스 오브젝트입니다. |
Kubernetes는 OpenShift Container Platform의 핵심 구성 요소입니다. OpenShift Container Platform을 사용하여 컨테이너화된 애플리케이션을 개발하고 실행할 수 있습니다. Kubernetes에 기반을 둔 OpenShift Container Platform은 대규모 통신, 스트리밍 비디오, 게임, 뱅킹 및 기타 애플리케이션의 엔진 역할을 하는 동일한 기술을 통합합니다. OpenShift Container Platform을 사용하여 컨테이너화된 애플리케이션을 단일 클라우드 이상으로 온프레미스 및 다중 클라우드 환경으로 확장할 수 있습니다.
그림 4.3. Kubernetes 아키텍처
클러스터는 클라우드 환경에서 여러 노드로 구성된 단일 계산 단위입니다. Kubernetes 클러스터에는 컨트롤 플레인 및 작업자 노드가 포함됩니다. 다양한 머신 및 환경에서 Kubernetes 컨테이너를 실행할 수 있습니다. 컨트롤 플레인 노드는 클러스터 상태를 제어하고 유지보수합니다. 작업자 노드를 사용하여 Kubernetes 애플리케이션을 실행할 수 있습니다. Kubernetes 네임스페이스를 사용하여 클러스터의 클러스터 리소스를 구분할 수 있습니다. 네임스페이스 범위는 배포, 서비스 및 Pod와 같은 리소스 오브젝트에 적용할 수 있습니다. 스토리지 클래스, 노드, 영구 볼륨과 같은 클러스터 전체 리소스 오브젝트에는 네임스페이스를 사용할 수 없습니다.
4.3. Kubernetes 개념 가이드라인
OpenShift Container Platform을 시작하기 전에 Kubernetes의 개념적 가이드라인을 고려하십시오.
- 하나 이상의 작업자 노드에서 시작하여 컨테이너 워크로드를 실행합니다.
- 하나 이상의 컨트롤 플레인 노드에서 해당 워크로드의 배포를 관리합니다.
- 컨테이너를 포드라는 배포 단위로 래핑합니다. Pod를 사용하면 컨테이너에 추가 메타데이터를 제공하고 단일 배포 엔티티에서 여러 컨테이너를 그룹화할 수 있습니다.
- 특별한 종류의 자산을 생성합니다. 예를 들어 서비스는 pod 세트와 Pod에 액세스하는 방법을 정의하는 정책으로 표시됩니다. 이 정책을 통해 컨테이너는 서비스에 대한 특정 IP 주소가 없어도 필요한 서비스에 연결할 수 있습니다. 복제 컨트롤러는 한 번에 실행하는 데 필요한 포드 복제본 수를 나타내는 또 다른 특수 자산입니다. 이 기능을 사용하여 현재 수요에 맞게 애플리케이션을 자동으로 확장할 수 있습니다.
OpenShift Container Platform 클러스터로의 API는 100% Kubernetes입니다. 다른 Kubernetes에서 실행되고 OpenShift Container Platform에서 실행되는 컨테이너 간에는 변경되지 않습니다. 애플리케이션에 대한 변경 사항이 없습니다. OpenShift Container Platform은 Kubernetes에 엔터프라이즈급 개선사항을 제공하기 위해 추가 값 기능을 제공합니다. OpenShift Container Platform CLI 툴(oc
)은 kubectl
과 호환됩니다. Kubernetes API는 OpenShift Container Platform 내에서 100% 액세스할 수 있지만 kubectl
명령줄에는 사용자 친화적인 기능이 많이 없습니다. OpenShift Container Platform에서는 oc
와 같은 기능 및 명령줄 툴 세트를 제공합니다. Kubernetes는 애플리케이션 관리에 뛰어나지만 플랫폼 수준 요구사항 또는 배포 프로세스를 지정하거나 관리하지는 않습니다. 강력하고 유연한 플랫폼 관리 툴 및 프로세스는 OpenShift Container Platform에서 제공하는 중요한 이점입니다. 컨테이너화 플랫폼에 인증, 네트워킹, 보안, 모니터링 및 로그 관리를 추가해야 합니다.