gcloud와 미니큐브 간에 kubectl 클러스터를 전환하는 방법
저는 두 가지 다른 환경, 즉 로컬 환경(미니큐브를 실행하는 맥북)과 구글의 컨테이너 엔진(GCE, 구글 클라우드의 쿠버네티스)에서 쿠버네티스가 잘 작동하고 있습니다. 저는 MacBook/로컬 환경에서 YAML 파일을 개발 및 테스트한 다음 완료되면 GCE에서 테스트합니다.
현재 저는 각 환경에서 개별적으로 작업해야 합니다: 로컬 환경에서 YAML 파일을 편집하고 준비가 되면 GCE 환경으로 (git) 복제한 다음 사용/배포해야 합니다. 이는 다소 번거로운 과정입니다.
이상적으로는 Macbook에서 kubectl을 사용하여 로컬 미니큐브 또는 GCE Kubernetes 환경 간에 쉽게 전환하고 YAML 파일이 사용되는 위치를 쉽게 확인하고 싶습니다. 이를 위해 컨텍스트를 전환하는 간단한 방법이 있나요?
90
10
로컬(미니큐브)에서 gcloud로 전환했다가 다시 전환할 수 있습니다:
kubectl config 사용-컨텍스트 컨텍스트_이름`을 사용하면 된다.
을 사용하여 모든 컨텍스트를 나열할 수 있다:
kubectl config get-contexts
로컬과 gcloud에 대해 서로 다른 환경을 생성하여 별도의 yaml 파일에 넣을 수 있다.
당신이'용한 GUI 기반의 솔루션을 위한 Mac Docker 데스크탑을 설치,사용할 수 있습니다커 메뉴 표시줄 아이콘이다. 여기에서 찾을 수 있습니다"Kubernetes"메뉴와 모든 상황에 있는 kubeconfig 고 쉽게 전환니다.
빠르게 바로 가기를 표준 kubectl 명령을 사용하는 것kubectx:
목록황:
kubectx
-해당하는kubectl config get-컨텍스트
-전환 컨텍스트(foo):kubectx foo
-해당하는kubectl config 용 상황 foo
에 설치하 macOS:
양조치 kubectx
이 kubectx 함된 패키지는 유사한 도구로 전환하는 네임스페이스
라는 kubens
.이러한 두 개의 슈퍼 편리 하에서 작업하는 경우 다중 컨텍스트와 네임스페이스를 정기적으로 한다.
더 많은 정보:https://ahmet.im/blog/kubectx/
TL;박사:내가 만들어 GUI 전환 Kubernetes 컨텍스트를 통해 AppleScript. 나는 그것을 활성화를 통해 이동-cmd-x.
내가 너무했고 동일한 문제입니다. 그것은 고통이었 전환 컨텍스트의 명령에 의해 라인입니다. 내가 사용하는 FastScripts 를 설정하는 중요한 결합(shift-cmd-x)실행하는 다음과 같은 애플(에 위치한 이 디렉토리:$(가정)/라이브러리/스크립트/프로그램/터미널).
서로 다른 환경의 리포지토리에서 YAML 파일을 복제하는 것이 가장 이상적입니다. 환경마다 다른 매개 변수를 추출하여 YAML 파일을 템플릿화하면 됩니다.
물론 일부 템플릿 엔진을 사용하여 YAML의 값을 분리하고 특정 환경에 맞는 YAML을 생성할 수도 있습니다. 그러나 [헬름 차트][1]를 채택하면 쉽게 할 수 있다. 몇 가지 샘플 차트를 보려면 이 [Github 저장소][2]의 안정 디렉토리로 이동하세요.
워드프레스 차트][3]를 예로 들면, 두 가지 환경에 대해 서로 다른 두 개의 명령어를 사용할 수 있습니다:
개발자용:
'``helm install --name dev-release --set . 워드프레스사용자명=dev_admin, . 워드프레스패스워드=dev_password, \ mariadb.mariadbRootPassword=dev_secretpassword . stable/wordpress
체크 또한 최신(도커 19.03)
도커 컨텍스트
명령.인 ajeet 싱 레이나)보여 줍니다 그것이"커 19.03.0Pre-자료:빠른 컨텍스트 스위칭,뿌리는 도커,Sysctl 지원 떼 서비스"
예를 들어:
경우에 당신은 당신을 찾고 있을 수도 있습니다 간단한 방법으로 전환하는 다른 상황 어쩌면 이것에 도움이 될 것입니다.
내가
에서 영감을 kubectx
과kswitch
스크립트가 이미 언급했듯이,나는 추천할 수 있는 대부분의 사용 사례입니다. 그들은 그들을 돕는 일본의 유명한 전환 작업이지만 나를 위해서 일부 또는 더 큰 적은 표준을 구성의~/.kube/config
. 그래서 내가 만들어 sys-exec wrapper 를 호출하고 짧은 주위에 손kubectl
.를 호출하는 경우[k](https://gitlab.com/kubic-ci/k 없이)params 당신에게 가로채는 프롬프트를 스위치 context.
또한,
k
의 역할을 지속적으로 짧습니다. 다음에 해당:내가 지루해 입력하는 이 이상 그렇게 썼는 간단하 bash 유틸리티 컨텍스트 스위치
당신은 여기에서 찾을 수 있습니다 https://github.com/josefkorbel/kube-switch
정규의 대답환/독해/조작하는 다른 kubernetes 환경(aka kubernetes 컨텍스트)는,표시로 언급,
사용 kubectl config
,아래를 참조하십시오:현장에 뒤에있는
~/.kube/config
YAML 저장하는 파일 사용 가능한 모든 컨텍스트가 그에 상응하는 자격과 끝점에 대한 각각의 상황.Kubectl 선반하지 않't 를 손쉽게 관리할 수 있습니다 다른 kubernetes 상황으로 당신은 아마 이미 알고 있습니다. 보다는 회전하는 스크립트를 관리하는 모든 것을 더 나은 방법을 사용하는 것이 성숙한 도구
라는 kubectx
에 의해 만들어진,google 직원이라는 이름"중앙에 Alp Balkan"는's 에 Kubernetes/Google 클라우드 플랫폼은 개발자 환경 팀에 건축하는 금형은 이렇습니다. 나는 그것을 권장합니다.https://github.com/ahmetb/kubectx
예, 이것이 질문하신 내용인 것 같습니다. 현재 구성을 보려면 kubectl config view를 사용한다. kubectl은 다음 위치(순서대로)에서 구성을 로드하고 병합한다.
나는 여러 클러스터 사이를 많이 전환하기 때문에 --kubeconfig를 사용한다. 약간 번거롭지만 잘 작동한다.
자세한 내용은 다음을 참조한다. https://kubernetes.io/docs/tasks/administer-cluster/share-configuration/ 과 https://kubernetes.io/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/