想要在Kubernetes集群上部署可访问LAN的Pod来达到目的?接下来就展示一下它实际上是多么容易。

%title插图%num

Kubernetes更具挑战性的方面之一是部署到集群,同时使你可以从LAN访问已部署的应用程序和服务。在发现hostNetwork设置之前,我一直为此努力。该特定选项适用于Kubernetes Pod,并使得可以从集群外部访问已部署的Pod。

通过使用此特定设置,窗格中的应用程序能够访问托管窗格的节点上的网络接口。从理论上讲,这意味着您实际上可以从LAN访问这些Pod。

我想向你展示如何进行这项工作。这很容易。

%title插图%num

你需要做的事

完成这项工作只需一个正在运行的Kubernetes集群。该群集可以位于AWS,Google Cloud,您自己的本地硬件或任何其他主机上。如果您还没有群集,则始终可以在数据中心上部署一个群集。

一旦访问了Kubernetes集群,就可以部署一个外部环境或至少您的LAN可以访问的Pod。

%title插图%num

如何创建你的YAML文件

我们要做的*件事是创建一个非常基础的YAML文件,以演示如何使用hostNetworking设置。这个YAML会将一个influxdb pod部署到Kubernetes集群,然后我们可以从集群外部访问它。

在Kubernetes控制器上,使用以下命令创建新的YAML文件:

namo fluxdb.yml

在该新文件中,粘贴以下内容:

apiVersion: v1kind: Podmetadata: name: influxdbspec: hostNetwork: true containers:    -name: influxdb     image: influxdb

这里重要的一点是:

hostNetwork:true

上面的设置为Pod提供了对主机网络接口的必要访问权限。如果没有该设置,则Pod仍将部署,但只能从群集内访问。YAML文件使用单个容器(也称为influxdb)创建一个名为influxdb的Pod,该容器使用influxdb映像。

保存并关闭文件。

%title插图%num

如何部署吊舱

现在,我们将部署新的pod。这是通过以下命令完成的:

Kubectl create -f influxdb.yml

该Pod将部署到群集,但是完成部署将花费一点时间。

%title插图%num

如何测试外部访问

接下来,我们将测试新部署的Pod的外部访问。为此,我们必须找出Pod部署到哪个节点,这还将向我们显示该节点的IP地址。为此,发出命令:

Kubectl create pod influxdb

上面的命令将打印出有关你新部署的Pod的大量信息。我们想要的重要部分位于IPs部分。你应该看到类似以下的行:

IP:192.168.1.112

IP:行将列出已将Pod部署到的节点的IP地址。掌握了这些信息之后,您可以使用以下命令测试连接:

curl -v http:// IP:8086 / ping

其中IP是托管influxdb Pod的节点的IP地址。您收到的响应应包括HTTP / 1.1 204 No Content(图A)。

%title插图%num

恭喜,你刚刚将Pod部署到可通过LAN访问的Kubernetes集群。

是不是并不像你想象中那么难!

原文链接:

https://www.techrepublic.com/article/how-to-easily-deploy-lan-accessible-pods-to-a-kubernetes-cluster/