返回顶部
首页 > 资讯 > 精选 >Kubernetes1.5新增哪些特性
  • 589
分享到

Kubernetes1.5新增哪些特性

2023-06-28 03:06:33 589人浏览 泡泡鱼
摘要

这篇文章主要介绍“kubernetes1.5新增哪些特性”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Kubernetes1.5新增哪些特性”文章能帮助大家解决问题。Kubernetes1.5正式发

这篇文章主要介绍“kubernetes1.5新增哪些特性”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Kubernetes1.5新增哪些特性”文章能帮助大家解决问题。

Kubernetes1.5正式发布修复了很多已知问题,进一步增强federation相关特性、将PetSet改名为StatefulSet、将ScheduledJobs改名为CronJobs、新增了命令kubectl,用于操作federation等。

Kubernetes1.5新增哪些特性

背景介绍

在Kubernetes1.5中,对于kubelet新增加了几个同认证/授权相关的几个启动参数,分别是:

认证相关参数:

anonymous-auth参数:是否启用匿名访问,可以选择true或者false,默认是true,表示启用匿名访问。authentication-token-WEBhook参数:使用tokenreviewapi来进行令牌认证。authentication-token-webhook-cache-ttl参数:webhook令牌认证缓存响应时长。client-ca-file参数:表示使用x509证书认证,如果设置此参数,那么就查找client-ca-file参数设置的认证文件,任何请求只有在认证文件中存在的对应的认证,那么才可以正常访问。

授权相关参数:

authorization-mode参数:kubelet的授权模式,可以选择AlwaysAllow或者Webhook,如果设置成Webhook,那么使用SubjectAccessReviewAPI进行授权。authorization-webhook-cache-authorized-ttl参数:webhook授权时,已经被授权内容的缓存时长。authorization-webhook-cache-unauthorized-ttl参数:webhook授权时,没有被授权内容的缓存时长。

认证

默认anonymous-auth参数设置成true,也就是可以进行匿名认证,这时对kubelet API的请求都以匿名方式进行,系统会使用默认匿名用户和默认用户组来进行访问,默认用户名“system:anonymous”,默认用户组名“system:unauthenticated”。

可以禁止匿名请求,这时就需要设置kubelet启动参数:“–anonymous-auth=false”,这时如果请求时未经过认证的,那么会返回“401 Unauthorized”。

可以使用x509证书认证(X.509格式的证书是最通用的一种签名证书格式)。这时就需要设置kubelet启动参数:“–client-ca-file”,提供认证文件,通过认证文件来进行认证。同时还需要设置api server组件启动参数:“–kubelet-client-certificate”和“–kubelet-client-key”。在认证文件中一个用户可以属于多个用户组,比如下面例子产生的认证:

openssl req -new -key jbeda.pem -outjbeda-csr.pem -subj “/CN=jbeda/O=app1/O=app2”

这个例子创建了csr认证文件,这个csr认证文件作用于用户jbeda,这个用户属于两个用户组,分别是app1和app2。

可以启用令牌认证,这时需要通过命令“–runtime-config=authentication.k8s.io/v1beta1=true“启用api server组件authentication.k8s.io/v1beta1相关的API,还需要启用kubelet组件的“–authentication-token-webhook”、“–kubeconfig”、“–require-kubeconfig”三个参数。

kubeconfig参数:设置kubelet配置文件路径,这个配置文件用来告诉kubelet组件api server组件的位置,默认路径是。

require-kubeconfig参数:这是一个布尔类型参数,可以设置成true或者false,如果设置成true,那么表示启用kubeconfig参数,从kubeconfig参数设置的配置文件中查找api server组件,如果设置成false,那么表示使用kubelet另外一个参数“api-servers”来查找api server组件位置。

在kubernetes源代码中,有一个错误的注释:

