#kubernetes #minikube
#kubernetes #minikube
Вопрос:
Я использую Kubernetes на Minikube. Я создал пользовательский контекст для нового пользователя с ролью и привязкой ролей, используя
kubectl config set-context user1-context --cluster=minikibe --namespace=default --user=user1
Когда я пытаюсь просмотреть модули запуска, целевая машина отказывается от этого. Но в контексте minikube я вижу модули, хотя оба работают в одном кластере.
>kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
docker-desktop docker-desktop docker-desktop
minikube minikube minikube
* user1-context minikibe user1
>kubectl get pods
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.
>kubectl config use-context minikube
Switched to context "minikube".
>kubectl get pods
NAME READY STATUS RESTARTS AGE
myapp-test 1/1 Running 0 44m
Конфигурация для привязки ролей:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: read-pods
subjects:
- kind: User
name: user1
apiGroup: rbac.authorization.k8s.io
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: pod-reader
Конфигурация роли
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: pod-reader
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get","watch","list"]
Я также проверил создание ролей и привязку ролей
>kubectl get roles
NAME CREATED AT
pod-reader 2020-10-20T05:59:43Z
>kubectl get rolebindings
NAME ROLE AGE
read-pods Role/pod-reader 65m
Комментарии:
1. У вас есть опечатка в вашей команде, она должна быть
--cluster=minikube
, и у вас есть--cluster=minikibe
. Можете ли вы это исправить и сообщить мне, работает ли это?2. Да, это сработало. Просто ошибка опечатки, но потратил день. Спасибо!
Ответ №1:
Проблема
В kubectl config set-context
команде была опечатка.
Решение
Используйте эту команду с --cluster=minikibe
исправленной опечаткой.
kubectl config set-context user1-context --cluster=minikube --namespace=default --user=user1