서비스 검색을 위한 ExternalDNS 설치

이 항목에서는 ExternalDNS를 Tanzu Kubernetes Grid의 워크로드에 배포하는 방법을 설명합니다.

ExternalDNS 서비스는 선언적 Kubernetes 네이티브 인터페이스를 사용하여 애플리케이션의 DNS 레코드를 DNS 서버에 게시합니다. Tanzu Kubernetes Grid에서 CLI 관리 패키지로 패키지되어 있습니다.

로드 밸런싱이 있는 공유 서비스 클러스터(AWS, Azure, vSphere with NSX Advanced Load Balancer)에 Harbor가 배포된 환경에서 ExternalDNS를 사용하여 Harbor 서비스의 DNS 호스트 이름을 게시할 수 있습니다. 이렇게 하면 다른 클러스터에서 Harbor에 액세스할 수 있습니다. 자세한 내용은 Harbor 레지스토리 및 ExternalDNS를 참조하십시오.

사전 요구 사항

  • 다음이 설치된 부트스트랩 시스템:
    • TANZU CLI, Tanzu CLI 플러그인, kubectl.
    • yq v4.5 이상.
  • 인터넷 연결 또는 인터넷 제한 환경에서 vSphere, Amazon Web Services(AWS) 또는 Azure에 관리 클러스터를 배포했습니다. 인터넷이 제한된 환경에서 Tanzu Kubernetes Grid를 사용하는 경우, 관리 클러스터를 배포하기 전에 인터넷 제한 환경에 Tanzu Kubernetes Grid 배포 준비 절차를 수행했습니다.
  • tanzu context use 명령을 사용하여 Tanzu CLI에 로그인했습니다.
  • ExternalDNS를 사용하여 DNS 서버에 노출하려는 서비스의 FQDN(정규화된 도메인 이름)을 결정했습니다.

ExternalDNS 배포를 위해 클러스터 준비

ExternalDNS 서비스는 DNS 레코드를 내보낼 서비스와 동일한 클러스터에 배포되어야 합니다.

  • Harbor를 설치하려면 서비스 레지스트리용 Harbor 설치의 사전 요구 사항 및 절차를 따르십시오.
  • ExternalDNS는 Kubernetes 서비스와 Contour HTTPProxy 리소스의 레코드 생성을 모두 지원합니다. 워크로드 클러스터에서 Contour HTTPProxy 리소스용 레코드를 생성하려면 클러스터에 Contour 패키지를 설치해야 합니다. 지침은 수신 제어용 Contour 설치를 참조하십시오. Contour 패키지도 Harbor에 필요합니다.

ExternalDNS 패키지의 구성 파일 준비

EnterternalDNS 패키지는 AWS(Route 53), Azure DNS, RFC2136(BIND)을 사용하여 검증되었습니다. 제공된 구성은 Contour HTTPProxy 리소스와 LoadBalancer 유형의 Kubernetes Services 모두에 대해 레코드를 내보냅니다.

외부 DNS 커뮤니티는 다양한 안정성 수준으로 많은 DNS 제공자와의 통합을 유지합니다. 언급된 경우를 제외하고 VMware는 ExternalDNS 패키지를 특정 제공자와 통합하는 지원이 보장되지는 않습니다.