func NewKubeletServer() *KubeletServer {versioned:= &v1alpha1.KubeletConfiguration{}api.Scheme.Default(versioned)config:= componentconfig.KubeletConfiguration{}api.Scheme.Convert(versioned,&config, nil)return&KubeletServer{KubeConfig:           flag.NewStringFlag(“/var/lib/kubelet/kubeconfig”),RequireKubeConfig:    false, // in 1.5, default to trueKubeletConfiguration:config,}}

这里面对RequireKubeConfig参数默认值的设置是false,但是在注释中写的确实true。

启用令牌认证后,kubelet会调用TokenReview API来进行令牌认证。

下面是一个kubeconfig文件格式样例:

clusters:-name: name-of-remote-authn-servicecluster:certificate-authority: /path/to/ca.pem         # 校验远程服务的认证文件server: https://authn.example.com/authenticate # 远程服务访问Https路径users:-name: name-of-api-serveruser:client-certificate: /path/to/cert.pem    # webhook插件使用的认证文件client-key: /path/to/key.pem         # 认证文件对应的密钥文件current-context: webhookcontexts:– context:cluster: name-of-remote-authn-serviceuser: name-of-api-severname: webhook

认证请求格式样例如下:

{“apiVersion”: “authentication.k8s.io/v1beta1”,“kind”: “TokenReview”,“spec”: {“token”: “(BEARERTOKEN)”}}

成功的认证响应如下:

{“apiVersion”: “authentication.k8s.io/v1beta1”,“kind”: “TokenReview”,“status”: {“authenticated”: true,“user”: {“username”: “janedoe@example.com”,“uid”: “42”,“groups”: [“developers”,“qa”],“extra”: {“extrafield1”: [“extravalue1”,“extravalue2”]}}}}

失败的认证响应如下:

{“apiVersion”: “authentication.k8s.io/v1beta1”,“kind”: “TokenReview”,“status”: {“authenticated”: false}}

授权

任何请求被成功认证后才会被授权,包括匿名认证请求。默认的授权模式是AlwaysAllow,意味着允许任何请求。其实对于API的请求是需要进行更细粒度划分和授权的,有下面两点原因:

虽然允许匿名用户请求,但是应该限制匿名用户可以访问的API。

虽然允许认证用户请求,但是不同认证用户应该可以访问不同的API,而不能所有认证用户只能访问相同的API。

要想进行API权限控制,需要通过命令“–runtime-config= authorization.k8s.io /v1beta1=true“启用api server组件authorization.k8s.io/v1beta1相关的API,还需要将授权模式参数“–authorization-mode”设置成Webhook,然后启用kubelet组件的“–kubeconfig”和“–require-kubeconfig”两个参数,这两个参数的作用在上面认证章节已经详细介绍过了,这里不再介绍。

Kubelet接着就会调用api server组件的SubjectAccessReviewAPI来判断哪个请求需要进行授权控制。

请求动作类型是根据HTTP访问类型进行划分的,如下面表格所示:

HTTP verb request verbPOST createGET, HEAD getPUT updatePATCH patchDELETE delete

资源访问请求是根据不同请求路径来进行划分的,如下面表格所示:

Kubelet API 资源名称 子资源名称/stats/* nodes stats/metrics/* nodes metrics/logs/* nodes log/spec/* nodes specall others nodes proxy

对于资源访问请求,访问时名字空间和API组这两个属性永远都是空值,资源名称的属性值就是kubelet所在节点对象名称。

要是想让kubelete API可以进行权限控制,还需要确保api server组件已经启用了“–kubelet-client-certificate”和“–kubelet-client-key”连个参数,

kubelet-client-certificate参数:客户端认证文件路径

kubelet-client-key参数:客户端密钥文件路径

还确保客户端被授权可以访问下面属性:

verb=*, resource=nodes,subresource=proxyverb=*, resource=nodes, subresource=statsverb=*, resource=nodes,subresource=logverb=*, resource=nodes,subresource=specverb=*, resource=nodes,subresource=metrics

关于“Kubernetes1.5新增哪些特性”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Kubernetes1.5新增哪些特性

本文链接: https://lsjlt.com/news/315771.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Kubernetes1.5新增哪些特性
    这篇文章主要介绍“Kubernetes1.5新增哪些特性”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Kubernetes1.5新增哪些特性”文章能帮助大家解决问题。Kubernetes1.5正式发...
    99+
    2023-06-28
  • Kubernetes1.5有哪些新特性
    这篇“Kubernetes1.5有哪些新特性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Kubernetes1.5有哪些新...
    99+
    2023-06-28
  • Kubernetes1.5的新特性有什么
    Kubernetes1.5的新特性有什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。背景介绍在Kubernetes1.5中,对于kubelet新增加了几个同认...
    99+
    2023-06-05
  • MySQL6.0新增特性有哪些
    小编给大家分享一下MySQL6.0新增特性有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!* 对子查询和Join进行了优化,...
    99+
    2024-04-02
  • html5新增了哪些特性
    这篇文章将为大家详细讲解有关html5新增了哪些特性,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 html5新增的特性:1、语义化标签(he...
    99+
    2024-04-02
  • ES11新增的新特性有哪些
    本篇内容介绍了“ES11新增的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ECMAScrip...
    99+
    2024-04-02
  • html5中新增了哪些新特性
    小编给大家分享一下html5中新增了哪些新特性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html5的新特性:1、用于绘画的canvas元素;2、用于媒介回放的...
    99+
    2023-06-14
  • MySQL 8.0新增特性有哪些
    这篇文章主要讲解了“MySQL 8.0新增特性有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL 8.0新增特性有哪些”吧! ...
    99+
    2024-04-02
  • es6的新增特性有哪些
    这篇文章主要介绍“es6的新增特性有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6的新增特性有哪些”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • PHP7.4的新增特性有哪些
    这篇文章将为大家详细讲解有关PHP7.4的新增特性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHPPHP 7里程版本PHP 7.4于2019年11月28日正式发布。因此,现在该让我们深入研究一些...
    99+
    2023-06-14
  • PHP 7.4有哪些新增特性
    本篇文章为大家展示了PHP 7.4有哪些新增特性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。性能提升,数组表达式中引入 Spread 运算符…自 PHP 5.6 起可用,参数解包是将数组和 Tra...
    99+
    2023-06-15
  • PHP的新增特性有哪些?
    php 的新特性包括:标量类型声明(提升代码可读性和维护性)、匿名类(方便创建一次性对象)、返回类型声明(静态分析和提高维护性)、空间船操作符(比较表达式值)、null 合并运算符(提供...
    99+
    2024-04-13
    php 新特性 代码可读性
  • kubernetes1.5新特性中是否支持Photon卷插件
    这篇文章将为大家详细讲解有关kubernetes1.5新特性中是否支持Photon卷插件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在Kubernetes中卷的作用在于提供给POD持久化存...
    99+
    2023-06-05
  • ES6新增的特性有哪些及怎么用
    这篇文章主要讲解了“ES6新增的特性有哪些及怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ES6新增的特性有哪些及怎么用”吧!理解ES6ECMAScr...
    99+
    2024-04-02
  • Groovy 1.7版的新增功能特性有哪些
    这篇文章主要为大家展示了“Groovy 1.7版的新增功能特性有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Groovy 1.7版的新增功能特性有哪些”这篇文章吧。基于JVM的新型编程语言...
    99+
    2023-06-17
  • MySQL 8.0 新增特性
    1. 数据字典 新增了事务型的数据字典,用来存储数据库对象信息 之前,字典数据是存储在元数据文件和非事务型表中的 2. 账号权限管理 添加了对 “角色” 的支持,角色会对应一套权限,角色可以被添加、删除...
    99+
    2024-04-02
  • MongoDB 3.0新增特性
    引言 在历经版本号修改(2.8版本直接跳到3.0版本)和11个rc版本之后,MongoDB 3.0于2015年3月3日正式发布。可以毫不夸张的说,该版本的新增特性标志着MongoDB这款典型的...
    99+
    2024-04-02
  • MySQL8.0新特性有哪些
    这篇文章给大家分享的是有关MySQL8.0新特性有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。1、 默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为...
    99+
    2024-04-02
  • oracle18c新特性有哪些
    oracle18c新特性有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Oracle宣布Database...
    99+
    2024-04-02
  • Vue3有哪些新特性
    本篇内容介绍了“Vue3有哪些新特性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!组件v-model支持参...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作