클러스터에 서비스 자격 증명 바인딩하기
IBM Cloud AI, 데이터, 보안 및 IoT(Internet of Things) 등의 분야에서 추가 기능으로 Kubernetes 클러스터를 개선하려면 Watson 서비스를 추가하십시오.
2025년 8월 4일부터 IBM Cloud 에서 새 서비스 인스턴스의 모든 리소스 자격 증명에 대해 일회성 보기를 기본 동작으로 설정합니다. service bind CLI를 사용하여 클러스터에 서비스 자격 증명을 추가하는 대신, 다음 단계에 따라 클러스터에 서비스 자격 증명을 수동으로 추가하세요. 자세한 내용은
일회성 자격 증명을 참조하세요.
- IBM Cloud 서비스 바인딩의 개념
- 서비스 바인딩은 퍼블릭 클라우드 서비스 엔드포인트를 사용하고 이러한 인증 정보를 클러스터의 Kubernetes 시크릿에 저장하여 IBM Cloud 서비스에 대한 서비스 인증 정보를 작성할 수 있는 빠른 방법입니다. 클러스터에 서비스를 바인드하려면 우선 서비스의 인스턴스를 프로비저닝해야 합니다. 그런 다음 서비스를 클러스터에 수동으로 바인딩하거나
service bindCLI 명령을 사용하여 서비스 자격 증명과 Kubernetes 시크릿을 만들 수 있습니다. - 내 클러스터에 바인드할 수 있는 서비스 유형은 무엇입니까?
- IBM Cloud Identity and Access Management (IAM)에 대해 사용하도록 설정된 서비스를 바인딩할 수 있습니다. IAM 사용 서비스는 보다 세부적인 액세스 제어를 제공하고 IBM Cloud 리소스 그룹에서 관리될 수 있습니다. 자세한 정보는 리소스에 대한 액세스 관리를 참조하십시오. 지원되는 IBM Cloud 서비스 목록을 찾으려면 IBM Cloud 카탈로그를 참조하십시오.
- 클러스터 비밀을 더욱 안전하게 보호하려면 어떻게 해야 하나요?
- 클러스터 관리자에게 클러스터에서 키 관리 서비스 제공자를 사용으로 설정하여 IBM Cloud 서비스 인스턴스의 인증 정보를 저장하는 시크릿과 같은 새 시크릿 및 기존 시크릿을 암호화하도록 요청하십시오.
- 내 클러스터에서 모든 IBM Cloud 서비스를 사용할 수 있습니까?
- 서비스 인증 정보를 자동으로 작성하고 Kubernetes 시크릿에 저장할 수 있도록 서비스 키를 지원하는 서비스에 대한 서비스 바인딩만 사용할 수 있습니다. 앱에 서비스를 연결하는 방법을 알아보려면 서비스와 앱 연결하기를 참고하세요.
- 서비스 키를 지원하지 않는 서비스는 일반적으로 앱에서 사용할 수 있는 API를 제공합니다. 서비스 바인딩 메소드는 앱에 대한 API 액세스를 자동으로 설정하지 않습니다. 서비스의 API 문서를 검토하고 앱에서 API 인터페이스를 구현해야 합니다.
- 기존 IBM Cloud 서비스 인스턴스를 내 클러스터에 바인딩할 수 있나요?
- 예, 이름 지정 요구 사항을 충족하는 서비스를 사용하고 클러스터에 바인딩할 때 서비스 자격 증명을 재사용할 수 있습니다. 서비스 이름이 다음 정규식 형식인지 확인합니다.
[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?). 사용 가능한 이름의 예는myservice또는example.com입니다. 허용되지 않는 문자에는 공백 및 밑줄이 포함됩니다. - 한 번에 여러 IBM Cloud 서비스를 여러 클러스터에 바인드할 수 있습니까?
- IBM Cloud 서비스 바인딩은 클러스터별, 서비스별로 이루어지며 사용자의 팟(Pod)이 마운트할 수 있는 Kubernetes 시크릿을 작성하여 작동합니다.
- 다중 클러스터 및 서비스의 경우 대신 IAM 신뢰 프로파일을 사용할 수 있습니다. IAM에서 원하는 IBM Cloud 서비스에 대한 액세스 정책을 포함하는 신뢰 프로파일을 작성합니다. 그런 다음 리소스 그룹의 클러스터에 있는 모든
prodKubernetes 네임스페이스와 같은 조건에 따라 이 신뢰 프로파일을 원하는 만큼의 클러스터와 링크합니다. 마지막으로, 앱이 IBM Cloud 서비스에 인증하는 데 사용하는 IAM 토큰으로 교환할 수 있는 토큰을 가져오기 위해 팟(Pod)이 Kubernetes 서비스 계정 예상 볼륨을 마운트합니다.
클러스터에 서비스 자격 증명을 수동으로 바인딩하기
시작하기 전에:
- 다음 역할을 보유하고 있는지 확인하십시오.
- 편집기 또는 관리자 IBM Cloud IAM 플랫폼 액세스 역할 서비스를 바인딩하려는 클러스터에 대해.
- 서비스를 바인딩하려는 Kubernetes 네임스페이스에 대한 작성자 또는 관리자 IBM Cloud IAM 서비스 액세스 역할입니다.
- 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
다음 단계를 완료하여 클러스터에 서비스 자격 증명을 수동으로 추가할 수 있습니다.
-
클러스터에 추가하려는 서비스의 인스턴스 이름을 확인하세요.
ibmcloud resource service-instances -
서비스 키를 작성합니다. 자세한 내용은 명령 참조를 참조하세요.
ibmcloud resource service-key-create NAME [ROLE] --instance-name SERVICE_INSTANCE -
Credentials부분을 복사하여 확장자가 없는 파일인creds에 저장합니다. -
Kubernetes 를 생성하고, 방금 생성한 자격 증명 파일을 사용합니다.
kubectl create secret generic my-secret --from-file=path/to/creds
service bind CLI를 사용하여 클러스터에 서비스 추가하기
- 바인딩할 때 기존 서비스 자격 증명을 사용할 수 있나요?
service bind명령을 실행할 때 선택적으로--key매개 변수를 지정하고 기존 서비스 자격 증명의 이름을 제공할 수 있습니다. IBM Cloud 서비스 바인딩은 기존 서비스 자격 증명으로 Kubernetes 비밀을 자동으로 생성합니다.- 기존 자격 증명이 일회성 보기 자격 증명인 경우 어떻게 하나요?
service bind명령은 일회용 보기 자격 증명을 직접 가져오는 것을 지원하지 않습니다. 따라서service bind명령을 사용하려면--key매개 변수를 지정하지 마세요.--key없이 명령을 실행하면 새 자격 증명 집합이 만들어집니다.- 일회성 보기인 자격 증명을 사용하려면 서비스를 클러스터에 수동으로 바인딩해야 합니다. 이 옵션을 사용하면 기존의 일회성 보기 자격 증명을 사용할 수 있습니다.
- 프라이빗 클라우드 서비스 엔드포인트를 사용하는 서비스 인증 정보를 사용하려면 어떻게 해야 합니까?
- 기본적으로
service bind명령은 퍼블릭 클라우드 서비스 엔드포인트로 서비스 자격 증명을 만듭니다. 프라이빗 클라우드 서비스 엔드포인트를 사용하려면 프라이빗 클라우드 서비스 엔드포인트를 사용하는 서비스에 대한 서비스 인증 정보를 수동으로 작성한 후--key옵션을 사용하여 기존 서비스 인증 정보의 이름을 지정해야 합니다. 자신의 자격 증명을 가져올 계획이라면 기존 자격 증명이 일회성 보기 자격 증명이 아닌지 확인하세요. 자세한 내용은 일회성 자격 증명을 참조하세요. - 서비스가 아직 프라이빗 클라우드 서비스 엔드포인트를 지원하지 않을 수도 있습니다. 개인 전용 클러스터가 존재하는 경우 프라이빗 클라우드 서비스 엔드포인트를 사용하는 서비스 인증 정보를 사용하거나 공인 IP 주소 및 포트를 열어 서비스에 연결해야 합니다.
다음 섹션에서 서비스 자격 증명을 클러스터에 바인딩하는 단계를 검토하세요.
IBM Cloud 서비스 바인딩을 사용하여 IBM Cloud 서비스에 대한 서비스 인증 정보를 자동으로 작성하고 Kubernetes 시크릿에 이 인증 정보를 저장합니다.
서비스에서 프라이빗 클라우드 서비스 엔드포인트를 지원하는 경우에는 프라이빗 클라우드 서비스 엔드포인트로 서비스 자격 증명을 수동으로 만든 다음 --key 옵션을 사용하여 자격 증명의 이름을 지정할 수 있습니다.
시작하기 전에:
- 다음 역할을 보유하고 있는지 확인하십시오.
- 편집기 또는 관리자 IBM Cloud IAM 플랫폼 액세스 역할 서비스를 바인딩하려는 클러스터에 대해.
- 서비스를 바인딩하려는 Kubernetes 네임스페이스에 대한 작성자 또는 관리자 IBM Cloud IAM 서비스 액세스 역할입니다.
- 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
클러스터에 IBM Cloud 서비스를 추가하려면 다음을 수행하십시오.
-
- 몇몇 IBM Cloud 서비스는 일부 지역에서만 사용 가능합니다. 서비스가 클러스터와 동일한 지역에서 사용 가능한 경우에만 클러스터에 서비스를 바인드할 수 있습니다. 또한 워싱턴 DC 구역에서 서비스 인스턴스를 작성하려면 CLI를 사용해야 합니다.
- IAM 사용 서비스의 경우: 서비스 인스턴스는 클러스터와 동일한 리소스 그룹에 작성해야 합니다. 서비스는 하나의 리소스 그룹에서만 작성할 수 있으며 이후에는 변경할 수 없습니다.
- 서비스 이름이
myservice또는example.com형식인지 확인하십시오. 공백과 밑줄은 허용되지 않습니다.
-
작성한 서비스 유형을 확인하고 서비스 인스턴스 이름을 기록해 두십시오.
ibmcloud resource service-instances출력 예
NAME Location State Type Tags <iam_service_instance_name> <region> active service_instance -
서비스를 추가하는 데 사용할 클러스터 네임스페이스를 식별하십시오.
kubectl get namespaces -
서비스를 클러스터에 바인드하여 퍼블릭 클라우드 서비스 엔드포인트를 사용하고 Kubernetes 시크릿에 인증 정보를 저장하는 서비스에 대한 서비스 인증 정보를 작성하십시오. 기존 서비스 자격 증명이 있는 경우
--key옵션을 사용하여 자격 증명의 이름을 지정합니다. IAM 사용 서비스의 경우 자격 증명은 Writer 서비스 액세스 역할로 자동으로 만들어지지만--role옵션을 사용하여 다른 서비스 액세스 역할을 지정할 수 있습니다.--key옵션을 사용하는 경우--role옵션을 포함하지 마십시오.자체 자격 증명을 가져오려는 경우 기존 자격 증명이 일회성 보기 자격 증명이 아닌지 확인하거나 서비스 자격 증명을 클러스터에 수동으로 저장하는 권장 방법을 사용하세요. 자세한 내용은 일회성 자격 증명을 참조하세요.
ibmcloud ks cluster service bind --cluster <cluster_name_or_ID> --namespace <namespace> --service <service_instance_name> [--key <service_instance_key>] [--role <IAM_service_role>]서비스 인증 정보 작성이 성공하면 이름이
binding-<service_instance_name>인 Kubernetes 시크릿이 작성됩니다.출력 예
ibmcloud ks cluster service bind --cluster mycluster --namespace mynamespace --service cleardb Binding service instance to namespace... OK Namespace: mynamespace Secret name: binding-<service_instance_name> -
Kubernetes 시크릿의 서비스 인증 정보를 확인하십시오.
- 시크릿의 세부사항을 가져오고 바인딩 값을 기록해 두십시오. 바인딩 값은 base64 인코딩되어 있으며, JSON 형식으로 서비스 인스턴스의 인증 정보를 보관합니다.
출력 예kubectl get secrets binding-<service_instance_name> --namespace=<namespace> -o yamlapiVersion: v1 data: binding: <binding> kind: Secret metadata: annotations: service-instance-id: 1111aaaa-a1aa-1aa1-1a11-111aa111aa11 service-key-id: 2b22bb2b-222b-2bb2-2b22-b22222bb2222 creationTimestamp: 2018-08-07T20:47:14Z name: binding-<service_instance_name> namespace: <namespace> resourceVersion: "6145900" selfLink: /api/v1/namespaces/default/secrets/binding-mycloudant uid: 33333c33-3c33-33c3-cc33-cc33333333c type: Opaque - 바인딩 값을 디코딩하십시오.
출력 예echo "<binding>" | base64 -D{"apikey":"<API_key>","host":"<ID_string>-bluemix.cloudant.com","iam_apikey_description":"Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloudantnosqldb:us-south:a/<ID_string>::","iam_apikey_name":"auto-generated-apikey-<ID_string>","iam_role_crn":"crn:v1:bluemix:public:iam::::serviceRole:Writer","iam_serviceid_crn":"crn:v1:bluemix:public:iam-identity::a/1234567890brasge5htn2ec098::serviceid:ServiceId-<ID_string>","password":"<ID_string>","port":443,"url":"https://<ID_string>-bluemix.cloudant.com","username":"123b45da-9ce1-4c24-ab12-rinwnwub1294-bluemix"} - 선택사항: 이전 단계에서 디코딩한 서비스 인증 정보를 IBM Cloud 대시보드에서 서비스 인스턴스에 대해 찾은 서비스 인증 정보와 비교하십시오.
- 시크릿의 세부사항을 가져오고 바인딩 값을 기록해 두십시오. 바인딩 값은 base64 인코딩되어 있으며, JSON 형식으로 서비스 인스턴스의 인증 정보를 보관합니다.
-
이제 서비스가 클러스터에 바인드되었으므로 Kubernetes 시크릿의 서비스 인증 정보에 액세스하도록 앱을 구성해야 합니다.
앱에서 서비스 인증 정보에 액세스
앱에서 IBM Cloud 서비스 인스턴스에 액세스하려면 Kubernetes 시크릿에 저장된 서비스 인증 정보를 앱에서 사용할 수 있도록 해야 합니다.
서비스 인스턴스의 인증 정보는 base64 인코딩되어 있으며, JSON 형식으로 시크릿 내에 저장됩니다. 시크릿의 데이터에 액세스하려면 다음 옵션 중에서 선택하십시오.
시작하기 전에:
kube-system네임스페이스에 대한 작성자 또는 관리자 IBM Cloud IAM 서비스 액세스 권한이 있는지 확인합니다.- 계정에 로그인하십시오. If applicable, target the appropriate resource group. 클러스터에 대한 컨텍스트를 설정하십시오.
- IBM Cloud 서비스를 클러스터에 추가하십시오.
볼륨으로서 시크릿을 팟(Pod)에 마운트
볼륨으로서 시크릿을 팟(Pod)에 마운트하면 이름이 binding인 파일이 볼륨 마운트 디렉토리에 저장됩니다. JSON 형식의 binding 파일에는 IBM Cloud 서비스에 액세스하는 데 필요한 모든 정보와 인증 정보가 포함되어 있습니다.
-
클러스터의 사용 가능한 시크릿을 나열하고 시크릿의 이름을 기록해 두십시오. 오파크 유형의 시크릿을 찾으십시오. 다수의 시크릿이 존재하면 클러스터 관리자에게 문의하여 올바른 서비스 시크릿을 식별하십시오.
kubectl get secrets출력 예
NAME TYPE DATA AGE binding-<service_instance_name> Opaque 1 3m -
Kubernetes 배치를 위한 YAML 파일을 작성하고 볼륨으로서 시크릿을 팟(Pod)에 마운트하십시오.
apiVersion: apps/v1 kind: Deployment metadata: labels: app: secret-test name: secret-test namespace: <my_namespace> spec: selector: matchLabels: app: secret-test replicas: 1 template: metadata: labels: app: secret-test spec: containers: - image: icr.io/ibm/liberty:latest name: secret-test volumeMounts: - mountPath: <mount_path> name: <volume_name> volumes: - name: <volume_name> secret: defaultMode: 420 secretName: binding-<service_instance_name>volumeMounts.mountPath- 컨테이너 내에서 볼륨이 마운트되는 디렉토리의 절대 경로입니다.
volumeMounts.name및volumes.name- 팟(Pod)에 마운트할 볼륨의 이름입니다.
secret.defaultMode- 시크릿에 대한 읽기 및 쓰기 권한입니다. 읽기 전용 권한을 설정하려면
420을 사용하십시오. secret.secretName- 이전 단계에서 기록해 둔 시크릿의 이름입니다.
-
팟(Pod)을 작성하고 볼륨으로서 시크릿을 마운트하십시오.
kubectl apply -f secret-test.yaml -
팟(Pod)이 작성되었는지 확인하십시오.
kubectl get podsCLI 출력 예:
NAME READY STATUS RESTARTS AGE secret-test-1111454598-gfx32 1/1 Running 0 1m -
서비스 인증 정보에 액세스하십시오.
-
팟(Pod)에 로그인하십시오.
kubectl exec <pod_name> -it bash -
이전에 정의한 볼륨 마운트 경로로 이동하고 볼륨 마운트 경로의 파일을 나열하십시오.
cd <volume_mountpath> && ls출력 예
bindingbinding파일에는 Kubernetes 시크릿에 저장된 서비스 인증 정보가 포함되어 있습니다. -
서비스 인증 정보를 보십시오. 인증 정보는 JSON 형식의 키 값 쌍으로 저장됩니다.
cat binding출력 예
{"apikey":"<API_key>","host":"<ID_string>-bluemix.cloudant.com","iam_apikey_description":"Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloudantnosqldb:us-south:a/<ID_string>:<ID_string>::","iam_apikey_name":"auto-generated-apikey-<ID_string>","iam_role_crn":"crn:v1:bluemix:public:iam::::serviceRole:Writer","iam_serviceid_crn":"crn:v1:bluemix:public:iam-identity::a/<ID_string>::serviceid:ServiceId-<ID_string>","password":"<ID_string>","port":443,"url":"https://<ID_string>-bluemix.cloudant.com","username":"123b45da-9ce1-4c24-ab12-rinwnwub1294-bluemix"} -
JSON 컨텐츠를 구문 분석하고 서비스에 액세스하는 데 필요한 정보를 검색하도록 앱을 구성하십시오.
-
환경 변수의 시크릿 참조
서비스 인증 정보와 Kubernetes 시크릿의 기타 키 값 쌍을 환경 변수로서 배치에 추가할 수 있습니다.
-
클러스터의 사용 가능한 시크릿을 나열하고 시크릿의 이름을 기록해 두십시오. 오파크 유형의 시크릿을 찾으십시오. 다수의 시크릿이 존재하면 클러스터 관리자에게 문의하여 올바른 서비스 시크릿을 식별하십시오.
kubectl get secrets출력 예
NAME TYPE DATA AGE binding-<service_instance_name> Opaque 1 3m -
시크릿의 세부사항을 가져와서 팟(Pod)에서 환경 변수로서 참조할 수 있는 잠재적 키 값 쌍을 찾으십시오. 서비스 인증 정보는 시크릿의
binding키에 저장됩니다.kubectl get secrets binding-<service_instance_name> --namespace=<namespace> -o yaml출력 예
apiVersion: v1 data: binding: <binding> kind: Secret metadata: annotations: service-instance-id: 7123acde-c3ef-4ba2-8c52-439ac007fa70 service-key-id: 9h30dh8a-023f-4cf4-9d96-d12345ec7890 creationTimestamp: 2018-08-07T20:47:14Z name: binding-<service_instance_name> namespace: <namespace> resourceVersion: "6145900" selfLink: /api/v1/namespaces/default/secrets/binding-mycloudant uid: 12345a31-9a83-11e8-ba83-cd49014748f type: Opaque -
Kubernetes 배치를 위한 YAML 파일을 작성하고
binding키를 참조하는 환경 변수를 지정하십시오.apiVersion: apps/v1 kind: Deployment metadata: labels: app: secret-test name: secret-test namespace: <my_namespace> spec: selector: matchLabels: app: secret-test template: metadata: labels: app: secret-test spec: containers: - image: icr.io/ibm/liberty:latest name: secret-test env: - name: BINDING valueFrom: secretKeyRef: name: binding-<service_instance_name> key: bindingcontainers.env.name- 환경 변수의 이름입니다.
env.valueFrom.secretKeyRef.name- 이전 단계에서 기록해 둔 시크릿의 이름입니다.
env.valueFrom.secretKeyRef.key- 시크릿의 일부이며 사용자가 환경 변수에서 참조하고자 하는 키입니다. 서비스 인증 정보를 참조하려면 바인딩 키를 사용해야 합니다.
-
환경 변수로서 시크릿의
binding키를 참조하는 팟(Pod)을 작성하십시오.kubectl apply -f secret-test.yaml -
팟(Pod)이 작성되었는지 확인하십시오.
kubectl get podsCLI 출력 예:
NAME READY STATUS RESTARTS AGE secret-test-1111454598-gfx32 1/1 Running 0 1m -
환경 변수가 올바르게 설정되었는지 확인하십시오.
- 팟(Pod)에 로그인하십시오.
kubectl exec <pod_name> -it bash - 팟(Pod)의 모든 환경 변수를 나열하십시오.
출력 예envBINDING={"apikey":"<API_key>","host":"<ID_string>-bluemix.cloudant.com","iam_apikey_description":"Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloudantnosqldb:us-south:a/<ID_string>::","iam_apikey_name":"auto-generated-apikey-<ID_string>","iam_role_crn":"crn:v1:bluemix:public:iam::::serviceRole:Writer","iam_serviceid_crn":"crn:v1:bluemix:public:iam-identity::a/1234567890brasge5htn2ec098::serviceid:ServiceId-<ID_string>","password":"<password>","port":443,"url":"https://<ID_string>-bluemix.cloudant.com","username":"<ID_string>-bluemix"}
- 팟(Pod)에 로그인하십시오.
-
환경 변수를 읽고 JSON 컨텐츠를 구문 분석하여 서비스에 액세스하는 데 필요한 정보를 검색하도록 앱을 구성하십시오.
Python의 예제 코드:
if os.environ.get('BINDING'): credentials = json.loads(os.environ.get('BINDING')) -
선택사항: 예방 조치로
BINDING환경변수가 올바르게 설정되지 않은 경우 오류 처리를 앱에 추가하십시오.Java의 예제 코드:
if (System.getenv("BINDING") == null) { throw new RuntimeException("Environment variable 'SECRET' is not set!"); }Node.js의 예제 코드:
if (!process.env.BINDING) { console.error('ENVIRONMENT variable "BINDING" is not set!'); process.exit(1); }
클러스터에서 서비스 제거
클러스터에 바인드한 IBM Cloud 서비스를 사용하지 않으려는 경우, 클러스터에서 수동으로 Kubernetes 시크릿과 시크릿에 액세스하는 팟(Pod)을 제거할 수 있습니다.
-
클러스터에 바인드된 서비스를 나열하고 서비스가 바인드된 서비스 및 네임스페이스의 이름을 기록하십시오.
ibmcloud ks cluster service ls --cluster출력 예
OK Service Instance GUID Key Namespace myservice 12345ab1-1234-1abc-a12b-12abc12a12ab kube-a1a12abcd12a123abc1a12ab1a1234ab7.abcdefg0p1abcd123lgg.default default -
서비스가 바인드된 네임스페이스의 Kubernetes 시크릿을 나열하고 이름이
binding-<service_name>형식을 따르는 시크릿을 찾으십시오.kubectl get secrets -n <namespace> | grep Opaque출력 예
binding-myservice Opaque 1 3d23h -
시크릿에 액세스하는 모든 팟(Pod)을 검색하십시오.
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.secret.secretName}{" "}{end}{end}' | grep "<secret_name>"CLI 출력이 비어 있으면 시크릿을 마운트하는 클러스터에 팟(Pod)이 없습니다.
-
시크릿을 마운트하는 팟(Pod)이 있는 경우 팟(Pod) 또는 팟(Pod)을 관리하는 배치를 제거하거나 팟(Pod)과 배치 YAML을 업데이트하여 대신 다른 시크릿을 사용하십시오.
- 팟(Pod) 또는 배치를 제거하려면 다음을 수행하십시오.
kubectl delete pod <pod_name> -n <namespace>kubectl delete deployment <deployment_name> -n <namespace> - 기존 팟(Pod) 또는 배치를 업데이트하려면 다음을 수행하십시오.
- 팟(Pod) 또는 배치 YAML 파일을 가져오십시오.
kubectl get pod <pod_name> -o yamlkubectl get deployment <deployment_name> -o yaml - YAML 파일을 복사하고
spec.volumes섹션에서 사용할 시크릿의 이름을 변경하십시오. - 클러스터에 변경을 적용하십시오.
kubectl apply -f pod.yamlkubectl apply -f deployment.yaml - 업데이트된 볼륨 스펙을 사용하여 새 팟(Pod)이 작성되었는지 확인하십시오.
kubectl get podskubectl describe pod <pod_name>
- 팟(Pod) 또는 배치 YAML 파일을 가져오십시오.
- 팟(Pod) 또는 배치를 제거하려면 다음을 수행하십시오.
-
시크릿을 제거하십시오.
kubectl delete secret <secret_name> -n <namespace> -
시크릿이 제거되었는지 확인하십시오.
kubectl get secrets -n <namespace> -
선택사항입니다. IBM Cloud 서비스 인스턴스를 제거하십시오.
ibmcloud resource service-instance-delete <service_name>