Terms
Terminology | Definition |
---|---|
Kubernetes | 클라우드 기반 애플리케이션의 빠르고 자동화된 배포와 컨테이너의 오케스트레이션 및 스케일링을 제공하는 컨테이너 관리 시스템입니다. Container orchestration는 컨테이너의 배포, 관리 및 스케일링을 자동화하는 것을 의미합니다. (자세한 내용은 https://kubernetes.io/를 참조하세요) |
Cluster | 우리는 master node와 worker node 집합으로 구성된 단위인 Kubernetes 클러스터를 지칭합니다. |
Container | 가상화된 운영 체제 위에서 애플리케이션을 독립적으로 실행하는 데 필요한 파일(소스 코드, 라이브러리 등)의 패키지입니다. 기본 인프라나 운영 체제에 관계없이 컨테이너 런타임에서 동일하게 동작하기 때문에 테스트와 배포가 용이합니다. 컨테이너 런타임: 컨테이너 애플리케이션을 실행하고 관리하는 소프트웨어입니다. |
Worker Node | 비즈니스 서비스에 대한 컨테이너가 배포되고 운영되는 서버(가상 머신 등)인 Kubernetes 클러스터를 구성하는 구성 요소입니다. |
Node Group | Kubernetes 클러스터를 구성하는 worker node를 그룹으로 관리하여 스케일 인 또는 스케일 아웃과 같은 기능을 제공합니다. 공공 클라우드 제공업체의 관리형 Kubernetes 서비스는 node 그룹 기능을 제공합니다. |
Edge Node | Kubernetes 클러스터를 구성하는 worker node 중에서 Ingress Controller가 배포된 전용 node로, 클러스터에 배포된 비즈니스 서비스의 진입점 역할을 합니다. |
Management Node | Kubernetes 클러스터를 구성하는 worker node 중에서 Container Management Service에서 제공하는 애드온 서비스가 배포된 전용 node입니다. |
Monitoring Node | Kubernetes 클러스터를 구성하는 worker node 중에서 Container Management Service에서 제공하는 모니터링 서비스에 전념하는 node입니다. |
Logging Node | Kubernetes 클러스터를 구성하는 worker node 중에서 Container Management Service에서 제공하는 로깅 서비스에 전념하는 node입니다. |
Namespace | 네임스페이스는 목적에 따라 Kubernetes 클러스터를 분할하고 관리하는 데 사용되는 논리적 단위입니다. 클러스터 내에서 여러 개의 네임스페이스를 생성하고 CPU, 메모리 및 기타 Kubernetes 리소스와 같은 리소스에 대한 제한을 설정할 수 있습니다. 네임스페이스는 일반적으로 개발, 스테이징 및 프로덕션과 같은 다양한 프로젝트 단계에 대해 생성됩니다. |
Role Based Access Control (RBAC) | 역할 기반 접근 제어는 시스템 내 사용자 및 프로세스의 역할을 정의하고 정의된 역할을 적용하여 접근 제어를 시행하는 정책입니다. 이는 의무적 접근 제어보다 유연성이 더 높아 일반 시스템의 보안을 강화하는 데 적합합니다. |
Dashboard | 다양한 정보를 단일 화면에서 중앙 집중화하고 볼 수 있게 해주는 사용자 인터페이스 기능입니다. |
Control Plane Cluster | Container Management Service에서 제공하는 콘솔과 개발 및 운영에 필요한 애드온 서비스 소프트웨어가 위치하는 영역입니다. AWS EKS 및 Azure AKS와 같은 고객 비즈니스 애플리케이션이 배포되고 운영되는 Kubernetes 클러스터(데이터 플레인 클러스터)의 리소스를 모니터링하고, 컨테이너를 빌드 및 배포하는 것과 사용자 및 권한 관리를 포함한 워크로드에 대한 리소스를 관리합니다. |
Data Plane Cluster | 비즈니스 서비스의 워크로드가 배포되고 운영되는 영역입니다. 비즈니스 요구 사항에 따라 하나 이상의 데이터 플레인 클러스터를 배포하고 관리할 수 있습니다. 데이터 플레인 클러스터에서는 Kubernetes 클러스터 및 워크로드 모니터링을 위한 메트릭과 로그 수집을 위한 에이전트가 설치되고 콘솔을 통해 관리됩니다. |
Elastic Kubernetes Service (EKS) | AWS에서 제공하는 관리형 Kubernetes 서비스입니다. |
Azure Kubernetes Service (AKS) | Azure에서 제공하는 관리형 Kubernetes 서비스입니다. |
Hybrid Cloud | 단일 애플리케이션을 위해 공공 및 사설 클라우드를 결합한 클라우드 환경으로, 사설 클라우드의 보안 및 제어와 공공 클라우드의 비용 효율성을 통합합니다. 이를 통해 기업은 사설 클라우드에서 워크로드를 실행하고, 워크로드 급증 시 추가 리소스를 활용하기 위해 공공 클라우드로 전환한 후, 수요가 감소하면 다시 사설 클라우드로 돌아갈 수 있습니다. |
Multi-Cloud | 두 개 이상의 독립적인 클라우드 서비스 제공업체(예: AWS, Azure, GCP 등)의 여러 공공 클라우드 서비스를 함께 사용하는 클라우드 컴퓨팅 환경입니다. |
Continuous Integration (CI) | 소스 코드에 변경 사항을 지속적으로 통합하는 관행입니다. |
Continuous Delivery/Deployment (CD) | 서비스를 지속적으로 제공하거나 배포하는 관행입니다. |
Platform as a Service (PaaS) | 사용자가 소프트웨어 애플리케이션을 개발, 배포 및 관리할 수 있도록 하는 클라우드 컴퓨팅 플랫폼입니다. |
Workload | 애플리케이션 또는 백엔드 프로세스와 같은 비즈니스 가치를 창출하는 리소스 및 코드의 집합입니다. 이 문서에서는 비즈니스 서비스 애플리케이션을 지칭합니다. |
Multi-Cluster Management (MCM) | Container Management Service의 구성 요소로 여러 Kubernetes 클러스터를 관리하는 서비스 모듈입니다. |
api-server | Kubernetes 클러스터의 제어 평면의 프론트 엔드로, Kubernetes 클러스터의 엔드포인트 역할을 합니다. api-server에서 제공하는 API를 통해 클러스터 및 Kubernetes 리소스를 생성하고 관리할 수 있습니다. |
Deploy Group | Container Management Service에서 제공하는 GitOps 배포 기능으로, 여러 데이터 플레인 클러스터에 컨테이너화된 애플리케이션을 배포합니다. |
Multi-Factor Authentication (MFA) | 사용자가 알고 있는 것(예: 비밀번호), 사용자가 가지고 있는 것(예: 하드웨어 토큰), 또는 사용자에게 고유한 것(예: 생체 정보)과 같은 최소 두 가지 요소가 필요한 인증입니다. |
One-Time Password (OTP) | 한 번의 사용 또는 세션에만 유효한 비밀번호입니다. |
APIM Console | API를 관리하고, 설정을 구성하며, API 정책 및 문서를 배포하는 웹 UI 콘솔입니다. |
Tenant Manager console | API Management Service를 위한 프로젝트, 사용자 및 사용자 권한을 설정하는 웹 UI 콘솔입니다. |
System users | 프로젝트의 구성원이 될 수 있는 API Management Service의 사용자입니다. |
System user permissions | API Management Service에서 시스템 사용자에게 부여된 권한입니다. 시스템 사용자와 시스템 구성원 모두에게 권한을 부여할 수 있습니다. |
Project | 프로젝트 사용자, 게이트웨이 및 API를 포함하는 조직 또는 작업의 단위입니다. |
Project Users | 프로젝트를 관리하기 위해 추가된 사용자입니다. |
Project user permissions | 프로젝트에 추가된 사용자에게 할당된 권한입니다. 프로젝트 관리자 및 프로젝트 구성원에게 권한을 부여할 수 있습니다. |
Gateway | API가 배포되고 서비스로 노출되며 API 정책이 시행되는 API 게이트웨이 역할을 하는 시스템입니다. |
Gateway URL | 일반적으로 도메인 형식으로 등록된 API 게이트웨이의 호스트 주소입니다. |
API | 애플리케이션 프로그래밍 인터페이스로, 프론트엔드 서비스가 백엔드 서비스를 요청하고 활용할 수 있도록 하는 메커니즘입니다. |
API URL | 프론트엔드 서비스가 백엔드 서비스를 호출하는 데 사용하는 URL로, API 엔드포인트라고도 합니다. |
Backend URL | API가 게이트웨이를 통해 라우팅되는 대상 백엔드 서비스의 호스트 주소입니다. |
API policies | API가 게이트웨이를 통과할 때 적용되는 인증, 보안, 트래픽 제어 및 특수 변환과 같은 기능입니다. |
API documentation | API를 사용하고 정의하며 지정하는 방법을 설명하는 문서로, Swagger 2.0 기반의 구문으로 API Management Service에서 제공됩니다. |
API Test | API 문서 사양에 기반하여 API 매개변수와 방법을 사용하여 요청 테스트를 수행하고 응답 결과를 확인하는 과정입니다. |
Deploying the API | API를 게이트웨이에 배포하고 외부 서비스로 노출하는 과정입니다. |
Command Line | 데이터베이스에 접근하는 데 필요한 호스트, 포트, 사용자 이름 및 비밀번호와 같은 정보를 포함하는 명령으로, 데이터베이스에 연결하는 데 사용될 수 있습니다. |
ConfigMap | ConfigMap은 비밀 데이터가 아닌 데이터를 키-값 쌍으로 저장하는 데 사용되는 Kubernetes API 객체입니다. Pods는 ConfigMap을 환경 변수, 명령줄 인수 또는 볼륨에 마운트된 구성 파일로 사용할 수 있습니다. |
Connection String | 데이터베이스에 연결하는 데 필요한 호스트, 포트, 사용자 이름 및 비밀번호와 같은 정보를 포함하는 문자열로, 시스템과 데이터베이스 간의 연결을 설정하는 데 사용됩니다. |
Credential | 데이터베이스에 접근하거나 시스템과 통합할 때 사용자를 검증하는 데 필요한 비밀번호와 같은 인증 정보입니다. |
Deployment | Kubernetes에서 Deployment는 Pods와 ReplicaSets에 대한 선언적 업데이트를 제공합니다. Deployment에서 원하는 상태를 지정하면 Deployment Controller가 현재 상태를 원하는 상태에 맞게 조정하며, 여기에는 스케일링 및 롤링 업데이트가 포함됩니다. Deployment를 사용하여 새로운 ReplicaSet을 생성하거나 기존 Deployment를 교체하여 모든 관련 리소스를 업데이트할 수 있습니다. |
Event | 데이터베이스를 생성하거나 관리하는 등의 기능을 수행한 결과로 발생하는 행동이나 사건을 이벤트라고 합니다. |
Master-Slave | 장애 발생 시 가용성을 보장하기 위해 데이터베이스는 데이터 복제를 통해 마스터-슬레이브 구조로 구성될 수 있습니다. 마스터는 읽기와 쓰기를 모두 처리하며, 슬레이브는 읽기 전용 작업에 사용됩니다. |
Node | Kubernetes 클러스터를 구성하는 머신을 node라고 합니다. node는 물리적 또는 가상 머신일 수 있으며, 컨테이너가 실제로 배포되고 실행되는 곳입니다. |
PersistentVolume | Kubernetes에서 PersistentVolume (PV)은 클러스터 내의 저장소로, 관리자가 프로비저닝하거나 StorageClass를 사용하여 동적으로 프로비저닝됩니다. PV는 node와 유사한 클러스터 리소스이며, 이를 사용하는 개별 Pods와는 독립적인 생애 주기를 가집니다. 이 API 객체는 NFS, iSCSI 또는 클라우드 제공업체 특정 스토리지 시스템과 같은 저장소 구현에 대한 세부 정보를 포함합니다. |
PersistentVolumeClaim | PersistentVolumeClaim (PVC)은 Kubernetes에서 사용자의 저장소 요청입니다. PVC는 PersistentVolume (PV) 리소스를 사용하며, 필요한 크기와 접근 모드를 지정할 수 있습니다. |
Pod | Kubernetes에서 하나 이상의 컨테이너로 구성된 가장 작은 배포 가능한 컴퓨팅 단위입니다. |
Private Endpoint | 공용 네트워크와 격리되어 외부에서 접근할 수 없고, 동일한 서브넷에 있는 시스템만 접근할 수 있는 네트워크 엔드포인트입니다. |
Provisioning Group | 배포할 서비스나 프로젝트의 특성에 따라 여러 node를 그룹화하여 효율적으로 node를 관리하는 방법입니다. 서비스 생성 시 선택된 프로비저닝 그룹에 속하는 node에만 서비스가 배포됩니다. |
Public Endpoint | 인터넷 연결이 있는 어디서나 접근할 수 있는 네트워크 엔드포인트입니다. |
Resource | 데이터베이스 인스턴스를 생성하기 위해 할당된 물리적 용량(CPU, 메모리, 디스크 등)입니다. |
Scale Out | 필요에 따라 데이터베이스 node(일반적으로 슬레이브)의 수를 증가시키는 것입니다. |
Scale Up | 필요에 따라 CPU, 메모리 또는 디스크와 같은 데이터베이스의 리소스를 증가시키는 것입니다. |
Service | CloudZ DB에 의해 생성된 Redis, MariaDB 등과 같은 데이터베이스 인스턴스를 나타냅니다. |
Statefulset | 상태 저장 애플리케이션을 관리하는 데 사용되는 Kubernetes의 워크로드 API 객체입니다. 이는 일련의 Pods의 배포 및 스케일링을 관리하며, 그 순서와 고유성을 보장합니다. |
StorageClass | Kubernetes의 StorageClasses는 관리자가 제공하는 다양한 "클래스"의 저장소를 설명하는 방법을 제공합니다. 서로 다른 클래스는 서비스 품질 수준, 백업 정책 또는 클러스터 관리자가 설정한 기타 사용자 정의 정책에 해당할 수 있습니다. Kubernetes 자체는 이러한 클래스가 무엇을 나타내는지 해석하지 않습니다. 다른 저장소 시스템에서는 이 개념을 때때로 "프로필"이라고 부릅니다. |
Zone | AWS에서 존은 하나 이상의 데이터 센터로 구성된 지역 내의 격리된 위치를 나타냅니다. 이러한 가용성 존은 더 높은 가용성, 내결함성 및 확장성을 제공합니다. 예: 서울의 ap-northeast-2a, ap-northeast-2b, ap-northeast-2c, ap-northeast-2d. |