튜토리얼
1장. 튜토리얼 개요 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat 전문가의 단계별 튜토리얼을 사용하여 관리형 OpenShift 클러스터를 최대한 활용할 수 있습니다.
이 콘텐츠는 Red Hat 전문가가 작성했지만 지원되는 모든 구성에서 테스트되지 않았습니다.
2장. 튜토리얼: 사용자 정의 도메인 및 TLS 인증서를 사용하여 구성 요소 경로 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
이 가이드에서는 Google Cloud 버전 4.14 이상의 OpenShift Dedicated에서 웹 콘솔, OAuth 서버 및 다운로드 구성 요소 경로의 호스트 이름 및 TLS 인증서를 수정하는 방법을 보여줍니다.[1]
구성 요소 경로에 대한 변경 사항[2] 이 가이드에서는 내부 OAuth 서버 URL 사용자 지정,콘솔 경로 사용자 지정, 다운로드 경로 OpenShift Dedicated 설명서 사용자 지정에 자세히 설명되어 있습니다.
2.1. 사전 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
-
OCM CLI(
ocm) 버전 1.0.5 이상 -
gcloud CLI(
gcloud) - Google Cloud 클러스터 버전 4.14 이상의 OpenShift Dedicated
-
OpenShift CLI(
oc) -
jqCLI -
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenSSL(데모 SSL/TLS 인증서를 생성하기 위해)
2.2. 환경 설정 링크 복사링크가 클립보드에 복사되었습니다!
-
cluster-admin권한이 있는 계정을 사용하여 클러스터에 로그인합니다. 클러스터 이름에 대한 환경 변수를 구성합니다.
export CLUSTER_NAME=$(oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}" | sed 's/-[a-z0-9]\{5\}$//')$ export CLUSTER_NAME=$(oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}" | sed 's/-[a-z0-9]\{5\}$//')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 섹션으로 이동하기 전에 모든 필드가 올바르게 출력되는지 확인합니다.
echo "Cluster: ${CLUSTER_NAME}"$ echo "Cluster: ${CLUSTER_NAME}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Cluster: my-osd-cluster
Cluster: my-osd-clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 현재 경로 찾기 링크 복사링크가 클립보드에 복사되었습니다!
기본 호스트 이름에서 구성 요소 경로에 연결할 수 있는지 확인합니다.
openshift-console및openshift-authentication프로젝트의 경로 목록을 쿼리하여 호스트 이름을 찾을 수 있습니다.oc get routes -n openshift-console oc get routes -n openshift-authentication
$ oc get routes -n openshift-console $ oc get routes -n openshift-authenticationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD console console-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more console https reencrypt/Redirect None downloads downloads-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more downloads http edge/Redirect None NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD oauth-openshift oauth-openshift.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more oauth-openshift 6443 passthrough/Redirect None
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD console console-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more console https reencrypt/Redirect None downloads downloads-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more downloads http edge/Redirect None NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD oauth-openshift oauth-openshift.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com ... 1 more oauth-openshift 6443 passthrough/Redirect NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력에서 기본 호스트 이름은
z9a9.p2.openshiftapps.com임을 확인할 수 있습니다.다음 명령을 실행하여 기본 수신의 ID를 가져옵니다.
export INGRESS_ID=$(ocm list ingress -c ${CLUSTER_NAME} -o json | jq -r '.[] | select(.default == true) | .id')$ export INGRESS_ID=$(ocm list ingress -c ${CLUSTER_NAME} -o json | jq -r '.[] | select(.default == true) | .id')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 섹션으로 이동하기 전에 모든 필드가 올바르게 출력되는지 확인합니다.
echo "Ingress ID: ${INGRESS_ID}"$ echo "Ingress ID: ${INGRESS_ID}"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Ingress ID: r3l6
Ingress ID: r3l6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 명령을 실행하면 클러스터의 기본 구성 요소 경로가 다음과 같습니다.
-
console-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.comfor Console -
Downloads-openshift-console.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.com -
oauth-openshift.apps.my-example-cluster-gcp.z9a9.p2.openshiftapps.comfor OAuth
-
ocm edit ingress 명령을 사용하여 각 서비스의 호스트 이름을 변경하고 모든 구성 요소 경로에 대한 TLS 인증서를 추가할 수 있습니다. 관련 매개변수는 ocm edit ingress 명령에 대한 명령줄 도움말의 이 발췌에 표시됩니다.
ocm edit ingress -h
$ ocm edit ingress -h
Edit a cluster ingress for a cluster. Usage:
ocm edit ingress ID [flags]
[...]
--component-routes string Component routes settings. Available keys [oauth, console, downloads]. For each key a pair of hostname and tlsSecretRef is expected to be supplied. Format should be a comma separate list 'oauth: hostname=example-hostname;tlsSecretRef=example-secret-ref,downloads:...'
이 예제에서는 다음과 같은 사용자 지정 구성 요소 경로를 사용합니다.
-
console.my-new-domain.dev -
Downloads.my-new-domain.devfor Downloads -
oauth.my-new-domain.devfor OAuth
2.4. 각 구성 요소 경로에 유효한 TLS 인증서 생성 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 별도의 자체 서명된 인증서 키 쌍을 세 개 생성한 다음 이를 신뢰하여 실제 웹 브라우저를 사용하여 새 구성 요소 경로에 액세스할 수 있는지 확인합니다.
이는 설명용으로만 사용되며 프로덕션 워크로드를 위한 솔루션으로는 권장되지 않습니다. 프로덕션 워크로드에 대한 유사한 특성으로 인증서를 생성하는 방법을 알아보려면 인증 기관을 참조하십시오.
HTTP/2 연결 병합 문제를 방지하려면 각 끝점에 대해 별도의 개별 인증서를 사용해야 합니다. 와일드카드 또는 SAN 인증서 사용은 지원되지 않습니다.
각 구성 요소 경로에 대한 인증서를 생성하고 인증서의 제목(
-subj)을 사용하려는 구성 요소 경로의 사용자 지정 도메인으로 설정합니다.예
openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-console.pem -out cert-console.pem -subj "/CN=console.my-new-domain.dev" openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-downloads.pem -out cert-downloads.pem -subj "/CN=downloads.my-new-domain.dev" openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-oauth.pem -out cert-oauth.pem -subj "/CN=oauth.my-new-domain.dev"
$ openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-console.pem -out cert-console.pem -subj "/CN=console.my-new-domain.dev" $ openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-downloads.pem -out cert-downloads.pem -subj "/CN=downloads.my-new-domain.dev" $ openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout key-oauth.pem -out cert-oauth.pem -subj "/CN=oauth.my-new-domain.dev"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이렇게 하면
.pem파일,key-<component>.pem 및쌍의 세 쌍이 생성됩니다.cert-<component>.pem
2.5. 클러스터에 시크릿으로 인증서 추가 링크 복사링크가 클립보드에 복사되었습니다!
openshift-config네임스페이스에 3개의 TLS 시크릿을 생성합니다.이는 이 가이드의 뒷부분에 있는 구성 요소 경로를 업데이트할 때 시크릿 참조가 됩니다.
oc create secret tls console-tls --cert=cert-console.pem --key=key-console.pem -n openshift-config oc create secret tls downloads-tls --cert=cert-downloads.pem --key=key-downloads.pem -n openshift-config oc create secret tls oauth-tls --cert=cert-oauth.pem --key=key-oauth.pem -n openshift-config
$ oc create secret tls console-tls --cert=cert-console.pem --key=key-console.pem -n openshift-config $ oc create secret tls downloads-tls --cert=cert-downloads.pem --key=key-downloads.pem -n openshift-config $ oc create secret tls oauth-tls --cert=cert-oauth.pem --key=key-oauth.pem -n openshift-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. 클러스터에서 로드 밸런서의 로드 밸런서 IP 찾기 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 생성할 때 서비스는 로드 밸런서를 생성하고 해당 로드 밸런서에 대한 로드 밸런서 IP를 생성합니다. 클러스터에 대한 DNS 레코드를 만들려면 로드 밸런서 IP를 알아야 합니다.
openshift-ingress 네임스페이스에 대해 oc get svc 명령을 실행하여 로드 밸런서 IP를 찾을 수 있습니다. 로드 밸런서의 로드 밸런서 IP는 openshift-ingress 네임스페이스의 router-default 서비스와 연결된 EXTERNAL-IP 입니다.
oc get svc -n openshift-ingress
$ oc get svc -n openshift-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
router-default LoadBalancer 172.30.237.88 34.85.169.230 80:31175/TCP,443:31554/TCP 76d
이 경우 로드 밸런서 IP는 34.85.169.230 입니다.
나중에 이 값을 저장하십시오. 새 구성 요소 경로 호스트 이름에 대한 DNS 레코드를 구성해야 하므로 나중에 이 값을 저장합니다.
2.7. 호스팅 공급자에 구성 요소 경로 DNS 레코드 추가 링크 복사링크가 클립보드에 복사되었습니다!
DNS 설정에 A 레코드를 만들어 router-default 로드 밸런서의 IP 주소를 가리킵니다.
2.8. OCM CLI를 사용하여 구성 요소 경로 및 TLS 시크릿 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
DNS 레코드가 업데이트되면 OCM CLI를 사용하여 구성 요소 경로를 변경할 수 있습니다.
ocm edit ingress명령을 사용하여 기본 수신 경로를 새 기본 도메인 및 연결된 보안 참조로 업데이트하여 각 구성 요소 경로의 호스트 이름을 업데이트합니다.ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname=console.my-new-domain.dev;tlsSecretRef=console-tls,downloads: hostname=downloads.my-new-domain.dev;tlsSecretRef=downloads-tls,oauth: hostname=oauth.my-new-domain.dev;tlsSecretRef=oauth-tls'$ ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname=console.my-new-domain.dev;tlsSecretRef=console-tls,downloads: hostname=downloads.my-new-domain.dev;tlsSecretRef=downloads-tls,oauth: hostname=oauth.my-new-domain.dev;tlsSecretRef=oauth-tls'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고구성 요소 경로를 빈 문자열로 설정하지 않으려는 상태로 두어 구성 요소 경로의 하위 집합만 편집할 수도 있습니다. 예를 들어 콘솔 및 OAuth 서버 호스트 이름 및 TLS 인증서만 변경하려면 다음 명령을 실행합니다.
ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname=console.my-new-domain.dev;tlsSecretRef=console-tls,downloads: hostname="";tlsSecretRef="", oauth: hostname=oauth.my-new-domain.dev;tlsSecretRef=oauth-tls'$ ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname=console.my-new-domain.dev;tlsSecretRef=console-tls,downloads: hostname="";tlsSecretRef="", oauth: hostname=oauth.my-new-domain.dev;tlsSecretRef=oauth-tls'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ocm list ingress명령을 실행하여 변경 사항이 성공적으로 적용되었는지 확인합니다.ocm list ingress -c ${CLUSTER_NAME} -ojson | jq ".[] | select(.id == \"${INGRESS_ID}\") | .component_routes"$ ocm list ingress -c ${CLUSTER_NAME} -ojson | jq ".[] | select(.id == \"${INGRESS_ID}\") | .component_routes"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 로컬 시스템의 신뢰 저장소에 인증서를 추가한 다음 로컬 웹 브라우저를 사용하여 새 경로에서 구성 요소에 액세스할 수 있는지 확인합니다.
2.9. OCM CLI를 사용하여 구성 요소 경로를 기본값으로 재설정 링크 복사링크가 클립보드에 복사되었습니다!
구성 요소 경로를 기본 구성으로 재설정하려면 다음 ocm edit ingress 명령을 실행합니다.
ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname="";tlsSecretRef="",downloads: hostname="";tlsSecretRef="", oauth: hostname="";tlsSecretRef=""'
$ ocm edit ingress -c ${CLUSTER_NAME} ${INGRESS_ID} --component-routes 'console: hostname="";tlsSecretRef="",downloads: hostname="";tlsSecretRef="", oauth: hostname="";tlsSecretRef=""'
3장. 튜토리얼: Google Cloud Next Generation Firewall으로 송신 제한 링크 복사링크가 클립보드에 복사되었습니다!
이 가이드를 사용하여 Google Cloud의 NGFW(Next Generation Firewall)를 사용하여 Google Cloud에서 OpenShift Dedicated에 대한 송신 제한 사항을 구현합니다. NGFW는 방화벽 정책 규칙에서 FQDN(정규화된 도메인 이름) 개체를 허용하는 완전히 분산된 방화벽 서비스입니다. 이는 OpenShift Dedicated에서 사용하는 많은 외부 끝점에 필요합니다.
방화벽 또는 기타 네트워크 장치를 사용하여 송신 트래픽을 제한하는 기능은 Private Service Connect(PSC)를 사용하여 배포된 OpenShift Dedicated 클러스터에서만 지원됩니다. PSC를 사용하지 않는 클러스터에는 이 기능을 사용하려면 지원 예외가 필요합니다. 추가 지원을 받으려면 지원 케이스를 작성하십시오.
3.1. 사전 요구 사항 검토 링크 복사링크가 클립보드에 복사되었습니다!
-
Google Cloud 명령줄 인터페이스(
gcloud)가 설치되어 있어야 합니다. - Google Cloud CLI에 로그인했으며 OpenShift Dedicated를 배포하려는 Google Cloud 프로젝트를 선택했습니다.
다음을 포함하여 Google Cloud에서 필요한 최소 권한이 있어야 합니다.
-
컴퓨팅 네트워크 관리자 -
DNS 관리자
-
터미널에서 다음 명령을 실행하여 특정 서비스를 활성화했습니다.
gcloud services enable networksecurity.googleapis.com
$ gcloud services enable networksecurity.googleapis.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud services enable networkservices.googleapis.com
$ gcloud services enable networkservices.googleapis.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud services enable servicenetworking.googleapis.com
$ gcloud services enable servicenetworking.googleapis.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 환경 설정 링크 복사링크가 클립보드에 복사되었습니다!
터미널에서 다음 환경 변수를 구성합니다.
이 예에서는 us-east1 을 리전으로 사용하여 에 배포하고 클러스터 리소스의 osd-ngfw 접두사를 사용합니다. 기본 CIDR 범위는 서비스 및 Pod 네트워크에 할당됩니다. 머신 CIDR은 이 튜토리얼의 뒷부분에 설정된 서브넷 범위를 기반으로 합니다. 요구 사항에 맞게 매개변수를 수정합니다.
3.3. VPC 및 서브넷 생성 링크 복사링크가 클립보드에 복사되었습니다!
Google Cloud NGFW를 배포하려면 먼저 OpenShift Dedicated에 사용할 VPC(Virtual Private Cloud) 및 서브넷을 생성해야 합니다.
다음 명령을 실행하여 VPC를 생성합니다.
gcloud compute networks create ${prefix}-vpc --subnet-mode=custom$ gcloud compute networks create ${prefix}-vpc --subnet-mode=customCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 작업자 서브넷을 생성합니다.
gcloud compute networks subnets create ${prefix}-worker \ --range=10.0.2.0/23 \ --network=${prefix}-vpc \ --region=${region} \ --enable-private-ip-google-access$ gcloud compute networks subnets create ${prefix}-worker \ --range=10.0.2.0/23 \ --network=${prefix}-vpc \ --region=${region} \ --enable-private-ip-google-accessCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 컨트롤 플레인 서브넷을 생성합니다.
gcloud compute networks subnets create ${prefix}-control-plane \ --range=10.0.0.0/25 \ --network=${prefix}-vpc \ --region=${region} \ --enable-private-ip-google-access$ gcloud compute networks subnets create ${prefix}-control-plane \ --range=10.0.0.0/25 \ --network=${prefix}-vpc \ --region=${region} \ --enable-private-ip-google-accessCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PSC 서브넷을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 작업자 서브넷에 10.0.2.0/23의 서브넷 범위를 사용하고, 컨트롤 플레인 서브넷의 경우 10.0.0.0/25, PSC 서브넷의 경우 10.0.0.128/29를 사용합니다. 요구 사항에 맞게 매개변수를 수정합니다. 이 튜토리얼의 앞부분에서 설정한 머신 CIDR에 매개변수 값이 포함되어 있는지 확인합니다.
3.4. 글로벌 네트워크 방화벽 정책 배포 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 실행하여 글로벌 네트워크 방화벽 정책을 생성합니다.
gcloud compute network-firewall-policies create \ ${prefix} \ --description "OpenShift Dedicated Egress Firewall" \ --global$ gcloud compute network-firewall-policies create \ ${prefix} \ --description "OpenShift Dedicated Egress Firewall" \ --globalCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 새로 생성된 글로벌 네트워크 방화벽 정책을 위에서 생성한 VPC에 연결합니다.
gcloud compute network-firewall-policies associations create \ --firewall-policy ${prefix} \ --network ${prefix}-vpc \ --global-firewall-policy$ gcloud compute network-firewall-policies associations create \ --firewall-policy ${prefix} \ --network ${prefix}-vpc \ --global-firewall-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. 클라우드 라우터 및 클라우드 네트워크 주소 변환 게이트웨이 생성 링크 복사링크가 클립보드에 복사되었습니다!
NAT(Network Address Translation) 게이트웨이를 사용하면 모든 트래픽을 단일 공용 IP 주소로 마스커레이딩하여 프라이빗 VM에 대한 인터넷 연결을 활성화합니다. 지정된 종료 지점으로 업데이트 가져오기와 같은 아웃바운드 요청에 대한 내부 IP를 변환합니다. 이 프로세스는 개인 주소를 노출하지 않고 인터넷에 효과적으로 액세스 할 수 있습니다.
다음 명령을 실행하여 Cloud NAT의 IP 주소를 예약합니다.
gcloud compute addresses create ${prefix}-${region}-cloudnatip \ --region=${region}$ gcloud compute addresses create ${prefix}-${region}-cloudnatip \ --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클라우드 라우터를 만듭니다.
gcloud compute routers create ${prefix}-router \ --region=${region} \ --network=${prefix}-vpc$ gcloud compute routers create ${prefix}-router \ --region=${region} \ --network=${prefix}-vpcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Cloud NAT를 생성합니다.
gcloud compute routers nats create ${prefix}-cloudnat-${region} \ --router=${prefix}-router --router-region ${region} \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=${prefix}-${region}-cloudnatip$ gcloud compute routers nats create ${prefix}-cloudnat-${region} \ --router=${prefix}-router --router-region ${region} \ --nat-all-subnet-ip-ranges \ --nat-external-ip-pool=${prefix}-${region}-cloudnatipCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.6. Private Google Access를 위한 프라이빗 도메인 이름 시스템 레코드 생성 링크 복사링크가 클립보드에 복사되었습니다!
프라이빗 DNS(Domain Name System) 영역은 트래픽이 공용 인터넷을 통해 이동하지 않도록 하여 리소스가 Google API에 연결하는 방법을 최적화합니다. Google 서비스에 대한 DNS 요청을 가로채고 개인 IP 주소로 해결하여 기능을 제공하므로 더 빠르고 안전한 데이터 교환을 위해 Google의 내부 네트워크에 대한 연결을 강제 연결합니다.
다음 명령을 실행하여 googleapis.com 도메인의 프라이빗 DNS 영역을 생성합니다.
gcloud dns managed-zones create ${prefix}-googleapis \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/${project_id}/global/networks/${prefix}-vpc \ --description="Private Google Access" \ --dns-name=googleapis.com$ gcloud dns managed-zones create ${prefix}-googleapis \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/${project_id}/global/networks/${prefix}-vpc \ --description="Private Google Access" \ --dns-name=googleapis.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 레코드 세트 트랜잭션을 시작합니다.
gcloud dns record-sets transaction start \ --zone=${prefix}-googleapis$ gcloud dns record-sets transaction start \ --zone=${prefix}-googleapisCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 googleapis.com 도메인에서 Google API의 DNS 레코드를 준비합니다.
gcloud dns record-sets transaction add --name="*.googleapis.com." \ --type=CNAME restricted.googleapis.com. \ --zone=${prefix}-googleapis \ --ttl=300$ gcloud dns record-sets transaction add --name="*.googleapis.com." \ --type=CNAME restricted.googleapis.com. \ --zone=${prefix}-googleapis \ --ttl=300Copy to Clipboard Copied! Toggle word wrap Toggle overflow gcloud dns record-sets transaction add 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --name=restricted.googleapis.com. \ --type=A \ --zone=${prefix}-googleapis \ --ttl=300$ gcloud dns record-sets transaction add 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --name=restricted.googleapis.com. \ --type=A \ --zone=${prefix}-googleapis \ --ttl=300Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 위에서 시작한 스테이징된 레코드 세트 트랜잭션을 적용합니다.
gcloud dns record-sets transaction execute \ --zone=$prefix-googleapis$ gcloud dns record-sets transaction execute \ --zone=$prefix-googleapisCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7. 방화벽 규칙 생성 링크 복사링크가 클립보드에 복사되었습니다!
다음 명령을 실행하여 개인 IP(RFC 1918) 주소 공간에 대한 빈 세트 허용 규칙을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 OpenShift Dedicated에 필요한 HTTPS(tcp/443) 도메인에 대한 허용 규칙을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요트래픽을 허용하는 일치하는 규칙이 없으면 방화벽에 의해 차단됩니다. 내부 네트워크 또는 기타 외부 엔드포인트와 같은 다른 리소스에 대한 액세스를 허용하려면 우선순위가 1000 미만인 추가 규칙을 생성합니다. 방화벽 규칙을 만드는 방법에 대한 자세한 내용은 글로벌 네트워크 방화벽 정책 및 규칙 사용을 참조하십시오.
3.8. 클러스터 생성 링크 복사링크가 클립보드에 복사되었습니다!
이제 Google Cloud 클러스터에서 OpenShift Dedicated를 생성할 준비가 되었습니다. 자세한 내용은 Workload Identity Federation authentication을 사용하여 Google Cloud에서 클러스터 생성 을 참조하십시오.
3.9. 클러스터 삭제 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 삭제하려면 Google Cloud에서 OpenShift Dedicated 클러스터 삭제를 참조하십시오.
3.10. 리소스 정리 링크 복사링크가 클립보드에 복사되었습니다!
지속적인 비용을 방지하려면 클러스터를 삭제한 후 이 튜토리얼의 일부로 생성한 Google Cloud 네트워킹 인프라를 수동으로 삭제해야 합니다. 클러스터를 삭제해도 이러한 기본 리소스가 자동으로 제거되지는 않습니다. Google Cloud 콘솔 내에서 gcloud CLI 명령 및 작업 조합을 사용하여 이러한 리소스를 정리할 수 있습니다.
이 튜토리얼에 대해 생성한 리소스 정리 프로세스를 시작하기 전에 다음 명령을 실행하고 프롬프트를 완료합니다.
ID를 인증하려면 다음 명령을 실행합니다.
gcloud init
$ gcloud initCopy to Clipboard Copied! Toggle word wrap Toggle overflow Google Cloud 계정에 로그인하려면 다음 명령을 실행합니다.
gcloud auth application-default login
$ gcloud auth application-default loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Cluster Manager CLI 툴에 로그인하려면 다음 명령을 실행합니다.
ocm login --use-auth-code
$ ocm login --use-auth-codeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이제 이 튜토리얼의 일부로 만든 리소스를 정리할 준비가 되었습니다. 리소스 종속성을 존중하려면 생성 후 역순으로 삭제합니다.
다음 명령을 실행하여 VPC와의 방화벽 정책 연결을 삭제합니다.
gcloud compute network-firewall-policies associations delete \ --firewall-policy=${prefix} \ --network=${prefix}-vpc \ --global-firewall-policy$ gcloud compute network-firewall-policies associations delete \ --firewall-policy=${prefix} \ --network=${prefix}-vpc \ --global-firewall-policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 글로벌 네트워크 방화벽 정책을 삭제합니다.
gcloud compute network-firewall-policies delete ${prefix} --global$ gcloud compute network-firewall-policies delete ${prefix} --globalCopy to Clipboard Copied! Toggle word wrap Toggle overflow Google Cloud의 관리형 DNS 영역은 모든 사용자 정의 레코드 세트가 제거될 때까지 삭제할 수 없습니다. 다음 명령을 실행하여 특정 Google Cloud 프로젝트 및 관리 DNS 영역을 대상으로 하는 변수를 정의합니다.
cat /tmp/delete_records.sh PROJECT_ID=<your-project-id> ZONE_NAME=<your-managed-zone-name>
$ cat /tmp/delete_records.sh PROJECT_ID=<your-project-id> ZONE_NAME=<your-managed-zone-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 프라이빗 DNS 영역에 포함된 레코드 세트를 나열합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 프라이빗 DNS 영역에 포함된 레코드 세트를 삭제합니다.
gcloud --project=$PROJECT_ID dns record-sets delete "$name" --zone=$ZONE_NAME --type="$type"
$ gcloud --project=$PROJECT_ID dns record-sets delete "$name" --zone=$ZONE_NAME --type="$type"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 프라이빗 DNS 영역을 삭제합니다.
gcloud dns managed-zones delete ${prefix}-googleapis$ gcloud dns managed-zones delete ${prefix}-googleapisCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cloud NAT 게이트웨이를 삭제합니다.
gcloud compute routers nats delete ${prefix}-cloudnat-${region} \ --router=${prefix}-router \ --router-region=${region}$ gcloud compute routers nats delete ${prefix}-cloudnat-${region} \ --router=${prefix}-router \ --router-region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클라우드 라우터를 삭제합니다.
gcloud compute routers delete ${prefix}-router --region=${region}$ gcloud compute routers delete ${prefix}-router --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 예약된 IP 주소를 삭제합니다.
gcloud compute addresses delete ${prefix}-${region}-cloudnatip --region=${region}$ gcloud compute addresses delete ${prefix}-${region}-cloudnatip --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 작업자 서브넷을 삭제합니다.
gcloud compute networks subnets delete ${prefix}-worker --region=${region}$ gcloud compute networks subnets delete ${prefix}-worker --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 컨트롤 플레인 서브넷을 삭제합니다.
gcloud compute networks subnets delete ${prefix}-control-plane --region=${region}$ gcloud compute networks subnets delete ${prefix}-control-plane --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PSC 서브넷을 삭제합니다.
gcloud compute networks subnets delete ${prefix}-psc --region=${region}$ gcloud compute networks subnets delete ${prefix}-psc --region=${region}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 VPC를 삭제합니다.
gcloud compute networks delete ${prefix}-vpc$ gcloud compute networks delete ${prefix}-vpcCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Legal Notice
링크 복사링크가 클립보드에 복사되었습니다!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.