Home [K8S] Kubectx 사용 시 선택한 kubeconfig 를 제대로 못 불러오는 문제 해결
Post
Cancel

[K8S] Kubectx 사용 시 선택한 kubeconfig 를 제대로 못 불러오는 문제 해결

Kubectx 사용 시 선택한 kubeconfig 를 제대로 못 불러오는 문제 해결

  • DOCS 여기에 거의 모든 정보가 나와있다.

나는 Kubectx 라는 툴을 사용해서 다중 클러스터를 선택하고 있다. (매우 유용함!!)

근데 클러스터 몇 개를 추가했더니, 선택한 새로운 클러스터 정보를 가져오는 것이 아니라 계속 똑같은 정보만 가져오는 것이다…

좀 살펴봤더니 Kubectl의 Config 정보에 문제가 있었다.

1
kubectl config view

위의 명령어를 치면 저장된 kubectl config 값이 출력된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 k config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: foo1
  name: bar1
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: foo2
  name: bar2
contexts:
- context:
    cluster: cluster.local
    user: foobaruser1
  name: foobar1
- context:
    cluster: cluster.local2
    user: foobaruser2
  name: foobar2
- context:
    cluster: cluster.local
    user: foobaruser2
  name: foobar3
current-context: foobaruser1
kind: Config
preferences: {}
users:
- name: foobaruser1
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
- name: foobaruser2
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

config 에 대해서 좀 읽을 수 있어야 하는데, 요건 위에 첨부한 docs를 참고하자.

쉽게 말해서

current-context 값을 참조해서, 해당 cluster를 해당 user로 로그인해서 접근하는 흐름이다.

근데 내가 겪었던 문제는 context의 값이 동일한 경우이다.

무조건 각각 다른 cluster NameUser Name을 가지고 있어야 각자의 secret으로 다른 클러스터에 접근할 수 있다.

근데 나는 전달받은 kubeconfig 를 사용하다보니 위와 같이 동일한 clusterName을 가지고 접근하고 있었다.

정리하자면, kubectl config view 명령어로 저장된 config 를 확인해보고 current context가 정확하게 내가 지정한 cluster, user 를 사용하고 있는지! 중복된 값을 사용하고 있지는 않는지 확인해볼 필요가 있겠다!

This post is licensed under CC BY 4.0 by the author.