kubernetes localhost: 8080 было отказано с контекстом - PullRequest
0 голосов
/ 06 февраля 2019

Кластер Kubernets настраивается с использованием службы контейнеров Alibaba, нет проблем с доступом к кластеру с использованием учетной записи root, когда создается новое пространство имен и пользователь добавляется в это пространство имен, он выдает ошибку Соединение сserver localhost: 8080 было отказано

Вот настройка устранения неполадок

Определено пространство имен dev и использование глагола get для отображения всего пространства имен kubernetes.

root@kube-master:# kubectl get namespaces
NAME          STATUS    AGE
default       Active    14d
dev           Active    56m
kube-public   Active    14d
kube-system   Active    14d

Добавлен новый контекст в кластере Kubernetes.

kubectl config set-context dev  --namespace=dev --user=user1

Я должен получить ошибку отказано в доступе при использовании CLI kubectl с этим файлом конфигурации

root@kube-master:/home/ansible# kubectl --context=dev get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?

Вместо того, чтобы показывать Соединение с сервером localhost: 8080 было отказано

Без - контекста это работает отлично

root@kube-master:# kubectl get pods -n dev
NAME      READY     STATUS    RESTARTS   AGE
busybox   1/1       Running   1          1h

Вот представление конфигурации kubernetes

root@kube-master:/home/ansible# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: REDACTED
    server: https://172.16.2.13:6443
  name: kubernetes
contexts:
- context:
    cluster: ""
    namespace: dev
    user: user1
  name: dev
- 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: REDACTED
    client-key-data: REDACTED

root@kube-master:# kubectl config get-contexts
CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
          dev                                        user1              dev
*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   

1 Ответ

0 голосов
/ 06 февраля 2019

Я понял, что я заметил, когда я выполняю команду

kubectl config view

Кластер отображается как пустой

- context:
    cluster: ""
    namespace: dev
    user: user1

Для устранения этой проблемы добавлена ​​информация --clusterи изменил set-context

root@kube-master:/home/ansible# kubectl config set-context dev --cluster=kubernetes --namespace=dev --user=user1
Context "dev" modified.

, и контекст установлен правильно

contexts:
- context:
    cluster: kubernetes
    namespace: dev
    user: user1
  name: dev

, и я получил желаемые результаты при поиске стручков с помощью --context=dev

root@kube-master:/home/ansible# kubectl --context=dev get pods
No resources found.
Error from server (Forbidden): pods is forbidden: User "system:anonymous" cannot list pods in the namespace "dev"
...