AWS(Route 53)
AWS에서 ExternalDNS 패키지를 배포하기 위한 구성 파일을 준비하려면
  1. 서비스에서 사용할 도메인을 사용하여 Route 53 내에 호스팅된 영역을 생성합니다.
  2. 호스팅된 영역 ID(Hosted zone ID)를 기록합니다. 나중에 ExternalDNS를 구성할 때 이 ID를 사용합니다.
  3. ExternalDNS가 Route 53을 업데이트하도록 허용하는 ExternalDNS의 IAM 정책을 생성합니다. AWS 콘솔에서 IAM 대시보드로 이동하고 액세스 관리(Access Management) 아래에서 정책(Policies) 화면으로 이동합니다. 정책 생성(Create Policy)을 클릭하고 JSON 탭으로 전환합니다. 다음 정책을 붙여넣습니다. 필요한 경우 방금 생성한 호스팅된 영역의 업데이트를 허용하도록 정책을 미세 조정할 수 있습니다. 마법사를 완료합니다.

    {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "route53:ChangeResourceRecordSets"
         ],
         "Resource": [
           "arn:aws:route53:::hostedzone/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "route53:ListHostedZones",
           "route53:ListResourceRecordSets"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
    }
    
  4. 위에서 생성한 정책을 사용하여 ExternalDNS의 IAM 사용자를 생성합니다. AWS 콘솔에서 사용자(Users) 화면으로 이동하고 사용자 추가(Add users)를 클릭합니다. IAM 사용자의 이름을 입력하고 프로그래밍 액세스(Programmatic access)가 사용하도록 설정되었는지 확인합니다. 마법사의 사용 권한(Permissions) 화면에서 기존 정책을 직접 연결(Attach existing policies directly)을 클릭하고 이전 단계에서 생성한 정책을 선택합니다.

  5. 마법사의 마지막 페이지로 이동합니다. 액세스 키 ID(Access key ID)암호 액세스 키(Secret access key)를 기록합니다. 이러한 Route 53 자격 증명을 ExternalDNS에서 사용할 수 있도록 하려면 ExternalDNS가 실행될 네임스페이스에 Kubernetes 암호를 생성합니다.

    1. ExternalDNS를 배포하는 클러스터에 kubectl의 컨텍스트를 설정합니다. 예:

      kubectl config use-context tkg-services-admin@tkg-services
      
    2. Kubernetes 암호를 생성합니다.

      kubectl -n tanzu-system-service-discovery create secret generic route53-credentials \
      --from-literal=aws_access_key_id=YOUR-ACCESS-KEY-ID \
      --from-literal=aws_secret_access_key=YOUR-SECRET-ACCESS-KEY
      

      여기서 YOUR-ACCESS-KEY-IDYOUR-SECRET-ACCESS-KEY는 위에서 기록한 자격 증명입니다.

  6. 패키지의 기본 구성을 검색하여 ExternalDNS 패키지용 구성 파일을 생성합니다.

    tanzu package available get external-dns.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    여기서 PACKAGE-VERSION은 설치하려는 ExternalDNS 패키지의 버전이며 FILE-PATH는 구성 파일을 저장할 위치입니다(예: external-dns-data-values.yaml).

  7. external-dns-data-values.yaml 파일에서 다음 설정을 구성합니다. 이 파일은 ExternalDNS 패키지를 구성합니다.

    ---
    
    # Namespace in which to deploy ExternalDNS pods.
    namespace: tanzu-system-service-discovery
    
    # Deployment-related configuration.
    deployment:
    args:
      - --source=service
      - --source=ingress
      - --source=contour-httpproxy # Provide this to enable Contour HTTPProxy support. Must have Contour installed or ExternalDNS will fail.
      - --domain-filter=DOMAIN # Makes ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones.
      - --policy=upsert-only # Prevents ExternalDNS from deleting any records, omit to enable full synchronization.
      - --registry=txt
      - --txt-owner-id=HOSTED-ZONE-ID
      - --txt-prefix=txt # Disambiguates TXT records from CNAME records.
      - --provider=aws
      - --aws-zone-type=public # Looks only at public hosted zones. Valid values are public, private, or no value for both.
      - --aws-prefer-cname
    env:
      - name: AWS_ACCESS_KEY_ID
         valueFrom:
         secretKeyRef:
            name: route53-credentials
            key: aws_access_key_id
      - name: AWS_SECRET_ACCESS_KEY
         valueFrom:
         secretKeyRef:
            name: route53-credentials
            key: aws_secret_access_key
    securityContext: {}
    volumeMounts: []
    volumes: []
    

    external-dns-data-values.yaml 파일의 자리 표시자를 사용자가 가지고 있는 값으로 교체합니다. 자세한 구성 옵션은 ExternalDNS 설명서를 참조하십시오.

    external-dns-data-values.yaml 파일에서 추가 구성 옵션을 설정하기 전에 ExternalDNS 패키지의 값 스키마를 검토합니다. 값 스키마를 검색하려면 다음을 실행합니다.

    tanzu package available get external-dns.tanzu.vmware.com/AVAILABLE-VERSION --values-schema
    

    여기서 AVAILABLE-VERSION은 ExternalDNS 패키지의 버전입니다. --values-schema 플래그는 ExternalDNS 패키지의 Package API 리소스에서 valuesSchema 섹션을 검색합니다. 값 스키마의 출력 형식인 --outputyaml, json 또는 table로 설정할 수 있습니다. 자세한 내용은 패키지 설치 및 관리에서 패키지를 참조하십시오.

