设置k8s集群使用主机名/ IP地址而不是localhost

时间:2016-05-10 21:08:37

标签: kubernetes

我刚安装了k8s群集,但这些URL都使用localhost,并希望将其更改为使用主机名甚至IP地址。因此,只能从主节点访问集群。我无法找到进行此更改的合适位置。任何帮助都非常感谢。

OS: Redhat 7.1
Kubernetes version: 1.2

[rakeshk@ kubernetes]$ kubectl cluster-info
Kubernetes master is running at http://localhost:8080
Elasticsearch is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/elasticsearch-logging
Heapster is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/heapster
Kibana is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kibana-logging
KubeDNS is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubedash is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kubedash
kubernetes-dashboard is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
Grafana is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/monitoring-grafana
InfluxDB is running at http://localhost:8080/api/v1/proxy/namespaces/kube-system/services/monitoring-influxdb

1 个答案:

答案 0 :(得分:3)

基于端口号(8080,这是kube-apiserver的{​​{3}}的默认值),我猜你正在运行kubectl cluster-info命令kube-apiserver正在运行的同一台机器。

如果上述假设正确,则将/etc/kubernetes/admin.conf文件(从运行kube-apiserver的计算机)复制到本地计算机~/.kube/config。在本地计算机上运行kubectl cluster-info(在本地计算机上安装--insecure-port程序,如果尚未安装)。这应该为您提供群集地址作为主机名或IP地址。它是将其显示为IP地址还是主机名取决于反向查找IP地址是否解析DNS记录。

  

如果您使用kubectl计划初始化kubeadm init将自动检测网络接口以将主服务器通告为默认网关的接口。如果默认网关IP地址不是可路由的IP地址,请确保将--api-advertise-addresses设置为可路由的IP地址。