通过Service访问应用 (1)

640?wx_fmt=gif

目录

通过Service访问应用 

  • 通过Pod IP访问应用 

  • 通过ClusterIP Service在集群内部访问 

通过Service访问应用


通过之前的操作,应用部署完成了,我们的Demo网站已经成功启动了,那么如何访问网站呢?

通过Pod IP访问应用

我们可以通过Pod IP来访问之前部署的网站,但是前提是我们需要知道Pod IP。我们可以通过“kubectl get”命令的参数“-o wide”来输出相关的信息,比如Pod IP:

kubectl get pods -lapp=demo -o wide

640

如果网络是通畅的,那么我们可以在任意的节点上访问我们的应用,如:

curl --head http://10.0.2.12

640

我们使用curl以get方式请求demo应用,返回请求头为200,那么表示我们已经成功访问了Demo。如果你还不太相信,我们可以通过安装了UI界面的CentOS节点服务器的浏览器上访问这些Pod IP,如下所示:

640

虽然我们通过Pod IP成功的访问到了应用,但是Pod有生老病死,如果“死”了呢,我们如何访问?Deployment会重建么?我们来试一试:

kubectl delete pods -lapp=demo	
kubectl get pods -lapp=demo -o wide

640

很不幸的是,如上图所示,POD IP变掉了。那么意味着POD IP会随着POD的生老病死而发生变化。而且,不仅存在这个问题,如果我们直接使用POD IP,那么多个POD也变得毫无意义。那么我们应该到底如何来访问我们的应用呢?

通过ClusterIP Service在集群内部访问

Kubernetes服务(Service)就是为此而抽象出来的,为了让应用能够稳定的输出,Service应运而生。

Service在Kubernetes中是一个抽象的概念,它定义了一组逻辑上的Pod和一个访问它们的策略(通常称之为微服务)。Service是通过标签选择器来绑定一组Pod 的Endpoints(端点)对象,当Pod的IP发生变化,Endpoints也随之变化。当Service接受到请求时,就能通过EndPoints找到请求转发的目标Pod地址。也就是说,通常情况下,Service定义了集群IP和端口,EndPoints则维护了一组Pod IP和端口。

了解了这些,接下来我们就使用ClusterIP Service来访问刚才的Demo应用。

ClusterIP Service是默认的Service类型,其通过集群的内部IP暴露服务,因此仅能在集群内部访问,常用于数据库等应用。

这里,我们定义一个简单的Service集群IP配置:

apiVersion: v1	
kind: Service #资源类型	
metadata: #标准元数据	name: demo-service #服务名称	
spec: #规范定义	type: ClusterIP #服务类型,不填写此字段则默认为ClusterIP类型,也就是集群IP类型	selector: #标签选择器	app: demo #标签	ports:  #端口	- protocol: TCP #协议,能够支持TCP和UDP	port: 80  #当前端口	targetPort: 80 #目标端口

接下来,我们来执行Service的创建并且分别查询了Service和Endpoints:

kubectl create -f clusterIPService.yaml	
kubectl get services demo-service -o wide	
kubectl get endpoints demo-service -o wide

640

如上图所示,我们创建了集群IP为“11.13.47.67”的Service,端口为80(通常情况下,我们将port和targetPort设置为相同的值)。同时我们通过Endpoints列表看到,Endpoints自动绑定了5个Pod IP。接下来我们试试在集群内(节点上)访问:

640

注意:如果我们需要在创建时设置Service固定IP该如何去设置呢?可以通过字段“spec.clusterIp”进行设置,值需要符合Service IP段要求。

浏览器非常完美的呈现了Demo。在集群内是可以访问了,如果我们提供对外服务呢?比如我们希望我们的Demo被其他电脑访问,以获得用户的赞赏,老板的好评,那么该如何处理呢?我们下一篇再来分析!

往期内容

Docker+ Kubernetes已成为云计算的主流(二十六)

容器化之后如何节省云端成本?(二十七)

了解Kubernetes主体架构(二十八)

使用Minikube部署本地Kubernetes集群(二十九)

使用kubectl管理k8s集群(三十)

