共计 4442 个字符,预计需要花费 12 分钟才能阅读完成。
今天丸趣 TV 小编给大家分享一下 Kuberentes1.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 每个区域的变化细节。
2 身份验证和 API Machinery
认证和授权访问 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。
5 集群生命周期
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 地址的能力。
8 存储
存储在 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) 可以在容器中运行而不是在主机上运行的工具
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
如果使用 OpenStack 使用 Kubernetes,用户会发现 v1.9 中的配置要简单得多。自动检测 OpenStack 服务和版本现在是“只要可行”的规则——在本例中意味着块存储 API 版本和安全组——用户现在可以将 OpenStack 负载平衡配置为服务 v2 提供者。支持 OpenStack Octavia v2 和中子 LBaaS v2。
AWS
AWS 的小组 (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。(以前这些字段的更改不会触发更新,因为负载均衡器认识不到已经发生了更改。)
以上就是“Kuberentes1.9 的相关知识点有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,丸趣 TV 小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注丸趣 TV 行业资讯频道。