k8s config

2021-09-23
  • k8s
    • ~/.kube/config 설정파일을 사용한다. (기본)
    • --kubeconfig=config-demo 옵션으로 config-demo 설정파일명을 변경할 수 있음.
    $ kubectl config view
    $ kubectl config --kubeconfig=my-config view
    
    • conext 는 cluster 와 user 의 조합이다.
    • 직접 설정파일을 수정할 수 있지만, 아래 명령어를 사용하는 것이 좋아보인다.

    kubectl config use-context ..

    context 설정을 한다

    $ kubectl config use-context my-context
    

    kubectl config current-context

    현재 context 확인

    kubectl config set-cluster ..

    cluster 설정을 한다.

    $ kubectl config set-cluster ${cluster-name} \
    --server=${server-url} \
    --certificate-authority=${ca-file-name}
    

    kubectl config set-credentials ..

    user 설정을 한다.

    kubectl config set-credentials ${user-name} \
    --client-certificate=${ca-file-name} \
    --client-key=${key-file-name}
    

    kubectl config set-context ..

    context 설정을 한다.

    $ kubectl set-context ${context-name} \
    --cluster=${cluster-name} \
    --namespace=${namespace-name} \
    --user=${user-name}
    

    kubectl config unset ..

    • 설정을 삭제한다.
    • 개별삭제도 아래에 넣어둠.
    • context 명칭변경도 넣어둠.
    $ kubectl config unset users.${user-name}
    $ kubectl config unset users.${cluster-name}
    $ kubectl config unset users.${context-name}
    $ kubectl config delete-cluster ${cluster-name}
    $ kubectl config delete-user ${user-name}
    $ kubectl config delete-context ${context-name}
    $ kubectl config rename-context ${current-context-name} ${new-context-name}
    

    여러 config 를 사용할때 ..

    # 백업
    $ export KUBECONFIG_SAVED=$KUBECONFIG
    # 변경
    $ export KUBECONFIG=$KUBECONFIG:config-demo:config-demo-2
    # 원복
    $ export KUBECONFIG=$KUBECONFIG_SAVED
    

    참고