RFC2136(BIND) 서버
RFC2136 제공자를 사용하면 RFC2136 호환 DNS 서버를 BIND와 같은 ExternalDNS의 제공자로 사용할 수 있습니다.
  1. 서버용 TSIG 키를 요청하거나 생성합니다. 이 키는 업데이트할 영역을 업데이트하고 전송할 수 있는 권한이 있어야 합니다. 키는 다음과 유사합니다.

    key "externaldns-key" {
    algorithm hmac-sha256;
    secret "/2avn5M4ndEztbDqy66lfQ+PjRZta9UXLtToW6NV5nM=";
    };
    

    자체 DNS 서버를 관리하는 경우 tsig-keygen -a hmac-sha256 externaldns 명령을 사용하여 TSIG 키를 생성할 수 있습니다. 출력을 DNS 서버 구성에 복사합니다. 예를 들어 BIND의 경우 named.conf 파일에 키를 추가하고 allow-transfer update-policy 필드를 사용하여 영역을 구성합니다. 예:

    key "externaldns-key" {
    algorithm hmac-sha256;
    secret "/2avn5M4ndEztbDqy66lfQ+PjRZta9UXLtToW6NV5nM=";
    };
    zone "k8s.example.org" {
    type master;
    file "/etc/bind/zones/k8s.zone";
          allow-transfer {
          key "externaldns-key";
          };
          update-policy {
          grant externaldns-key zonesub ANY;
          };
    };
    

    위의 경우 다음과 비슷할 수 있는 영역 파일도 있다고 가정합니다.

    $TTL 60 ; 1 minute
    @         IN SOA  k8s.example.org.  root.k8s.example.org. (
                      16  ; serial
                      60  ; refresh (1 minute)
                      60  ; retry (1 minute)
                      60  ; expire (1 minute)
                      60  ; minimum (1 minute)
                      )
                NS   ns.k8s.example.org.
    ns           A    1.2.3.4
    
  2. 패키지의 기본 구성을 검색하여 ExternalDNS 패키지용 구성 파일을 생성합니다.

    tanzu package available get external-dns.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    여기서 PACKAGE-VERSION은 설치하려는 ExternalDNS 패키지의 버전이며 FILE-PATH는 구성 파일을 저장할 위치입니다(예: external-dns-data-values.yaml).

  3. external-dns-data-values.yaml 파일에서 다음 설정을 구성합니다. 이 파일은 ExternalDNS 패키지를 구성합니다.

    ---
    
    # Namespace in which to deploy ExternalDNS pods.
    namespace: tanzu-system-service-discovery
    
    # Deployment-related configuration.
    deployment:
    args:
       - --source=service
       - --source=ingress
       - --source=contour-httpproxy # Provide this to enable Contour HTTPProxy support. Must have Contour installed or ExternalDNS will fail.
       - --domain-filter=DOMAIN # For example, k8s.example.org. Makes ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones.
       - --policy=upsert-only # Prevents ExternalDNS from deleting any records, omit to enable full synchronization.
       - --registry=txt
       - --txt-owner-id=k8s
       - --txt-prefix=external-dns- # Disambiguates TXT records from CNAME records.
       - --provider=rfc2136
       - --rfc2136-host=IP-ADDRESS-OF-RFC2136-DNS-SERVER
       - --rfc2136-port=53
       - --rfc2136-zone=DNS-ZONE # For example, k8s.example.org.
       - --rfc2136-tsig-secret=TSIG-SECRET-FROM-STEP-1
       - --rfc2136-tsig-secret-alg=hmac-sha256
       - --rfc2136-tsig-keyname=TSIG-KEY-NAME # For example, externaldns-key.
       - --rfc2136-tsig-axfr
    env: []
    securityContext: {}
    volumeMounts: []
    volumes: []
    

    external-dns-data-values.yaml 파일의 자리 표시자를 사용자가 가지고 있는 값으로 교체합니다. 자세한 구성 옵션은 ExternalDNS 설명서를 참조하십시오.

    external-dns-data-values.yaml 파일에서 추가 구성 옵션을 설정하기 전에 ExternalDNS 패키지의 값 스키마를 검토합니다. 값 스키마를 검색하려면 다음을 실행합니다.

    tanzu package available get external-dns.tanzu.vmware.com/AVAILABLE-VERSION --values-schema
    

    여기서 AVAILABLE-VERSION은 ExternalDNS 패키지의 버전입니다. --values-schema 플래그는 ExternalDNS 패키지의 Package API 리소스에서 valuesSchema 섹션을 검색합니다. 값 스키마의 출력 형식인 --outputyaml, json 또는 table로 설정할 수 있습니다. 자세한 내용은 패키지 설치 및 관리에서 패키지를 참조하십시오.

