vSphere with Tanzu는 VI 관리자와 개발자를 위해 통합된 쿠버네티스 환경을 제공한다. vSphere를 인프라 플랫폼으로 사용하면 Kubernetes 라이프사이클 관리가 그 어느 때보다 쉬워진다. Tanzu U2를 사용하는 vSphere의 새로운 기능은 쿠버네티스의 운영을 더욱 원활하게 하는 기능을 더한다. 한번 확인해 봅자.
NSX Advanced Load Balancer 지원
VMware NSX Advanced Load Balancer(이전의 Avi Networks)는 고가용성 및 확장 가능한 로드 밸런서와 컨테이너 수신 서비스를 제공한다. 이제 vSphere with Tanzu의 한 부분으로 통합되었다.
NSX Advanced Load Balancer를 포함하면 더 많은 기능, 더 나은 성능 및 자동화된 라이프사이클 관리를 제공하는 엔터프라이즈급 및 상업적으로 지원되는 솔루션이 생성된다. 모든 Tanzu Edition 라이센스를 통해 Tanzu Kubernetes 클러스터 및 해당 워크로드에 대한 로드 밸런싱 기능을 사용할 수 있으며, 업그레이드된 Tanzu Standard 라이센스를 통해 수신(ingress) 컨트롤러의 추가적인 이점을 얻을 수 있다. Kubernetes ingress service for Tanzu를 읽어보기 바란다.
vSphere With Tanzu – NSX Advanced Load Balancer Essentials 자세히 보기
Kubernetes 1.19.1 지원
vSphere with Tanzu와 함께 사용하면 최신 버전의 쿠버네티스를 프로덕션에 사용할 수 있다는 확신을 가지고 제공할 수 있다는 것이 핵심 이점이다. 이제 Kubernetes 1.19.1은 슈퍼바이저 클러스터와 Tanzu Kubernetes 클러스터에서 모두 지원된다. 여기 Kubernetes 1.19에서 모든 흥미로운 새로운 기능에 대해 알아보기 바란다.
슈퍼바이저 클러스터 자동 업그레이드
쿠버네티스 커뮤니티는 지원을 위해 가장 최근의 세 개의 마이너 릴리스를 유지하고 있다. U2에서는 현재 실행 중인 슈퍼바이저 클러스터의 버전을 확인하고 N-2 정책을 준수하는지 여부를 확인하는 검사 프로세스가 수행된다. 이전에 vSphere 업데이트를 수행했지만 수동으로 버튼을 클릭하여 슈퍼바이저 클러스터 업그레이드를 수행하지 않은 경우 해당 프로세스가 자동으로 수행된다. 이를 통해 클러스터가 규정 준수를 벗어나지 않고 항상 최신 기능을 제공할 수 있다.
프라이빗 레지스트리 지원
이전에는 자체 서명된 인증서가 있는 프라이빗 레지스트리에서 이미지를 가져오는 동안 알 수 없는 기관에서 서명한 x509: 인증서를 생성했다. 이는 요청자(Tanzu 쿠버네티스 클러스터 워커 노드)가 유효한 인증서를 가지고 있지 않고, 레지스트리에서 신뢰하지 않음을 의미한다. U2를 사용하면 프라이빗 레지스트리 인증서를 Tanzu Kubernetes 클러스터 생성 프로세스의 일부로 제공할 수 있다. 따라서 필요한 경우 다양한 유형의 컨테이너 레지스트리를 배포할 수 있다.
TkgServiceConfiguration에는 PEM 인코딩 공개 인증서의 기본 64 인코딩 문자열이 적용되는 새로운 trust 섹션이 있습니다. TLS 인증서가 새 Tanzu Kubernetes 클러스터에 적용된다.
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TkgServiceConfiguration metadata: name: tkg-service-configuration spec: defaultCNI: antrea proxy: httpProxy: http://<user>:<pwd>@<ip>:<port> trust: additionalTrustedCAs: - name: first-cert-name data: base64-encoded string of a PEM encoded public cert 1 - name: second-cert-name data: base64-encoded string of a PEM encoded public cert 2
확장 프레임워크 지원
VMware는 프러덕션 Kubernetes 구축 실행을 보완하는 확장 기능을 제공한다. 이러한 확장을 통해 누구나 탄주 쿠버네티스 클러스터에 맞게 조정된 세부 설치 지침을 통해 신속하게 서비스를 시작하고 실행할 수 있다. 이러한 확장 기능은 VMware가 Tanzu Edition 라이센스를 통해 검증, 서명 및 지원합니다. 이 릴리스에서는 FluentBit, Contour, Prometheus 및 Grafana에 대한 지원을 확인할 수 있다. 자세한 내용은 설명서를 보시기 바랍니다.
고정 IP 주소가 있는 로드 밸런서
기본적으로 LoadBalancer 유형의 Kubernetes 서비스가 생성되면 구성된 로드 밸런서의 IP 주소 풀에서 IP 주소가 자동으로 할당된다. 이제 LoadBalancer 규격의 loadBalancerIP 항목에서 지정할 수 있다.
이 기능은 NSX-T 및 NSX ALB 모두에서 지원되지만 HA Proxy에서는 지원되지 않는다. IP 주소는 부동 IP 풀(NX-T) 또는 IPAM 풀(NX ALB)에서 조각되어야 하며, 로드 밸런서는 자동으로 할당된 것으로 표시한다.
kind: Service apiVersion: v1 metadata: name: srvclb-ngnx spec: selector: app: hello tier: frontend ports: - protocol: "TCP" port: 80 targetPort: 80 type: LoadBalancer loadBalancerIP: 10.11.12.49
NSX-T를 통한 네이티브 쿠버네티스 액세스 제어 목록 지원
이제 쿠버네티스 애플리케이션 운영자는 서비스용 외부 트래픽 정책을 구성하여, 클라이언트 IP 주소를 엔드 포드에 전파할 수 있다. 이렇게 하면 트래픽이 로컬 또는 클러스터 전체에 있는 노드의 포드로만 라우팅될 수 있다. 또한 사용자는 Service를 위한 LoadBalancerSourceRange를 정의하여 로드 밸런싱 서비스에 액세스할 수 있는 클라이언트 IP를 제한할 수 있다.
apiVersion: v1 kind: Service metadata: name: example-service spec: selector: app: example ports: - port: 8765 targetPort: 9376 externalTrafficPolicy: Local type: LoadBalancer
apiVersion: v1 kind: Service metadata: name: myapp spec: ports: - port: 8765 targetPort: 9376 selector: app: example type: LoadBalancer loadBalancerSourceRanges: - 10.0.0.0/8
Kubernetes 버전 관리 및 표시
쿠버네티스의 업그레이드는 의도하지 않은 결과를 초래할 수 있다. 보조 버전을 건너뛰려는 경우 쿠버네티스는 업그레이드 진행을 허용하지 않는다. 예를 들어 1.17에서 1.19로의 업그레이드는 허용되지 않는다. 이제 사용자는 TanzuKubernetesRelease와 kubectl의 호환성을 검사할 수 있다. 또한 Tanzu Kubernetes 클러스터는 이제 사용 가능한 Kubernetes 업그레이드가 있는지 여부와 사용할 다음 Tanzu KubernetesRelease를 나타낸다.
Tanzu Kubernetes 클러스터 HTTP 프록시 구성
이전 릴리스에서는 전세계 모든 탄주 쿠버네티스 클러스터에 적용된 슈퍼바이저 클러스터를 통해 프록시를 구성할 수 있었다. 이 릴리스에서는 이제 HTTP/HTTPS 프록시 구성을 탄즈 쿠버네티스 클러스터 단위로 정의할 수 있다. 문서를 참조하기 바란다.
이번 vSphere with Tanzu 릴리스는 오랫동안 기다려온 몇 가지 기능을 제공하며, Kubernetes 클러스터 라이프사이클 관리를 자동화하는 데 더 많은 기능을 제공한다. 지금 바로 Tanzu Basic 라이센스만으로 vSphere with Tanzu를 사용하거나, ModernApp Ninja 과정 및 VMware Hands-On Labs(HOL-213-01-SDC)로 이동하여 자세히 알아보기 바란다.