无法从任何其他主机

时间:2017-11-24 15:30:55

标签: kubernetes gitlab-ci

我在两台Ubuntu 16.04.2 LTS机器上安装了一个Kubernetes集群(1个主节点+ 1个节点)。

我可以通过主人轻松访问API,例如使用curl -v -k https://<IP>:6443/api

从任何其他主机我只是收到超时错误。扫描端口,端口6443看起​​来已关闭。

问题是,我需要使用Kubernetes集成配置GitLab CI。我给它:

  • API网址:https://<IP>:6443/api
  • 我从Kubernetes获得的令牌
  • 我从Kubernetes获得的证书

尝试配置群集以上传容器时,我得到以下信息:

$ kubectl config set-cluster my-cluster --server="$KUBE_URL" --certificate-authority="$KUBE_CA_PEM_FILE"
Cluster "my-cluster" set.
$ kubectl config set-credentials admin --token="$KUBE_TOKEN"
User "admin" set.
$ kubectl config set-context default-context --cluster=my-cluster --user=admin
Context "default-context" set.
$ kubectl config use-context default-context
Switched to context "default-context".
$ kubectl get cs
Unable to connect to the server: dial tcp <IP>:6443: i/o timeout

我做错了什么?提示:我对Kubernetes完全不熟悉,但我仍想连接私有GitLab,私有Docker注册表和私有Kubernetes集群。无法找到任何涵盖此内容的在线资源......

补充信息

我可以通过kubeadm join --token TOKEN <IP>:6443 --discovery-token-ca-cert-hash HASH将节点连接到此主节点,没有任何问题。

netstat -nplt给出:

tcp        0      0 127.0.0.1:10248         0.0.0.0:*               LISTEN      1242/kubelet
tcp        0      0 127.0.0.1:10249         0.0.0.0:*               LISTEN      2225/kube-proxy
tcp        0      0 127.0.0.1:10251         0.0.0.0:*               LISTEN      1978/kube-scheduler
tcp        0      0 127.0.0.1:2379          0.0.0.0:*               LISTEN      1887/etcd
tcp        0      0 127.0.0.1:10252         0.0.0.0:*               LISTEN      1926/kube-controlle
tcp        0      0 127.0.0.1:2380          0.0.0.0:*               LISTEN      1887/etcd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1289/sshd
tcp6       0      0 :::10250                :::*                    LISTEN      1242/kubelet
tcp6       0      0 :::6443                 :::*                    LISTEN      1904/kube-apiserver
tcp6       0      0 :::10255                :::*                    LISTEN      1242/kubelet
tcp6       0      0 :::10256                :::*                    LISTEN      2225/kube-proxy
tcp6       0      0 :::22                   :::*                    LISTEN      1289/sshd

1 个答案:

答案 0 :(得分:0)

如果您收到超时错误,很可能是您的防火墙阻止了流量。我建议检查您的云提供商防火墙(例如,AWS安全组)并查看该端口是否可访问。

如果不是这个选项,我建议你在主人中执行以下命令:

sudo netstat -nplt

并检查kube-apiserver是否正在127.0.0.1:64430.0.0.0:6443收听。如果是前者,请检查kube-apiserver systemd服务以更改API侦听地址。