使用Kubeadm创建k8s集群之部署规划(三十一)

使用Kubeadm创建k8s集群之节点部署(三十二)

集群故障处理之处理思路以及健康状态检查(三十三)

集群故障处理之处理思路以及听诊三板斧(三十四)

使用WebDeploy部署远程IIS网站

使用Kubectl部署应用

640?wx_fmt=png

转载是一种动力 分享是一种美德

640?

如果喜欢作者的文章,请关注【麦扣聊技术】订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

文档官网:docs.xin-lai.com

QQ群:

编程交流群<85318032> 

产品交流群<897857351>

640?wx_fmt=png

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314115.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P4239 任意模数多项式乘法逆(多项式/ MTT)

P4239 任意模数多项式乘法逆 这个题目简直就是毒瘤&#xff0c;不过还好我们可以使用vector封装要不然真的没法看&#xff0c;现在我们就会用vector封装MTT了&#xff0c;然后有一个代码细节就是这里的求逆还是在模意义下的&#xff0c;所以我们还是需要求逆。 #include<b…

多项式求逆模板(NTT + mod)

【模板】多项式乘法逆 /*Author : lifehappy */ #include <bits/stdc.h>using namespace std;typedef long long ll;const int N 1e6 10, mod 998244353, G 3;int r[N], n;ll a[N], b[N], c[N];ll quick_pow(ll a, int n) {ll ans 1;while(n) {if(n & 1) ans …

2019-02-26-算法-进化(回文数)

题目描述&#xff1a; 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 示例 1: 输入: 121 输出: true示例 2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为…

POJ1742 Coins(DP)

Coins 思路 没分析复杂度写了个二进制拆分&#xff0c;然后做010101背包O(nlog(c)m)>10e7了O(nlog(c)m) > 10e7了O(nlog(c)m)>10e7了&#xff0c;所以还是想办法优化吧。 我们引入一个needneedneed数组&#xff0c;need[j]need[j]need[j]表示&#xff0c;在枚举到第…

13张PPT带你了解主动式消息队列处理集群

前言偷偷和你们说&#xff0c;我搞了一份内部资料&#xff0c;该内部资料共有13张PPT&#xff0c;据作者透露&#xff0c;该PPT至少花了整整1周时间才编写完成&#xff0c;其内容简洁明了&#xff0c;内容深度足够&#xff0c;易于初学者理解&#xff0c;也给深度开发人员分享了…

CF773F Test Data Generation(倍增FFT/动态规划)

CF773F Test Data Generation https://www.luogu.com.cn/problem/CF773F 这个题还是挺巧妙的&#xff0c;最后需要我们求解的实际上值域为a选择奇数个数最大数是奇数的方案数&#xff0c;然后这个东西显然包含了3个信息&#xff0c;值域、个数、最后一个数的奇偶性&#xff0c…

2019-02-27-算法-进化(寻找两个有序数组的中位数)

题目描述 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数&#xff0c;并且要求算法的时间复杂度为 O(log(m n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 [1, 3] nums2 [2]则中位数是 2.0示例 2: nums1 [1, 2]…

.Net Core 三大Redis客户端对比和使用心得

前言稍微复杂一点的互联网项目&#xff0c;技术选型都可能会涉及Redis&#xff0c;.NetCore的生态越发完善&#xff0c;支持.NetCore的Redis客户端越来越多&#xff0c;下面三款常见的Redis客户端&#xff0c;相信大家平时或多或少用到一些&#xff0c;结合平时对三款客户端的使…

2020第十一届蓝桥杯软件类省赛第二场C/C++ 大学 B 组(题解)

试题 A: 门牌制作 问题描述 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户&#xff0c;门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符&#xff0c;最后根据需要将字 符粘贴到门牌上&#xff0c;例如门牌 1017 需要依次粘贴字符 …

队长开卖自家产“翠香”猕猴桃

猕猴桃品种有很多&#xff0c;但不是所有的果子都叫翠香。这两天我在公众号里卖了这个翠香猕猴桃&#xff0c;可能是有同学以为是做广告卖水果&#xff0c;其实是家里的亲戚猕猴桃成熟了&#xff0c;辛苦一年下来地里一共结了3000斤猕猴桃&#xff0c;遇到了一个难题就是如何把…

