hostNetwork:true
hostNetwork设置适用于Kubernetes。当Pod配置为时hostNetwork: true,在此Pod中运行的应用程序可以直接看到启动Pod的主机的网络接口。配置为在所有网络接口上侦听的应用程序将依次在主机的所有网络接口上访问。这是使用主机网络的Pod的示例定义:
apiVersion: v1
kind: Pod
metadata:
name: influxdb
spec:
hostNetwork: true
containers:
- name: influxdb
image: influxdb
您可以使用以下命令启动容器:
kubectl create -f influxdb-hostnetwork.yml
您可以使用以下命令检查InfluxDB应用程序是否正在运行:
curl -v http://kubenode01.example.com:8086/ping
正常工作时,InfluxDB将以HTTP 204 No Content响应。
$ curl -v http://192.168.160.101:8086/ping
* About to connect() to 192.168.160.101 port 8086 (#0)
* Trying 192.168.160.101...
* Connected to 192.168.160.101 (192.168.160.101) port 8086 (#0)
> GET /ping HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.160.101:8086
> Accept: */*
>
< HTTP/1.1 204 No Content
< Content-Type: application/json
< Request-Id: 1a6d70d6-1ca1-11ea-8001-000c2976d7a1
< X-Influxdb-Build: OSS
< X-Influxdb-Version: 1.7.9
< X-Request-Id: 1a6d70d6-1ca1-11ea-8001-000c2976d7a1
< Date: Thu, 12 Dec 2019 05:34:44 GMT
<
* Connection #0 to host 192.168.160.101 left intact
请注意,每次重新启动Pod时,Kubernetes都可以将Pod重新安排到其他节点上,因此应用程序将更改其IP地址。此外,需要相同端口的两个应用程序不能在同一节点上运行。当群集上运行的应用程序数量增加时,这可能导致端口冲突。
参考文档:
http://alesnosek.com/blog/2017/02/14/accessing-kubernetes-pods-from-outside-of-the-cluster/
网友评论