Как получить доступ к minikube (установленному на удаленной виртуальной машине) с моей локальной машины?

У меня есть виртуальная машина CentOS 7, на которой работает minikube с --vm-driver=none. На самой виртуальной машине я могу запускать команды kubectl для взаимодействия с кластером minikube.

Поскольку я новичок в k8s, я не знаю, как сгенерировать все необходимые значения для помещения в файл ~/.kube/config. Моя конечная цель — взаимодействовать с кластером minikube, как и с другими моими кластерами AWS EKS, с помощью kubectl на моей локальной машине.


person Grimlock    schedule 23.10.2020    source источник


Ответы (1)


Чтобы понять, что вам нужно в файле ~/.kube/config вашего локального компьютера, проверьте файл ~/.kube/config на самой удаленной виртуальной машине.

Вы обнаружите, что вам нужно добавить эти 3 элемента в файл ~/.kube/config вашего локального компьютера:

  1. Кластер под кластерами
  2. Контекст под контекстами
  3. Пользователь под пользователями

Чтобы добавить эти 3 элемента, сначала вам нужно скопировать эти 3 файла с удаленной виртуальной машины на локальный компьютер:

  1. ca.crt (обычно находится по адресу ~/.minikube/profiles/minikube/ca.crt)
  2. client.crt (обычно находится по адресу ~/.minikube/profiles/minikube/client.crt)
  3. client.key (обычно находится по адресу ~/.minikube/profiles/minikube/client.key)

Теперь вам нужно закодировать base64 эти 3 файла. Например, если вы используете macOS, вы можете использовать эту команду:

base64 -i <input_file> -o <output_file>

Теперь вы готовы обновить файл ~/.kube/config вашего локального компьютера.

  1. Добавьте этот кластер в кластеры:
- cluster:
    certificate-authority-data: <base64 of ca.crt file>
    server: <same ip as remote VM's kubeconfig file, since you've used vm-driver=none>
  name: minikube
  1. Добавьте этот контекст в контексты (те же значения, что и для удаленной виртуальной машины).
- context:
    cluster: minikube
    user: minikube
  name: minikube
  1. Добавить этого пользователя в список пользователей
- name: minikube
  user:
    client-certificate-data: <base64 of client.crt file>
    client-key-data: <base64 of client.key file>
person Grimlock    schedule 23.10.2020