2016-09-14 1 views
0

Kubernetes가있는 Google Cloud의 다른 프로젝트 B에서 프로젝트 A의 Google 클라우드 개인 레지스트리 (gcr.io)를 사용하는 경우 X 분마다 액세스 키가 재생성됩니다. 이로 인해 약 15 분 동안 프로젝트 B에서 개인 레지스트리를 사용하도록 작업 비밀을 얻은 다음 키가 다시 설정되어 설정된 개인 키가 무효화되고 개인 레지스트리가 더 이상 액세스 할 수 없게됩니다. 개인 키를 설정하는 데 사용Google 클라우드의 개인 레지스트리 키 변경

프로세스 :

echo $(cat /root/.dockercfg) | base64 -w 0 

그런 다음 키를 secret.yaml 파일에 설정은 수송과는 Kubernetes와 다른 시스템에서 사용할 수 있습니다. 이 모든 것은 X 분 동안 정상적으로 작동합니다.

Secret.yaml :

apiVersion: v1 
kind: Secret 
metadata: 
    name: dockerpullsecret 
data: 
    .dockercfg: {the base64 key} 
type: kubernetes.io/dockercfg 

내 현재 솔루션 : 내가 생각할 수있는이 (오히려 성가신) 행동을 보상 할 수있는 유일한 방법은 설정에 키 파일 및로드를 생성하는 쉘 스크립트입니다 키가 변경 될 때마다 관련 kubernetes 환경에 저장됩니다. 이것은 다소 무차별적인 접근 방식입니다.

아무에게도 더 나은 (더 우아한) 솔루션이 있습니까?

답변

0

oauth2token 대신 인증을 위해 Service Account JSON file을 사용하려고합니다. oauth2tokens는 사용 가능한 바이너리가 gcloud 인 곳에서 사용하기위한 것입니다.