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 ...
 
随机推荐
- Presto 常用配置及操作
			
一.介绍 Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节. Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处 ...
 - 2018年Fintech金融科技关键词和入行互金从业必懂知识
			
2018年过去大半,诸多关键词进入眼帘: 5G,消费降级,数据裸奔,新零售,AI,物联网,云计算,合规监管,风控,割韭菜,区块链,生物识别,国民空闲时间以及金融科技. 这些词充斥着我们的生活和时间,而 ...
 - [零] JavaIO入门简介 程序设计语言 为什么需要IO库
			
本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点 部分内容引自<计算机操作系统第三版> 操作系统的文件管理 "在现代计算机系统中,要用到 ...
 - SSH连接GitHub并配置ssh key
			
SSH连接GitHub并配置ssh key 配置git的ssh提交,主要需要以下三步: 1.设置Git的user name和email 2.生成ssh 3.配置git 的ssh key 一.设置Git ...
 - 第39章 引用令牌 - Identity Server 4 中文文档(v1.0.0)
			
访问令牌有两种形式 - 自包含或引用. JWT令牌将是一个自包含的访问令牌 - 它是一个带有声明和过期的受保护数据结构.一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信.这使 ...
 - WPF中Datagrid控件添加行号
			
/// <summary> /// 导入Excel文件按钮 /// </summary> /// <param name="sender">&l ...
 - 轻松理解 Java HashMap 和 ConcurrentHashMap
			
前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 ...
 - Android破解学习之路(十一)—— 关于去更新
			
根据对话框的文字找到对应的对话框,设置visability 为gone 修改版本号,aptool 搜索http://,找到更新的地址,修改为127.0.0.0 搜索update,upgrade,ver ...
 - react create-react-app 跨域
			
"proxy":"http://youAddr.com" 直接到根目录package.json里增加上面这行就行了,改成自己需要的地址.
 - CTSC 2018酱油记
			
Day0 5.5 花了一上午的时间把codechef div2的前四题切了,又在zbq老司机的指导下把第五题切了 中午12:00 gryz电竞组从机房出发,临走的时候看到很多学长挺恋恋不舍的,毕竟可能 ...