我们很高兴地宣布Kubernetes 1.11,我们2018年的第二次发布!
今天的发布不断推进Kubernetes的成熟性、可扩展性和灵活性,标志着团队在过去一年中努力工作的功能取得了重大进展。这个最新版本是网络关键特性的结晶,为SIG-API Machinery和SIG-Node提供了两个主要功能用于beta测试,并继续增强存储功能,这是过去两个版本的焦点。此版本中的功能使得可以将任何基础架构、云或内部部署插入到Kubernetes系统中。
这个版本中值得注意的是增加了两个备受期待的功能:基于IPVS的群集内负载平衡和CoreDNS作为群集DNS附加选项,这意味着增加了生产环境应用程序的可扩展性和灵活性。 官方博客:https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement/
转载自 https://mp.weixin.qq.com/s/lwxwlW0jaui5Njz4x27Tyg
今天给到大家介绍一下 Client-go 中的一个非常关键的工具包 Informer。 Informer 内部实现极其复杂,详细介绍的文章也很少,很多人反馈比较难用。但不得不承认它也是一个设计精良、安全可靠的组件,值得我们去一探究竟。
Informer 是 Client-go 中的一个核心工具包。在 Kubernetes 源码中,如果 Kubernetes 的某个组件,需要 List/Get Kubernetes 中的 Object,在绝大多 数情况下,会直接使用 Informer 实例中的 Lister()方法(该方法包含 了 Get 和 List 方法),而很少直接请求 Kubernetes API。Informer 最基本 的功能就是 List/Get Kubernetes 中的 Object。
如下图所示,仅需要十行左右的代码就能实现对 Pod 的 List 和 Get。
Client-go 的首要目标是满足 Kubernetes 的自身需求。Informer 作为其中的核心工具包,面对 Kubernetes 极为复杂业务逻辑,如果仅实现 List/Get 功能,根本无法满足 Kubernetes 自身需求。因此,Informer 被设计为一个灵活而复杂的工具包,除 List/Get Object 外,Informer 还可以监听事件并触发回调函数等,以实现更加复杂的业务逻辑。
为了让 Client-go 更快地返回 List/Get 请求的结果、减少对 Kubenetes API 的直接调用,Informer 被设计实现为一个依赖 Kubernetes List/Watch API 、可监听事件并触发回调函数的二级缓存工具包。
使用 Informer 实例的 Lister() 方法, List/Get Kubernetes 中的 Object 时,Informer 不会去请求 Kubernetes API,而是直接查找缓存在本地内存中的数据(这份数据由 Informer 自己维护)。通过这种方式,Informer 既可以更快地返回结果,又能减少对 Kube
Intellij IDEA
真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA
的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intellij IDEA
技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能不知道的但是又实用的小技巧。
我们可以使用【Presentation Mode】,将IDEA
弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的coding
。
可以使用Alt+V
快捷键,谈出View
视图,然后选择Enter Presentation Mode
。效果如下:
这个模式的好处就是,可以让你更加专注,因为你只能看到特定某个类的代码。可能读者会问,进入这个模式后,我想看其他类的代码怎么办?这个时候,就要考验你快捷键的熟练程度了。你可以使用CTRL+E
弹出最近使用的文件。又或者使用CTRL+N
和CTRL+SHIFT+N
定位文件。
如何退出这个模式呢?很简单,使用ALT+V
弹出view视图,然后选择Exit Presentation Mode
即可。但是我强烈建议你不要这么做,因为你是可以在Enter Presentation Mode
模式下在IDEA
里面做任何事情的。当然前提是,你对IDEA
足够熟练。
如果你使用IDEA
在编写JSON
字符串的时候,然后要一个一个\
去转义双引号的话,就实在太不应该了,又烦又容易出错。在IDEA
可以使用Inject language
帮我们自动转义双引号。
先将焦点定位到双引号里面,使用alt+enter
快捷键弹出inject language
视图,并选中 Inject language or reference
。
选择后,切记,要直接按下enter
回车键,才能弹出inject language
列表。在列表中选择 json
组件。
选择完后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用alt+enter
就可以看到
选中Edit JSON Fragment
并回车,就可以看到编辑JSON
文件的视图了。
可以看到IDEA
确实帮我们自动转义双引号了。如果要退出编辑JSON
信息的视图,只需要使用ctrl+F4
快捷键即可。
Inject language
可以支持的语言和操作多到你难以想象,读者可以自行研究。