Java修炼之路——基础篇——Java集合类

集合类的全景图 常用集合类特性 1. Collection&#xff1a;每个位置对应一个元素1.1: List 存放有序元素&#xff0c;允许重复元素&#xff0c;允许元素为null1.1.1: ArrayList&#xff1a;内部结构为数组&#xff1b;初始容量为10&#xff1b;插入、删除的移动速度慢&#x…

1575 Gcd and Lcm

1575 Gcd and Lcm ∑i1n∑j1i∑k1ilcm(gcd(i,j),gcd(i,k))设f(n)∑i1n∑j1nlcm(gcd(i,n),gcd(j,n))f(p)3p2−3p1f(pk)(2k1)(p2k−p2k−1)pk−1\sum_{i 1} ^{n} \sum_{j 1} ^{i} \sum_{k 1} ^{i} lcm(gcd(i, j), gcd(i, k))\\ 设f(n) \sum_{i 1} ^{n} \sum_{j 1} ^{n} lcm…

UVA12298 Super Poker II(多项式/背包问题)

UVA12298 Super Poker II 这应该是最水的背包问题了吧 然后有一个小问题就是这道题没有给模数&#xff0c;然后答案会爆int&#xff0c;所以我们需要MTT&#xff0c;然后开long long就好了&#xff0c;或者直接fft&#xff0c;有可能会爆精度。

Java修炼之路——基础篇——Java集合类详解1

SynchronizedList和Vector的区别 java.util.Vector java.util.Collections.$SynchronizedList Vector用同步方法&#xff0c;SynchronizedList用同步代码块&#xff0c;SynchronizedList可以指定锁定的对象 SynchronizedList有很好的扩展和兼容功能&#xff0c;能把所有List的子…

小卓.NET中文编程特点介绍

大家好&#xff0c;我在介绍一下我的全新编程语言&#xff0d;卓语言。小卓编程是卓语言的一个开发工具&#xff0c;可以在里面实现绘图、动画、事件响应等等功能。关于中文编程&#xff0c;一直以来都有争议。我针对以往中文编程的缺点而开发了一种全新的编程语言。首先 &…

P5748 集合划分计数(贝尔数/多项式)

P5748 集合划分计数 求解从1到1e5的所有贝尔数&#xff0c;我们可以利用生成函数求解&#xff0c;就是利用指数型生成函数求解 代码细节&#xff1a; 首先虽然exe^xex代表全是1&#xff0c;但是多项式下面还有阶乘逆元的系数&#xff0c;然后乘完之后&#xff0c;我们还有乘…

2019-02-28-算法-进化(盛最多水的容器)

题目描述 给定 n 个非负整数 a1&#xff0c;a2&#xff0c;…&#xff0c;an&#xff0c;每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线&#xff0c;垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以…

CAP 2.6 版本发布通告

前言今天&#xff0c;我们很高兴宣布 CAP 发布 2.6 版本正式版。同时我们也很高兴的告诉你 CAP 在 GitHub 已经突破了3000 Star.自从上次 CAP 2.5 版本发布 以来&#xff0c;已经过去了几个月的时间&#xff0c;关注的朋友可能知道&#xff0c;在这几个月的时间里&#xff0c;也…

皮克定理(题目)

Area 皮克定理&#xff1a;皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式&#xff0c;该公式可以表示为Sab2&#xff0d;1&#xff0c;其中a表示多边形内部的点数&#xff0c;b表示多边形落在格点边界上的点数&#xff0c;S表示多边形的面积。 /*Author : lifehap…

随机算法

概率论基础知识 期望的线性性 马尔可夫不等式 条件概率 独立事件 独立随机变量 随机算法 Las Vegas型随机算法 随机快速排序 随机选择 随机n皇后放置 将确定性算法的某一步修改为随机选择&#xff0c;有可能可以优化算法平均时间下的算法复杂度。 Monte Carlo型算法 主元…