Не удается получить удаленный доступ к kube-apiserver

Ниже приведена моя версия Kubernetes подробнее:

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:57:05Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.1", GitCommit:"82450d03cb057bab0950214ef122b67c83fb11df", GitTreeState:"clean", BuildDate:"2016-12-14T00:52:01Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

kubectl cluster-info дает следующие выходные данные

Kubernetes master is running at http://localhost:8080

kubectl —server=localhost:8080 get Pod работает отлично:

NAME                     READY     STATUS    RESTARTS   AGE
nginx-3449338310-sc54z   1/1       Running   0          3d
nginx-3449338310-sfql2   1/1       Running   0          3d
nginx-controller-0hq0n   1/1       Running   0          2h
nginx-controller-sc0nc   1/1       Running   0          2h

Но это не работает при доступе через IP-адрес: kubectl —server=10.10.65.151:8080

The connection to the server 10.10.65.151:8080 was refused - did you specify the right host or port?

Это мой kube-config:

apiVersion: v1
kind: Config
clusters:
- name: kubernetes
  cluster:
    certificate-authority: /etc/kubernetes/pki/ca.crt
    server: http://10.10.65.151:8080
users:
- name: kubeuser
  user:
    client-certificate: /etc/kubernetes/pki/kube-master.crt
    client-key: /etc/kubernetes/pki/kube-master.key
contexts:
- context:
    cluster: kubernetes
    user: kubeuser
  name: kubeuser-context
current-context: kubeuser-context

Я получаю ту же ошибку при попытке доступа к api-серверу с удаленной машины. Могу я узнать, чего не хватает?

2 ответа

  1. Вы пытаетесь подключиться по ip-адресу кластера, который является только внутренним.

    Использовать IP хоста

  2. Я должен был предоставить следующий параметр службе kube-apiserver, чтобы разрешить доступ к серверу api с помощью IP-адреса.

    --insecure-bind-address=0.0.0.0
    

    Теперь я могу получить доступ к api, используя IP-адрес хоста.