vSphere with kubernetes 기본 기능 확인

검증 자체는 조금 전이지만 vSphere 7.0 GA 환경에서 컨테이너 기반 플랫폼으로 등장한 vSphere with Kubernetes의 기본 기능을 검증했기 때문에 정리해 보았습니다.

검증 환경은 다음과 같습니다.
  • VMware ESXi 7.0.0.15843807 7.0 GA
  • VMware vCenter Server 7.0.0.15952599 7.0 GA
  • VMware NSX-T Data Center 3.0.0.0.0.15946739 3.0.0

  • vSphere with Kubernetes란 무엇입니까?



    vSphere 클러스터에서 포드 생성과 같은 Kubernetes 워크로드를 실행할 수 있습니다. vSphere with Kubernetes의 구성 요소는 다음과 같습니다.

  • 감독자 클러스터: vSphere with Kubernetes가 활성화된 클러스터(ESXi, NSX-T)
  • 제어 플레인 가상 머신: 수퍼바이저 클러스터에 3개 배포되어 포드 생성
  • vSphere Pod: vSphere with Kubernetes로 생성된 Pod
  • Spherelet : 호스트 Kubetnetes에 대한 추가 프로세스
  • CRX: vSphere Pod 실행 환경

  • vSphere with Kubernetes 환경 구축


  • 수퍼바이저 클러스터의 시스템 요구 사항
  • 워크로드 관리 활성화
    위의 시스템 요구 사항을 충족하는 클러스터를 사용하여 vSphere Client 홈에서 워크로드 관리를 선택하고 활성화
  • Kubernetes를 활성화할 클러스터 선택
  • 제어 플레인 가상 머신의 크기 선택

  • 관리 네트워크 설정
  • 네트워크 : VMkernel 어댑터가 관리 트래픽을 위해 구성된 네트워크를 선택합니다
  • 시작 IP 주소: 제어 평면 가상 머신에 대해 연속 주소(4개 필요)의 시작 주소 지정



  • 워크로드 네트워크 설정
  • vSphere Distributed Switch : 감독자 클러스터 오버레이 네트워크 용
  • 포드 CIDR: vSphere Native Pod의 IP 주소 범위,/21 지정(기본값 사용 가능)
  • 서비스 CIDR: Kubernetes 서비스의 IP 주소 범위(기본값 사용 가능)
  • 입출력 방향 CIDR : Kubernetes 서비스 입출력 방향 IP 주소 범위,/27에서 외부에서 액세스 가능한 주소 지정(Pod 배포에 외부 액세스 필요)


  • 워크로드 관리 활성화 : 확인

  • 네임스페이스 만들기



    클러스터에서 vSphere with Kubernetes 활성화를 확인하고 네임스페이스 만들기
    네임스페이스에 CPU, 메모리, 스토리지 및 권한을 할당함으로써 개발자에 의한 Pod에의 액세스가 가능해진다



    포드 만들기 및 확인



    CLI에서 수퍼바이저 클러스터에 로그인 수행
    kubectl vsphere login --server=https://<制御プレーンノードのIPアドレス> --vsphere-username <your user account name>
    
  • 네임 스페이스에 포드를 배포하고 확인
  • # Podのデプロイ
    E:\vsphere-plugin\bin> kubectl apply -f E:\vsphere-plugin\bin\application.yaml --namespace=namespace1
    pod/nginx created
    
    # Podの確認
    E:\vsphere-plugin\bin> kubectl get pods --namespace=namespace1
    NAME    READY   STATUS    RESTARTS   AGE
    nginx   0/1     Pending   0          12s
    
    E:\vsphere-plugin\bin>kubectl get pods --namespace=namespace1
    NAME    READY   STATUS    RESTARTS   AGE
    nginx   1/1     Running   0          79s
    
  • Pod에 액세스
  • E:\vsphere-plugin\bin> kubectl exec -it nginx /bin/bash --namespace=namespace1
    root@nginx:/# ls
    bin   docker-entrypoint.d   home   media  proc  sbin  tmp
    boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
    dev   etc                   lib64  opt    run   sys   var
    

    좋은 웹페이지 즐겨찾기