[기계번역] A closer look at the vSphere with Tanzu Namespace Service

이제 vSphere 7.0U3c를 사용할 수 있습니다. 최근 버전에 등장한 vSphere with Tanzu 기능 중 일부를 다시 살펴보는 것이 좋을 것 같습니다. 첫 번째 Namespace 서비스는 dev-ops personas가 코맨드라인의 kubectl을 통해 자신만의 슈퍼바이저 네임스페이스를 만들 수 있도록 지원합니다. 이 기능은 vSphere 7.0U3c에서 dev-ops가 자체 Kubernetes 레이블 및 주석을 추가할 수 있도록 확장되었습니다. 이 기능의 작동 방식과 이 서비스를 통해 슈퍼바이저 네임스페이스를 생성할 때 vSphere 관리자가 이 페르소나가 사용할 수 있는 vSphere 리소스 양에 대해 가드레일(Guardrail)을 설정하는 방법에 대해 살펴보겠습니다.

먼저 vSphere 관리자가 이 기능을 사용할 수 있는지 여부를 제어합니다. 기본적으로 실행 중지되어 있습니다. 따라서 dev-ops 페르소나가 슈퍼바이저 네임스페이스를 생성하려는 경우 vSphere 관리자가 다음 기능을 사용하도록 설정할 때까지 생성할 수 없습니다.

네임스페이스 서비스가 비활성으로 설정되면 아무도 네임스페이스를 생성할 수 없습니다. vSphere with Tanzu 클러스터에 로그인하기 위한 자격 증명을 제공한 후 Supervisor Namespace를 생성하려고 하면 SSO Administrator로서의 작업이 다음과 같이 실패합니다.

% kubectl create ns devops1
Error from server (Forbidden): namespaces is forbidden: \
User "sso:Administrator@vsphere.local" cannot create resource "namespaces" \
in API group "" at the cluster scope

Supervisor Namespace 셀프 서비스 기능을 활성화하려면 위의 Status 버튼으로 전환하십시오. 그러면 vSphere 관리자가 네임스페이스 내에서 사용할 수 있는 CPU 및 메모리 리소스 양을 제어할 수 있는 다음 마법사가 시작됩니다. 아래 예에서는 단일 네임스페이스에서 사용할 수 있는 리소스를 20GHz CPU, 40GB 메모리 및 250GB 스토리지로 제한하고 있습니다. 또한 사용 가능한 목록에서 특정 스토리지 정책을 선택합니다. 이 경우 vSAN 데이터스토어와 일치합니다.

리소스를 설정한 후 다음 단계는 네임스페이스를 생성할 수 있는 사용자를 지정하는 것입니다. 이 데모에서는 administrator@vsphere.local 사용자만 kubectl을 통해 네임스페이스를 생성할 수 있지만 vSphere 관리자가 이 작업을 제어하고 적절한 dev-ops 사용자에게 사용 권한을 부여할 수 있도록 지정합니다.

사용 권한이 추가된 상태에서 선택 항목을 검토하고 Finish을 클릭합니다.

이제 Namespace Self-Service가 활성화된 것으로 표시됩니다.

이제 앞에서 시도했던 네임스페이스 생성 작업을 다시 시도할 수 있습니다.

% kubectl create ns devops1
namespace/devops1 created

% kubectl get ns devops1 --show-labels
NAME      STATUS   AGE   LABELS
devops1   Active   56s   kubernetes.io/metadata.name=devops1,vSphereClusterID=domain-c8

이제 Supervisor Namespace를 성공적으로 만들 수 있습니다. 또한 vSphere Client에서 네임스페이스가 표시되는지 확인할 수 있습니다. UI를 통해 리소스 제한 및 네임스페이스의 현재 리소스 사용량도 확인할 수 있습니다.

다음으로 vSphere 7.0U3c에 포함된 Namespace Service의 향상된 기능을 살펴보겠습니다. 이것은 Supervisor Namespace에 레이블과 주석을 추가하는 기능입니다. 간단한 예를 들어볼까요? 레이블 name:devops2가 포함된 매우 간단한 JSON 파일을 만들었습니다. 한번 적용해보고 라벨이 효과가 있는지 확인해보죠.

% cat devops2.json
{
 "apiVersion": "v1",
 "kind": "Namespace",
 "metadata": {
   "name": "devops2",
   "labels": {
     "name": "devops2"
    }
  }
}


% kubectl create -f devops2.json
namespace/devops2 created


% kubectl get ns devops2
NAME      STATUS   AGE
devops2   Active   17s


% kubectl get ns devops2 --show-labels
NAME      STATUS   AGE   LABELS
devops2   Active   23s   kubernetes.io/metadata.name=devops2,name=devops2,vSphereClusterID=domain-c8

성공입니다. 이 네임스페이스와 연결된 사용자 정의 레이블이 있는 것 같습니다. 이 네임스페이스를 이전에 특정 레이블 없이 만든 네임스페이스와 비교해 보겠습니다.

% kubectl get ns devops1 --show-labels
NAME      STATUS   AGE   LABELS
devops1   Active   56s   kubernetes.io/metadata.name=devops1,vSphereClusterID=domain-c8

모든 것이 예상대로 작동합니다. 새 Supervisor Namespace를 보려면 vSphere UI를 확인하십시오.

좋은 것 같군요. 이것으로 이 글이 완성됩니다. 곧 다른 새로운 기능을 살펴볼 예정이니 업데이트 내용을 보려면 이따금 다시 확인하십시오.

출처 : https://cormachogan.com/2022/02/01/a-closer-look-at-the-vsphere-with-tanzu-namespace-service/
답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like
Read More

ESXi Arm v1.1

2020년 10월 6일에 ARM 아키텍처용 ESXi ARM v1.0이 공개(?)되었다. 그리고 10월 22일에는 v1.1이 공개되었다. 지원 하드웨어 v1.1 기준으로…
Read More

ESXi Arm : USB NIC 선택 관련

라즈베리파이는 보드에 iSCSI 부팅까지 지원하는 놀라운 NIC을 내장하고 있다. 홈랩용으로는 이것 하나로 충분하다. 글쓴이는 장기적으로는 파이클러스터를 만들어서 이…