Kubernetes 객체 요약

2594 단어
이 절의 내용을 배우기 전에 Kubernetes의Pod,ReplicaSet,Deployment 등 대상에 대해 초보적인 이해를 얻었으면 합니다. 구체적으로 다음과 같은 글을 참고할 수 있습니다.
  • Kubernetes 개체의 Pod
  • Kubernetes 대상의 ReplicaSet
  • Kubernetes 대상의 Deployment
  • Kubernetes에서는 거의 모든 것이 대상입니다.흔히 볼 수 있는 대상은 Node,Pod,Deployment,ReplicationController,ReplicaSet 등이다.우리는 보통 설명 파일에서kind를 지정해서 다양한 종류의 대상을 만듭니다.Kubernetes는 etcd를 통해 우리가 만든 대상을 저장하여, 응용 프로그램이 원하는 방식으로 용기에서 안정적으로 실행되도록 합니다.

    1. Kubernetes 객체 이해


    Kubernetes 대상은 본질적으로 지속적인 실체입니다. Kubernetes는 이러한 지속적인 실체를 사용하여 그룹을 설명합니다.일반적으로 Kubernetes 객체에는 다음과 같은 정보가 포함될 수 있습니다.
  • 실행해야 할 응용 프로그램과 어떤 node에서 실행해야 하는지
  • 애플리케이션에서 사용할 수 있는 리소스
  • 재가동 정책, 업그레이드 및 내결함성 등 실행 시 일부 구성 적용
    따라서, Kubernetes 대상은 사실 당신의 의도를 나타내는 것입니다. (.yaml 파일을 통해 설명합니다.)일단 대상을 만들면, Kubernetes는 대상이 원하는 상태에 있을 수 있도록 합니다.

    1.1 객체 정의 및 객체 상태


    각 Kubernetes 객체에는 객체 정의(Spec)와 객체 상태(Status)라는 두 가지 속성이 있습니다.Spec은 당신이 원하는 대상의 상태를 포함합니다. 일반적으로 통과합니다.yaml 파일로 설명합니다.Status는 객체의 현재 실제 상태입니다.Kubernetes의 가장 큰 매력은 어떤 상황에서든 대상의 상태가 당신이 원하는 상태에 있는지 확인하기 위해 최선을 다하는 것이다.
    예를 들어, Deployment 형식의 대상은 그룹에서 실행되는 응용 프로그램을 대표합니다.이 대상을 만들 때 Replicas=3을 지정합니다. 이것은 이 응용 프로그램이 세 개의 복사본을 가진 상태에서 실행되기를 희망한다는 것을 의미합니다.만약 그 중 하나의 복사본이 프로그램 문제로 붕괴된다면 현재 적용되는 Status는 복사본 수가 2입니다. 이것은 당신이 원하는 상태 (Spec: replicas = 3) 와 같지 않기 때문에 Kubernetes는 자동으로 복사본을 새로 만들어서 이 응용 프로그램의 실제 상태가 원하는 상태와 일치하도록 합니다.

    2. Kubernetes 객체 만들기


    일반적으로 Kubernetes 객체를 작성하려면 두 단계로 나뉘어야 합니다.
  • 개체 설명 파일 만들기
  • kubectl 명령줄 인터페이스를 통해 대상 만들기
  • 2.1 Kubernetes 객체 설명 파일


    Kubernetes 객체 설명 파일은yaml 구문을 충족해야 하는 파일입니다.다음은 Deployment 유형을 설명하는 객체의 예입니다.
    apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
    kind: Deployment
    metadata:
      name: nginx-deployment
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.7.9
            ports:
            - containerPort: 80
    

    일반적으로 설명 파일에는 다음 필드가 포함됩니다.
  • apiVersion: 이 개체를 만들기 위해 Kubernetes API 버전을 사용하는 경우
  • kind: 만들 객체 유형(예: Pod, Deployment 등
  • metadata:name,UID,namespace
  • spec: 기타 설명 정보.서로 다른 유형의 대상은 서로 다른 스펙 정의를 가지고 있다.자세한 내용은 API 설명서 참조:https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.9/

  • 2.2 kubectl 명령줄 인터페이스


    설명 파일이 생성되면 kubectl 명령줄 인터페이스를 통해 객체를 만들 수 있습니다.
    kubectl apply -f nginx-deployment.yaml
    

    출력 정보는 다음과 같습니다.
    deployment "nginx-deployment" created
    

    좋은 웹페이지 즐겨찾기