在Google的GKE上创建支持Internal Load Balancer的Service
在Google的Kubernetes Engine上发布service,可以采用除On-Promise相同的Cluster IP和NodePort两种方式外,还可以创建LoadBalaner的Service。

其中Load Balancer可以调用Google Cloud的接口创建Google的Load Balancer。比如下面这个Nginx-1的service,采用的就是Load Balancer。

Google Cloud为这个service创建了一个TCP的负载均衡,具体如下:

但在实际使用场景中,负载均衡会有要求采用内部IP地址的情况,比如backend的cluster。前端调用的时候,采用Internal IP,且这个服务不能暴露到外部网络。这时,就需要创建的service的IP地址采用内网IP。
可以用下面的命令实现前面的需求:
#在gcloud下,获得GKE cluster的credential:
gcloud container clusters get-credentials standard-cluster- --zone=asia-east1-a #创建image为nginx的deployment
kubectl run web --image=nginx:latest --port= #查看pods
kubectl get pods #发布为Service
kubectl create -f internal.yaml #查看Service
kubectl get svc
Internal.yaml:
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/load-balancer-type: Internal
labels:
run: web
name: web-internal
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: web
sessionAffinity: None
type: LoadBalancer
再查看Service的信息,可以看到两个service都是Load Balancer类型的,但一个是公网IP,一个是内网IP。且内网IP是VPC的子网地址网段:

查看Service的详细信息:

可以看到也创建了一个Load Balancer,查看Load Balancer信息,发现是一个Internal的Load Balancer:

查看Internal Load Balancer信息:

通过这个Internal Load Balancer地址去访问服务:

可以看到标准Nginx的欢迎页面。
在Google的GKE上创建支持Internal Load Balancer的Service的更多相关文章
- 配置Internal Load balancer中VM的外网访问
当在Azure中部署SQL VM时,处于安全考虑,不会配置VM的Public IP,会禁止外网的进出站访问,只允许从内部VNET,或者特定的内部IP访问.特别是当使用Azure Internal Lo ...
- 使用Gardener在Google Cloud Platform上创建Kubernetes集群
Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...
- Azure Powershell 创建 Internal Load Balancer
Select-AzureSubscription -SubscriptionName "订阅名称" $serviceName="云服务名称" $ilbName= ...
- Google 内部代码是不支持异常(Excepton)的,C++ 异常的优劣之处有许多讨论(知乎上的讨论)
最近 Google 开源了其内部多年使用的 C++ 代码库 Abseil 作为 C++ 标准库的补充,并会对其进行持续更新,本文对其进行简要介绍. 一句话概括,这个库的特点是用 C++ 11 的代码实 ...
- IntelliJ IDEA上创建maven Spring MVC项目
IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...
- 转载-SharePoint 2010 WebPart与Google地图系列 一:创建显示地图的WebPart
[原] SharePoint 2010 WebPart与Google地图系列 一:创建显示地图的WebPart 摘要: 作为信息化先驱的产品SharePoint 2010竟然对GIS相关技术支持如此有 ...
- google在nature上发表的关于量子计算机的论文(Quantum supremacy using a programmable superconducting processor 译)— 附论文
Google 2019年10月23号发表在Nature(<自然><科学>及<细胞>杂志都是国际顶级期刊,貌似在上面发文两篇,就可以评院士了)上,关于量子计算(基于 ...
- ASP.NET Core 中文文档 第二章 指南(1)用 Visual Studio Code 在 macOS 上创建首个 ASP.NET Core 应用程序
原文:Your First ASP.NET Core Application on a Mac Using Visual Studio Code 作者:Daniel Roth.Steve Smith ...
- 【腾讯云的1001种玩法】在腾讯云上创建您的SQL Cluster(5)
版权声明:本文由李斯达 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/97264001482830465 来源:腾云阁 h ...
随机推荐
- FreeMarker初探--安装FreeMarker
这里安装FreeMarker相当简单,不需要真正的安装过程.仅仅是拷贝 lib/freemarker.jar 到你 Java 应用程序的路径中,让类加载器可以发现它.比如,如果你在 Web 使用了 F ...
- hdu 1817 Necklace of Beads(Polya定理)
Necklace of Beads Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- 【转】netlink socket编程实例
[转]netlink socket编程实例 转自:http://blog.chinaunix.net/uid-14753126-id-2983915.html 关于Netlink IPC方式的介绍,请 ...
- 剑指offer--44.两个链表的第一个公共结点
@selfboot 牛逼的代码,长度相同,一遍出结果, 长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点. ------------------------- ...
- make笔记
Makefile基本格式如下: target ... : prerequisites ... command ... ... 其中, target - 目标文件, 可以是 Object File, 也 ...
- Eclipse Java EE IDE中jsp页面编码修改
Eclipse Java EE IDE模板编码是ISO8859,肯定不是我们需要的,修改方法如下图: 依次点击:Window---->Preference---->Web---->J ...
- React-Native基础_3.Flex布局
Flex布局介绍 /** * Sample React Native App * https://github.com/facebook/react-native * @flow */ 'use st ...
- Postfix常用命令和邮件队列管理(queue)
本文主要介绍一下postfix的常用命令及邮件队列的管理: Postfix有以下四种邮件队列,均由管理队列的进程统一进行管理: maildrop:本地邮件放置在maildrop中,同时也被拷贝到inc ...
- 框架重构:测试中的DateTime.Now
存在的问题 DateTime.Now是C#语言中获取计算机的当前时间的代码: 但是,在对使用了DateTime.Now的方法进行测试时,由于计算机时间的实时性,期望值一直在变化.如:计算年龄. pub ...
- try...except包含try...finally方法
def f(): try: try: f = open(raw_input('>')) print f.readlines() finally: f.close() #1/0 except Ex ...