centos7下kubernetes(15。kubernetes-外网访问service)
kubernetes提供了多种类型的service,默认是cluster IP
ClusterIP
cluster内部IP对外提供服务,只有cluster内的节点和pod可访问,这是默认的service。
NodePort
service通过cluster节点的静态端口对外提供服务,cluster外部可以通过 nodeip:nodeport访问service
loadbalancer
Service 利用 cloud provider 特有的 load balancer 对外提供服务,cloud provider 负责将 load balancer 的流量导向 Service。目前支持的 cloud provider 有 GCP、AWS、Azure 等。
实验nodeport
更改service的yml文件

添加type:NodePort,然后重新创建service


kubernetes依然会为httpd-svc分配一个cluterIP,不同的是:
1.Type类型是Nodeprot,
2.Port是8080:32242/TCP,8080依然是cluster的端口,32242是node节点的端口,Kubernetes 会从 30000-32767 中分配一个可用的端口,每个节点都会监听此端口并将请求转发给service

测试nodeport是否正常工作:

通过两个节点的IP+端口都可以正常的访问
那么,kubernetes是如何将nodeip+端口映射到pod的呢?
与clusterIP一样也是通过iptables,与clusterIP相比,每个节点的eiptables中增加了下面两条规则

访问node节点的32242时会应用 KUBE-SVC-RL3JAE4GN7VOGDGP规则

其实就是负载均衡到每一个pod
noedport默认是随机选择,不过我们可以用nodeport指定特定的端口

现在配置文件中有三个Port
nodeport是节点上监听的端口。
port是clusterIP上监听的端口
targetport是pod监听的端口
最终,node和clusterIP在各自端口上接受到的请求都会通过iptables转发到pod的targetport上

nodeport:30000已经生效了
centos7下kubernetes(15。kubernetes-外网访问service)的更多相关文章
- centos7下配置iptables实现外网访问内网服务器
说明:Centos 7 默认的防火墙是 firewall,安装iptables之前需关闭Firewall 外网机器:外网ip:120.25.71.183内网ip:10.1.1.23 内网机器:内网ip ...
- 浅入Kubernetes(8):外网访问集群
目录 查询 Service Service 外部服务类型 配置 ServiceType 伸缩数量 阶段总结 在前面几篇文章中,我们学习了 kubeadm .kubectl 的一些命令,也学会了 Dep ...
- ubuntu下安装mysql及外网访问设置
这么多年一直是mssql或者Oracle,mysql基本没用过,借着.net即将跨平台之际,也mysql一把.windows安装基本没啥难度,然后就是试了把linux下...结果坑不少,由于linux ...
- linux centos7 开启 mysql 3306 端口 外网访问 的实践
第〇步:思路 3306 端口能否被外网访问,主要要考虑: (1)mysql的3306 端口是否开启?是否没有更改端口号? (2)mysql 是否允许3306 被外网访问? (3)linux 是否已经开 ...
- Ubuntu下MySQL配置为外网访问
Ububtu安装MySQL后默认外网无法连接,但是很多时候我们想要在外网访问方便管理.在这里,简单叙述一下自己在配置过程中的操作,步骤如下: 以root身份登入mysql mysql -u root ...
- Centos7开启防火墙并且使MYSQL外网访问开放3306端口
http://www.cnblogs.com/kreo/p/4368811.html CentOS7默认防火墙是firewalle,不是iptables #先检查是否安装了iptables servi ...
- mysql-8.0.15允许外网访问
1.进MySQL之后, 2.输入以下语句,进入mysql库: use mysql3.更新域属性,'%'表示允许外部访问: update user set host='%' where user ='r ...
- Centos7搭建nginx并提供外网访问
搭建nginx之后,80端口,其他机器无法访问 查询端口是否开启 firewall-cmd --query-port=80/tcp 永久开放80端口 firewall-cmd --permanent ...
- ubuntu下mysql安装提供外网访问
修改配置文件 1. sudo apt-get install mysql-server #安装mysql服务器 2. sudo apt-get install mysql-client #安装mys ...
随机推荐
- .net core使用RPC方式进行高效的HTTP服务访问
传统的HTTP接口调用是一件比较繁琐的事情,特别是在Post数据的时候:不仅要拼访问的URL还是把数据序列化成流的方式给Request进行提交,获取Respons后还要对流进行解码.在实际应用虽然可以 ...
- 阿里云HBase全新发布X-Pack 赋能轻量级大数据平台
一.八年双十一,造就国内最大最专业HBase技术团队 阿里巴巴集团早在2010开始研究并把HBase投入生产环境使用,从最初的淘宝历史交易记录,到蚂蚁安全风控数据存储.持续8年的投入,历经8年双十一锻 ...
- VS2015安装水晶报表
最近在做一个打印功能,本来是不想用水晶报表的.想直接用微软原生的报表rdlc完成,但是整了一个上午老是打印乱码,且网上找资料找也找不出. 无奈放弃,然后就想到用水晶报表了,以前用过水晶报表,不过一直都 ...
- Jenkins结合.net平台之ftp客户端
上一节我们讲解了如何配置ftp服务端,本节我们讲解如何使用winscp搭建ftp客户端,为什么使用winscp而不是filezilla客户端版,前面我们简单说过,这里不再赘述. 下载winscp以后我 ...
- MariaDB官方手册翻译
MariaDB官方手册 翻译:create database语句(已提交到MariaDB官方手册) 翻译:rename table语句(已提交到MariaDB官方手册) 翻译:alter table语 ...
- HTTP 常见的状态码
- C# 操作Excel图形——绘制、读取、隐藏、删除图形
简介 本篇文章将介绍C# 如何处理Excel图形相关的问题,包括以下内容要点: 1.绘制图形 1.1 绘制图形并添加文本到图形 1.2 添加图片到图形 1.3 设置图形阴影效果 1.4 设置图形透明度 ...
- spring boot 2.0 整合 elasticsearch6.5.3,spring boot 2.0 整合 elasticsearch NoNodeAvailableException
原文地址:spring boot 2.0 整合 elasticsearch NoNodeAvailableException 原文说的有点问题,下面贴出我的配置: 原码云项目地址:https://gi ...
- Android Studio 学习(七)通知
导入support- -v4 1.进入 file-project structure 2.左边选择app 3.右边选择dependencies 4.左下角可以看到一个加号,点击选择Library de ...
- 原生js实现数据单向绑定
Object.defineProperty()方法直接在对象上定义一个新属性,或修改对象上的现有属性,并返回该对象. Object.defineProperty(obj, prop, descript ...