实践 Network Policy - 每天5分钟玩转 Docker 容器技术(172)
为了演示 Network Policy,我们先部署一个 httpd 应用,其配置文件 httpd.yaml
为:
httpd 有三个副本,通过 NodePort 类型的 Service 对外提供服务。部署应用:
当前没有定义任何 Network Policy,验证应用可以被访问:
-
启动一个 busybox Pod,可以访问 Service,也可以 Ping 到副本 Pod。
-
集群节点可以访问 Service, 也可以 Ping 到副本 Pod。
-
集群外(192.168.56.1)可以访问 Service。
现在创建如下 Network Policy:
① 定义将此 Network Policy 中的访问规则应用于 label 为 run: httpd
的 Pod,即 httpd 应用的三个副本 Pod。
② ingress
中定义只有 label 为 access: "true"
的 Pod 才能访问应用。
③ 只能访问 80
端口。
通过 kubectl apply
创建 Network Policy。
验证 Network Policy 的有效性:
-
busybox Pod 已经不能访问 Service。
如果 Pod 添加了 labelaccess: "true"
就能访问到应用,但 Ping 已经被禁止。 -
集群节点已经不能访问 Service, 也 Ping 不到副本 Pod。
-
集群外(192.168.56.1)已经不能访问 Service。
如果希望让集群节点和集群外(192.168.56.1)也能够访问到应用,可以对 Network Policy 做如下修改:
应用新的 Network Policy:
现在,集群节点和集群外(192.168.56.1)已经能够访问了:
除了通过 ingress
限制进入的流量,也可以用 egress
限制外出的流量。大家可以参考官网相关文档和示例,这里就不赘述了。
小结
Kubernetes 采用的是扁平化的网络模型,每个 Pod 都有自己的 IP,并且可以直接通信。
CNI 规范使得 Kubernetes 可以灵活选择多种 Plugin 实现集群网络。
Network Policy 则赋予了 Kubernetes 强大的网络访问控制机制。
书籍:
1.《每天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html
2.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
3.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker 安装(学习笔记一)
Docker ce:免费版 docker ee:付费版 yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --enable docker-ce-edge yum-config-manager --enable docker-ce-test yum install docker-ce -y systemctl start docker systemctl enable docker
- 下一篇
使用SSH密钥对给你的阿里云ECS加把安全锁
先说一下:什么是 SSH 密钥对 SSH 密钥对,常简称为密钥对,是阿里云为您提供的新的远程登录 ECS 实例的认证方式,是一种区别于传统的用户名加密码模式的认证方式。SSH 密钥对通过加密算法生成一对密钥,一个对外界公开,称为 公钥,另一个您自己保留,称为 私钥。 如果您将公钥配置在 Linux 实例中,那么,在本地或者另外一个 ECS 实例中,您可以使用私钥通过 SSH 命令或相关工具登录实例,而不需要输入密码。如果使用 SSH 密钥对登录 Linux 实例,默认禁用密码登录,以提高安全性。 前两天和版主鬼才神兵聊一起搞个事情,当知晓我还在使用root+八位密码登录这种古老方式来管理ecs服务器的时候推荐我使用更加安全的“密钥对”进行管理主机,增加主机的安全性。 在他说过之后,我也登陆我的控制台看到安全预警75个攻击和累计1176条暴力破解记录的时候真的是震惊了。 然后我又通过传统的模式登录到ecs,通过“lastb”命令查看服务器登录相关的日志,又是触目惊心,一个下拉框看不全。 那么,我就给我的ECS加把锁。 创建密钥对 首先进入你的云服务器ECS实例,我的是华东1(杭州),在网...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境