Azure
Azure에서 ExternalDNS 패키지를 배포하기 위한 구성 파일을 준비하려면
  1. az CLI에 로그인합니다.

    az login
    
  2. 구독을 설정합니다.

    az account set -s SUBSCRIPTION-ID-GUID
    
  3. 서비스 주체를 생성합니다.

    az ad sp create-for-rbac -n SERVICE-PRINCIPAL-NAME
    

    명령의 JSON 출력은 다음과 유사합니다.

    {
      "appId": "a72a7cfd-7cb0-4b02-b130-03ee87e6ca89",
      "displayName": "foo",
      "name": "http://foo",
      "password": "515c55da-f909-4e17-9f52-236ffe1d3033",
      "tenant": "b35138ca-3ced-4b4a-14d6-cd83d9ea62f0"
    }
    
  4. 서비스 주체에 사용 권한을 할당합니다.

    1. 리소스 그룹의 ID를 검색합니다.

      az group show --name RESOURCE-GROUP --query id
      
    2. 리소스 그룹 범위의 서비스 주체에 리더(reader) 역할을 할당합니다. 위의 az ad sp create-for-rbac 명령 출력에서 appId가 필요합니다.

      az role assignment create --role "Reader" --assignee APP-ID-GUID --scope RESOURCE-GROUP-RESOURCE-ID
      
    3. DNS 영역의 ID를 검색합니다.

      az network dns zone show --name DNS-ZONE-NAME -g RESOURCE-GROUP-NAME --query id
      
    4. DNS 영역 범위의 서비스 주체에 참가자 역할을 할당합니다.

      az role assignment create --role "Contributor" --assignee APP-ID-GUID --scope DNS-ZONE-RESOURCE-ID
      
  5. ExternalDNS 서비스를 Azure DNS 서비스에 연결하려면 다음과 같은 내용으로 로컬 시스템에서 이름이 azure.json인 구성 파일을 생성합니다.

    {
     "tenantId": "01234abc-de56-ff78-abc1-234567890def",
     "subscriptionId": "01234abc-de56-ff78-abc1-234567890def",
     "resourceGroup": "MyDnsResourceGroup",
     "aadClientId": "01234abc-de56-ff78-abc1-234567890def",
     "aadClientSecret": "uKiuXeiwui4jo9quae9o"
    }
    

    위 예시의 값을 다음과 같이 사용자가 가지고 있는 값으로 대체합니다.

    • tenantId를 검색하려면 az account show --query "tenantId" 명령을 실행합니다.
    • subscriptionId를 검색하려면 az account show --query "id" 명령을 실행합니다.
    • resourceGroup은 DNS 영역이 속한 리소스 그룹의 이름입니다.
    • aadClientId는 서비스 주체 출력의 appId입니다.
    • aadClientSecret는 서비스 주체 출력의 암호입니다.
  6. Azure 자격 증명을 ExternalDNS에서 사용할 수 있도록 하려면 ExternalDNS가 실행될 네임스페이스에 Kubernetes 암호를 생성합니다.

    1. ExternalDNS를 배포하는 클러스터에 kubectl의 컨텍스트를 설정합니다. 예:

      kubectl config use-context tkg-services-admin@tkg-services
      
    2. 이전 단계의 azure.json 구성 파일을 사용하여 암호를 생성합니다.

      kubectl -n tanzu-system-service-discovery create secret generic azure-config-file --from-file=azure.json
      
  7. 패키지의 기본 구성을 검색하여 ExternalDNS 패키지용 구성 파일을 생성합니다.

    tanzu package available get external-dns.tanzu.vmware.com/PACKAGE-VERSION --default-values-file-output FILE-PATH
    

    여기서 PACKAGE-VERSION은 설치하려는 ExternalDNS 패키지의 버전이며 FILE-PATH는 구성 파일을 저장할 위치입니다(예: external-dns-data-values.yaml).

  8. external-dns-data-values.yaml 파일에서 다음 설정을 구성합니다. 이 파일은 ExternalDNS 패키지를 구성합니다.

    ---
    
    # Namespace in which to deploy ExternalDNS.
    namespace: tanzu-system-service-discovery
    
    # Deployment-related configuration.
    deployment:
     args:
       - --source=service
       - --source=ingress
       - --source=contour-httpproxy # Provide this to enable Contour HTTPProxy support. Must have Contour installed or ExternalDNS will fail.
       - --domain-filter=DOMAIN # For example, k8s.example.org. Makes ExternalDNS see only the hosted zones matching provided domain, omit to process all available hosted zones.
       - --policy=upsert-only # Prevents ExternalDNS from deleting any records, omit to enable full synchronization.
       - --registry=txt
       - --txt-prefix=externaldns- # Disambiguates TXT records from CNAME records.
       - --provider=azure
       - --azure-resource-group=RESOURCE-GROUP # Azure resource group.
     env: []
     securityContext: {}
     volumeMounts:
       - name: azure-config-file
         mountPath: /etc/kubernetes
         readOnly: true
     volumes:
       - name: azure-config-file
         secret:
           secretName: azure-config-file
    

    external-dns-data-values.yaml 파일의 자리 표시자를 사용자가 가지고 있는 값으로 교체합니다. 자세한 구성 옵션은 ExternalDNS 설명서를 참조하십시오.

    external-dns-data-values.yaml 파일에서 추가 구성 옵션을 설정하기 전에 ExternalDNS 패키지의 값 스키마를 검토합니다. 값 스키마를 검색하려면 다음을 실행합니다.

    tanzu package available get external-dns.tanzu.vmware.com/AVAILABLE-VERSION --values-schema
    

    여기서 AVAILABLE-VERSION은 ExternalDNS 패키지의 버전입니다. --values-schema 플래그는 ExternalDNS 패키지의 Package API 리소스에서 valuesSchema 섹션을 검색합니다. 값 스키마의 출력 형식인 --outputyaml, json 또는 table로 설정할 수 있습니다. 자세한 내용은 패키지 설치 및 관리에서 패키지를 참조하십시오.


