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 Name 과 User Name을 가지고 있어야 각자의 secret으로 다른 클러스터에 접근할 수 있다.

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

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

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