在 Linode Kubernetes 引擎上配置防火墙(Akamai)
首先
可以将 Akamai 提供的 Linode Kubernetes Engine (LKE) 和 Cloud Firewall 结合使用。本文将介绍如何使用 Terraform 在 LKE 节点上应用 Cloud Firewall。
LKE 是什么?
Linode Kubernetes Engine(LKE)是一款基于Kubernetes构建的托管容器编排引擎。使用LKE,您可以快速部署和管理容器化应用程序,而无需构建和维护自己的Kubernetes集群。每个LKE实例都配备了无额外费用的完全托管控制平面。工作节点用于运行应用程序,而选项NodeBalancers(负载均衡器)和Block Storage卷用于应用程序的使用将收取费用。
在生产环境中,请将LKE的控制平面配置为高可用性(HA)结构。高可用性(HA)结构选项将收取费用。
LKE 网络和防火墙的信息
在LKE集群中,有些实体和服务只能从集群内访问,还有一些实体和服务可以公开访问(可从互联网访问)。有关详细信息,请参阅下面的文档。
在本例中,假设存在像NodeBalancers这样的服务。NodeBalancers将TCP 443端口公开到公共互联网。
获取示例代码
从以下网站获取Terraform脚本。
将lke-firewall.tf放置在工作目录中。
terraform init
在.tf文件中设置令牌。
terraform plan
terraform apply
下面是一个成功的执行例子。
linode_firewall.lke_firewall_sample: Creating...
linode_firewall.lke_firewall_sample: Creation complete after 2s [id=207767]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
执行后,确认是否已在Cloud Manager中注册。
请参考以下网页获取 Terraform 的示例。
请参考以下文档以了解有关在前段配置 NodeBalancers 的设置的信息。
请参考以下文章中关于 NodeBalancers 的介绍。
总结
LKE内部有两种通信方式,一种是在集群内部进行的通信,另一种是公开的通信。本文介绍了从Terraform创建示例来推荐的规则。请根据您的安全策略进行自定义。