ExternalDNS 패키지 설치

  1. ExternalDNS를 배포하는 클러스터에 kubectl의 컨텍스트를 설정합니다. 예:

    kubectl config use-context tkg-services-admin@tkg-services
    
  2. 클러스터에 ExternalDNS 패키지가 설치된 패키지 저장소(예: tanzu-standard 저장소)가 없는 경우 설치합니다.

    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    

    여기서:

    • PACKAGE-REPO-NAME은 패키지 저장소의 이름(예: tanzu-standard 또는 ADDITIONAL_IMAGE_REGISTRY 변수로 구성된 개인 이미지 레지스트리의 이름입니다.
    • PACKAGE-REPO-ENDPOINT는 패키지 저장소의 URL입니다.

      • 이 릴리스의 경우 tanzu-standard URL은 projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16입니다. Tanzu CLI에서 이 값을 가져오려면 패키지 저장소 나열을 참조하거나 Tanzu Mission Control의 클러스터(Cluster) 창에서 추가 기능(Addons) > 저장소(Repositories) 목록을 참조하십시오.
  3. ExternalDNS 패키지의 이름을 검색합니다.

    tanzu package available list -A
    
  4. ExternalDNS 패키지의 버전을 검색합니다.

    tanzu package available list external-dns.tanzu.vmware.com -A
    
  5. external-dns-data-values.yaml 파일에 주석이 포함된 경우 패키지를 설치하기 전에 제거합니다.

    yq -i eval '... comments=""' external-dns-data-values.yaml
    
  6. 패키지를 설치합니다.

    tanzu package install external-dns \
    --package external-dns.tanzu.vmware.com \
    --version AVAILABLE-PACKAGE-VERSION \
    --values-file external-dns-data-values.yaml \
    --namespace TARGET-NAMESPACE
    

    여기서:

    • TARGET-NAMESPACE는 ExternalDNS 패키지를 설치하려는 네임스페이스입니다. 예: my-packages 또는 tanzu-cli-managed-packages 네임스페이스.

      • --namespace 플래그가 지정되지 않은 경우 Tanzu CLI는 default 네임스페이스에 패키지를 설치합니다. ExternalDNS 포드, 그리고 ExternalDNS 구성 요소와 연결된 기타 리소스는 tanzu-system-service-discovery 네임스페이스에 생성됩니다. 이 네임스페이스에 ExternalDNS 패키지를 설치하지 마십시오.
      • 지정된 네임스페이스가 이미 존재해야 합니다(예: kubectl create namespace my-packages 실행).
    • AVAILABLE-PACKAGE-VERSION은 위에서 검색한 버전입니다.

    예:

    tanzu package install external-dns \
    --package external-dns.tanzu.vmware.com \
    --version 0.10.0+vmware.1-tkg.1 \
    --values-file external-dns-data-values.yaml \
    --namespace my-packages
    
  7. external-dns 패키지가 설치되었는지 확인합니다.

    tanzu package installed list -A
    

    패키지에 대한 자세한 내용을 보려면 다음도 실행합니다.

    tanzu package installed get external-dns --namespace PACKAGE-NAMESPACE
    

    여기서 PACKAGE-NAMESPACEexternal-dns 패키지가 설치되어 있는 네임스페이스입니다.

  8. external-dns 애플리케이션이 PACKAGE-NAMESPACE에서 조정되었는지 확인합니다.

    kubectl get apps -A
    

    상태가 Reconcile Succeeded가 아닌 경우 external-dns 애플리케이션의 전체 상태 세부 정보를 확인합니다. 전체 상태를 확인하면 문제를 해결하는 데 도움이 될 수 있습니다.

    kubectl get app external-dns --namespace PACKAGE-NAMESPACE -o yaml
    

    여기서 PACKAGE-NAMESPACE는 패키지를 설치한 네임스페이스입니다. 문제 해결이 문제를 해결하는 데 도움이 되지 않을 경우 패키지를 다시 설치하기 전에 제거해야 합니다.

    tanzu package installed delete external-dns --namespace PACKAGE-NAMESPACE
    
  9. externalDNS 포드가 tanzu-system-service-discovery 네임스페이스에서 실행되고 있는지 확인합니다.

    kubectl get pods -A
    

ExternalDNS 검증

Contour로 구성된 경우 ExternalDNS는 HTTPProxy 리소스에 지정된 네임스페이스를 자동으로 보고, 구성된 도메인 필터와 일치하는 호스트 이름을 사용하여 서비스의 DNS 레코드를 생성합니다.

또한, ExternalDNS는 주석 external-dns.alpha.kubernetes.io/hostname을 사용하여 Kubernetes 서비스를 자동으로 감시하고, 주석이 구성된 도메인 필터와 일치하는 서비스의 DNS 레코드를 생성합니다.

예를 들어 주석 external-dns.alpha.kubernetes.io/hostname: foo.k8s.example.org 서비스의 경우 ExternalDNS는 foo.k8s.example.org의 DNS 레코드를 생성합니다. 생성한 영역을 검토하여 레코드가 존재하는지 확인할 수 있습니다.

실행 중인 ExternalDNS 배포 업데이트

배포 후 ExternalDNS 패키지의 구성을 변경해야 하는 경우 다음 단계에 따라 배포된 ExternalDNS 패키지를 업데이트합니다.

  1. external-dns-data-values.yaml에서 ExternalDNS 구성을 업데이트합니다.

  2. 설치된 패키지의 구성을 업데이트합니다.

    tanzu package installed update external-dns \
    --version INSTALLED-PACKAGE-VERSION \
    --values-file external-dns-data-values.yaml \
    --namespace INSTALLED-PACKAGE-NAMESPACE
    

    형식 설명:

    • INSTALLED-PACKAGE-VERSION은 설치된 ExternalDNS 패키지의 버전입니다.
    • INSTALLED-PACKAGE-NAMESPACE는 ExternalDNS 패키지가 설치된 네임스페이스입니다.

    예:

    tanzu package installed update external-dns \
    --version 0.10.0+vmware.1-tkg.1 \
    --values-file external-dns-data-values.yaml \
    --namespace my-packages
    

ExternalDNS 패키지가 새 값 또는 추가한 값을 사용하여 조정됩니다. kapp-controller가 변경 내용을 적용하는 데 최대 5분이 걸릴 수 있습니다.

tanzu package installed update 명령에 대한 자세한 내용은 패키지 설치 및 관리에서 패키지 업데이트를 참조하십시오. 이 명령을 사용하여 설치된 패키지의 버전 또는 구성을 업데이트할 수 있습니다.

check-circle-line exclamation-circle-line close-line
Scroll to top icon