Kubernetes 학습 노트 ---002 Kubernetes 대상 이해
Kubernetes 학습 노트 - 002 Kubernetes 대상 이해
이 페이지에서는 Kubernetes 객체가 Kubernetes API에 표시되는 방법과 .yaml
형식의 파일에 표시되는 방법에 대해 설명합니다.
Kubernetes 객체 이해
Kubernetes 시스템에서 Kubernetes 객체는 영구적인 솔리드입니다.Kubernetes는 이 실체를 사용하여 전체 집단의 상태를 표시합니다.특히 다음과 같은 정보를 설명합니다.
Kubernetes 대상을 조작합니다. 창설, 수정, 삭제, Kubernetes API를 사용해야 합니다.예를 들어
kubectl
명령줄 인터페이스를 사용할 때 CLI는 필요한 Kubernetes API 호출을 실행하고 프로그램에서 클라이언트 라이브러리 (소스 관리 도구) 를 사용하여 Kubernetes API를 직접 호출할 수 있다.객체 규약(Spec) 및 상태(Status)
모든 Kubernetes 대상은 두 개의 끼워 넣은 대상 필드를 포함하고, 대상의 설정을 관리합니다. 대상 스펙과 대상 status입니다.spec는 객체의 원하는 상태(Desired State) - 원하는 객체의 특징을 설명하는 데 필요합니다.status는 Kubernetes 시스템에서 제공하고 업데이트된 객체의 실제 상태(Actual State)를 설명합니다.Kubernetes 제어면은 항상 대상의 실제 상태를 기대 상태와 일치하도록 관리하려고 노력합니다.
예를 들어 Kubernetes Deployment 객체는 클러스터에서 실행되는 응용 프로그램을 나타낼 수 있습니다.Deployment를 만들 때, 이 응용 프로그램이 세 개의 복사본이 실행되어야 한다는 규칙을 설정해야 할 수도 있습니다.Kubernetes 시스템은 Deployment 규약을 읽고 우리가 원하는 이 응용 프로그램의 세 가지 실례인 갱신 상태를 시작하여 규약과 일치하도록 합니다.만약 그 실례들 중 실패한 (상태 변경) 이 있다면, Kubernetes 시스템은 수정을 통해 규정과 상태 사이의 불일치에 응답합니다. 이 경우, 새로운 실례를 시작해서 대체합니다.
Kubernetes 객체 설명
Kubernetes 대상을 만들 때, 대상의 기대 상태와 대상에 대한 기본 정보 (예: 이름) 를 설명하기 위한 규칙을 제공해야 합니다.Kubernetes API를 사용하여 객체를 만들 때(또는 직접 만들거나 기반
kubectl
API 요청은 요청체에 JSON 형식의 정보를 포함해야 합니다.대다수 상황에서 필요는.yaml 파일에서 kubectl
에 이 정보를 제공합니다.kubectl
API 요청을 실행할 때 이 정보를 JSON 형식으로 변환합니다.Kubernetes Deployment의 필수 필드와 대상 규약을 보여 주는
.yaml
예제 파일이 있습니다.application/deployment.yaml
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
위와 유사한
.yaml
파일을 사용하여 Deployment를 만듭니다. kubectl
명령줄 인터페이스 (CLI) 의 kubectl apply
명령을 사용하여 .yaml
파일을 매개 변수로 만듭니다.다음은 예입니다.kubectl apply -f https://k8s.io/examples/application/deployment.yaml --record
출력은 다음과 같습니다.
deployment.apps/nginx-deployment created
필수 필드
만들려는 Kubernetes 객체에 해당하는
.yaml
파일에서 다음 필드를 구성해야 합니다.apiVersion
- 객체에 사용되는 Kubernetes API의 버전을 만듭니다kind
- 만들려는 객체 유형metadata
- 문자열, UID 및 옵션name
1개이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
제이티의 사용에 대한 상세한 설명Continuation 메커니즘을 이용하여 대량의 사용자 요청과 비교적 긴 연결을 처리한다.또한 Jetty는 매우 좋은 인터페이스를 설계했기 때문에 Jetty의 어떤 실현이 사용자의 수요를 만족시키지 못할 때 사용자...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.