摘要:当更新时,负载均衡器还被增强以考虑更多规则的属性,包括协议和。以前这些字段的更改不会触发更新,因为负载均衡器认识不到已经发生了更改。
Kuberentes可谓是2017年风头最劲的编排工具了,随着Kubernetes社区及各大厂商的不断改进、发展,Kuberentes将成为容器管理领域的领导者,昨天,Kubernetes官方发布了本年度第四次也是最后一次新版本的更新公告,即Kuberentes 1.9,那么它都有哪些特性和变化呢?小数今天就带大家看一看~
Kubernetes 1.9新的“特性”实际上并不是新的,而是基于为了足够稳定生产所使用现有功能的改进,如工作负载的API(DaemonSet、部署ReplicaSet,StatefulSet API),它提供了许多现实环境的基础工作负载,或已经进入到相关的测试阶段,这意味着它们是默认启用的,比如支持Windows服务器的工作负载。
然而只是进入了代码库,例如,Kubernetes 1.9包含了容器存储接口(CSI)和IPv6支持的Alpha实现。
1在升级之前需要做什么在决定升级到Kuberentes 1.9之前,必须备份Etcd数据,这是非常重要的一件事,因为许多用于部署和升级Kubernetes默认的工具是Etcd3.1,由于Etcd不支持降级,所以如果决定降级Kubernetes部署,那么就无法回到以前的版本,因此虽然可以在不执行备份的情况下升级,但也有一些风险存在。
下面就来了解一下Kubernetes 1.9每个区域的变化细节。
认证和授权访问Kubernetes的过程有了一系列的改进:
首先可以使用集群角色聚合将权限添加到内置的RBAC管理/编辑视图角色中,这些角色适用于整个集群,可以更容易管理谁可以或不能执行某些操作。
此外,授权本身也得到了改进:列如如果一个规则拒绝进入Fires,那么没有理由对链中的其余规则进行评估,这样其他的规则就会被短路。
所有这些都取决于可扩展性,在这个周期中,社区通过添加一种新型的控制Webhook来提高可扩展性。
当试图在Kuberentes中执行操作时,入检查访问和检查名称空间时,接收控制器是发生的不同组件,Webhook使得用户可以通过HTTP POST请求与Kuberentes进行通信;可以发送请求,当某些事件发生时,Kuberentes会进行回调。
在这个版本中,团队致力于“变异”的Webhook,这使得更灵活的进入控制插件得以实现,因为他们让Kuberentes在必要的时候做出改变,允许更大的扩展性。
3定制资源使用户能够创建自己的“对象”,可以被Kubernetes操纵,同时也已被增强,允许更容易的进行创建和更加可靠。这包括Kubernetes repo中一个新的示例控制器自定义资源定义,以及新的元数据字段选择器、帮助生成代码脚本,以及对已定义资源的验证,用来提高总体解决方案的可靠性。另外,以前的版本只允许引用自定义资源的组,现在可以获得单个实例。
4连网随着IPv4地址的耗尽,在Kubernetes 1.9中看到对IPv6支持的开始是个好消息。这种支持仍然在Alpha中,并且有很大的局限性,比如缺少双栈支持和没有HostPorts,然而这是一个开始。
此外,随着CoreDNS 1.0的发布,用户可以选择使用它作为kube - dns的替代选择。要安装它,需要CLUSTER_DNS_CORE_DNS为“true”。但是要注意的是这种支持是实验性的,这意味着它可以随时更改或被删除。
其他的网络改进包括- cleanup- ipvs标志,它决定了kube - proxy是否会在启动时刷新所有现有的Ipvs规则(就像它在默认的版本中一样),以及一个新的PodAntiAffinity kube- dns注释来增强恢复力。
用户还可以通过向主机的/ etc/ resolvei添加“选项”来定制pod的DNS客户端的行为。conf或- resolv- conf,这将使它们传播到pod resolve.conf。
Federation SIG已经被重命名为集群生命周期,并一直致力于将kubeadm部署工具提高到产品质量。该项目虽然有效,但应用实践相对较短,包括一些新增的alpha特性,比如对CoreDNS的支持、IPv6和动态Kubelet配置。要在配置中安装CoreDNS而不是kube - dns,将CLUSTER_DNS_CORE_DNS设置为“true”。
Kubeadm还获得了一些额外的新特性,例如- print-join- command,这使得在初始集群部署后获得必要的信息以添加新节点,支持Kubelet动态配置,以及将Windows节点添加到集群的能力。
该小组还负责集群API,用于“声明性的kubernet -style API来集群创建、配置和管理”。它提供可选的,可添加的功能,在核心库伯内特斯的顶部。
如果用户正在构建多集群的安装,会很高兴知道kubefed,它允许用户创建一个控制平面来添加、删除和管理联邦集群,已经获得了几个新标志,这些标志可以让用户对它的安装方式和操作方式有更多的控制。- nodeselector标志让用户决定控制器的安装位置,以及添加对- imagepullsecrets和- imageplpolicy的支持,意味着用户现在可以从私有容器注册表中提取图像。
6节点的功能如果是系统管理员或运维人员,那么Kubernetes 1.9可以使编写配置变得更容易一些,Kubelet的特性门现在表示为KubeletConfiguration中的映射,而不是一串键值对。此外,现在可以设置多个manifest url header,或者使用- manifest-url- header标志或KubeletConfiguration中的manifest . header字段。
而且deviceplugin会一直延伸到更优雅地处理插件设备全生命周期,包括显式cm.GetDevicePluginResourceCapacity()函数,它可以更准确地确定哪些资源是不活跃的,从而使可用资源的更精确的视图。它还确保了设备被正确地移除,即使 kubelet重新启动,并从kubelet传送到设备插件。最后,它确保即使在设备插件删除和 kubelet重新启动之后,预定的pods仍然可以继续运行。
但值得注意的是,根据发布说明,“Kubelet不再从节点状态移除未注册的扩展资源能力;当要自己删除插件时,集群管理员必须手动删除通过设备插件暴露的扩展资源,Kubernetes 1.9包括许多对日志和监视的增强,包括pod级的CPU、内存和本地临时存储。此外,状态摘要网络值,以前只考虑eth0,现在考虑所有的网络接口。
新版本还减轻了一些用户问题,增加了对默认管理和编辑角色的读/写权限,并增加了对podUNK tionbudget的读权限。策略到视图角色。
最后,团队取得了CRI日志解析在pkg/kubelet/apis/cri/logs,所以用户不用纠结于这个手动操作。
7调度Kubernetes 1.9更改了如何配置kube - scheduler,并向配置文件中添加一个新的- config标志。该文件是Kubernetes期望在未来版本中找到配置值的地方;现在大多数其他的kube调度器标志现在已经被弃用。
此版本还提供了更有效地调度需要扩展资源(如gpu)的工作负载的能力;
调度SIG还完成了一些其他的个别更改,例如在低优先级的pod之前调度更高优先级的pod,以及一个pod能够监听多个IP地址的能力。
存储在Kubernetes 1.9中的重大更新是添加了容器存储接口(CSI)的alpha实现。CSI是Kubernetes、Docker、Mesosphere和Cloud Foundry社区之间的一个联合项目,它的目的是提供一个单一的API,存储供应商可以在任何支持CSI的编排中实现其产品在“out of the box”中工作。根据Kubernetes存储SIG的说法,“CSI将会像部署一个pod一样轻松地安装新的容量插件,并且允许第三方存储提供商开发他们的插件,而无需将代码添加到核心库伯内特斯代码库中。用户可以通过实例化一个卷作为CSIVolumeSource来使用这个新功能。
存储SIG还增加了几个新功能,包括:
GCE PD、Ceph RBD、AWS EBS和OpenStack Cinder卷的容量大小
体积作为原始块设备(光纤通道仅为Kubernetes 1.9)
可以在容器中运行而不是在主机上运行的工具
Kubernetes 1.9的一个重要变化是,如果用户手动部署Kubernetes,必须为- cloud- provider标志设置一个值;默认情况不再是“自动检测”。允许的选择是:AWS、Azure、Cloudstack、Fake、Gce、Mesos、Openstack、Ovirt、Photon、Rackspace、 Vsphere、以及Unset;自动检测将在Kubernetes 1.10中被移除。(如果用Minikube或Kubeadm之类的工具来安装Kubernetes,不必担心这个问题。)
此外,该版本中的一些更改是针对个别云供应商的。
如果使用OpenStack使用Kubernetes,用户会发现v1.9中的配置要简单得多。自动检测OpenStack服务和版本现在是“只要可行”的规则——在本例中意味着块存储API版本和安全组——用户现在可以将OpenStack负载平衡配置为服务v2提供者。支持OpenStack Octavia v2和中子LBaaS v2。
AWSAWS的小组(SIG)一直致力于改善Kubernetes与EBS卷的集成。用户将不再使用被调度到“附加”状态的卷的工作负载。相反,节点将被“污染”,以便管理员能够处理问题。团队建议观看这些污染。此外,当停止节点时,卷将自动分离。
此外,Kubernetes现在支持AWS的新NVMe实例类型,以及使用AWS网络负载均衡器,而不是弹性负载均衡器。
Azure如果用户在Windows上使用Kubernetes,特别是在Azure上,会发现安装卷的失误率更小,因为您现在可以创建Windows挂载路径,并消除驱动器号的需要,这是无限的挂载点。
还可以使用service . beta.kubernetes显式地为公共IP地址设置Azure DNS标签。在使用Azure NSG规则时,仍然能够使用Azure NSG规则,以确保只允许外部访问负载均衡器的IP地址。当更新时,负载均衡器还被增强以考虑更多NSG规则的属性,包括协议、sourceUNK ange和DestinationAddressPrefs。(以前这些字段的更改不会触发更新,因为负载均衡器认识不到已经发生了更改。)
Kuberentes 1.9下载地址:https://github.com/kubernetes...
原文作者:Mirantis
原文链接:https://www.tuicool.com/artic...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/32622.html
摘要:与此同时,谷歌联合基金会及其他合作伙伴共同成立了基金会,并将作为首个编入管理体系的开源项目,助力容器技术生态的发展进步。年月谷歌宣布开源。年月容器引擎启动,谷歌宣布中支持容器及服务,并以为构架。 7月22日Google正式对外发布 Kubernetes v 1.0,意味着这个开源容器编排系统可以正式在生产环境使用。与此同时,谷歌联合linux基金会及其他合作伙伴共同成立了CNCF基金会...
摘要:二月份,微软正式加入支持的行列,宣布容器服务支持。去年月,在亚马逊弹性容器服务首次亮相。是年的最后一次重大更新,于月日正式推出。值得注意的公告包括亚马逊网络服务于八月份以白金会员最高级别加入了。 2017年的云计算市场,有一个领域获得了空前的关注 -- Kubernetes。 Kubernetes可以追溯到2014年,当时Google公开发布了该项目的开源代码。2017年,Kubern...
摘要:二月份,微软正式加入支持的行列,宣布容器服务支持。去年月,在亚马逊弹性容器服务首次亮相。是年的最后一次重大更新,于月日正式推出。值得注意的公告包括亚马逊网络服务于八月份以白金会员最高级别加入了。 2017年的云计算市场,有一个领域获得了空前的关注 -- Kubernetes。 Kubernetes可以追溯到2014年,当时Google公开发布了该项目的开源代码。2017年,Kubern...
摘要:敖小剑万字解读服务网格新生代添加很多新的功能以及改建,下面来谈一谈,让人激动的大改进对于自定义资源和初始化器的支持,要求或更新,如果集群中启用了特性,建议安装初始化器,它为所有想要的管理的微服务部署注入了自动的。 关于Service Mesh,数人云之前给大家分享了敖小剑老师的《Qcon2017实录|Service Mesh:下一代微服务》那么它对于容器相比传统模式都有哪方面的优势呢?...
摘要:,在互联网上赚钱,没有所谓的工作日,没有所谓的休息日。任何一个项目没有赚到钱之前,即使做不到,是一个必须的状态。但是很多人舍不得,或者不懂得如何拼时间和精力。最典型的一个人,他一直认为们之所以不能成功,是因为他们不够努力。 ...
阅读 3140·2021-09-28 09:36
阅读 3685·2021-09-08 09:45
阅读 1793·2021-09-01 10:43
阅读 3470·2019-08-30 12:44
阅读 3345·2019-08-29 17:25
阅读 1369·2019-08-29 11:03
阅读 1991·2019-08-26 13:36
阅读 693·2019-08-23 18:24