У меня есть кластер кубернетов. Я создал кластер с помощью Google Cloud
, но не с помощью GKE, а с помощью GCE. Я создал один master node
и два worker nodes
, используя VM instances
. Kubeadm
используется для соединения главного и рабочего узлов вместе с файлом kube-flannel.yml
. Я выставляю свой кластер снаружи в postman
, используя свой Vm's public ip & nodePort
. Я могу перейти по этому URL-адресу. publicip:nodePort/adapter_name
. Удар достигает моих стручков, и журналы генерируются. Когда я раньше использовал minikube
, я использовал port-forwarding
, чтобы открыть свой порт. Сейчас я этим не пользуюсь.
По умолчанию kubeconfig
файл с именем config находится в папке $HOME/.kube/config
. В нем есть следующее содержание.
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJ....
server: https://10.128.0.12:6443
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: kubernetes-admin
name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFe....
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb.....
Сервер IP
- это https://10.128.0.12:6443
. Могу ли я изменить этот URL-адрес по умолчанию на тот, который требуется для аутентификации [my rest api url] ??
Мое требование - обеспечить аутентификацию для моего URL-адреса rest api, который мое приложение позволяет при работе в модуле kubernetes.
Как я могу аутентифицировать мой URL-адрес rest api с помощью этого kubeconfig
метода или путем создания нового файла kubeconfig и его использования ??
http://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/
Я получил несколько идей из двух вышеупомянутых блогов и попытался реализовать их, но ни одна из них не удовлетворяет моим требованиям. Также допускается аутентификация через почтальона с использованием любого токена JWT.
Версия Kubernetes:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:17:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-11T13:09:17Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}