二维码

如何轻松地将可访问LAN的Pod部署到Kubernetes集群

1680 人阅读 | 时间:2020年09月18日 10:52

如果您要在Kubernetes集群上部署可访问LAN的Pod来拉长头发,请让Jack Wallen展示一下它实际上是多么容易。

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

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

我想向您展示如何进行这项工作。信不信由你,这很容易。

SEE:  2020年顶级云提供商:AWS,Microsoft Azure和Google Cloud,混合,SaaS播放器  (TechRepublic下载)

你需要什么

完成这项工作所需的唯一一件事就是一个正在运行的Kubernetes集群。该群集可以位于AWSGoogle Cloud,您自己的本地硬件或任何其他主机上。如果您还没有群集,则始终可以在数据中心上部署一个群集。为此,请查看我的文章如何在Ubuntu服务器上部署Kubernetes集群

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

如何创建您的YAML文件

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

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

纳米fluxdb.yml

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

apiVersion:v1种类:豆荚元数据:
  名称:influxdb规格:
  hostNetwork:true
  容器:
    -名称:influxdb
      图片:influxdb

这里重要的一点是:

hostNetwork:true

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

保存并关闭文件。  

如何部署吊舱

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

kubectl创建-f influxdb.yml

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

如何测试外部访问

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

kubectl描述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)。

图A

恭喜,您刚刚将Pod部署到了可从LAN访问的Kubernetes集群。

看到?那并不像您想的那么难。


©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×