「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」。 本周为什么发布时间比往常迟呢?因为我在忙结婚呀。

CoreDNS v1.5.2 发布

这是 CoreDNS 在 1.5.x 版本中发布的第二个小版本,关于 1.5.1 版本的说明可参考上上周的文章。

在此版本中,一个重要的变更便是移除掉了 upstream 插件相关的所有文档和说明。比如,Kubernetes 1.14 版本中默认的 CoreDNS 的配置文件的内容如下:

.:53 {
    errors
    health
    kubernetes cluster.local in-addr.arpa ip6.arpa {
       pods insecure
       upstream
       fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
}

其中 kubernetes 插件中有一行 upstream 的配置,它是定义了用于解析指向外部主机的服务的上游解析器(也称之为外部服务,CNAME)CoreDNS 将针对自身解析该服务。

在此次变更之后, upstream 配置行便可直接移除。

另外 template 插件支持元数据了。比如说可以给它增加一个配置 .Meta "kubernetes/my-namespace"

关于此版本的更详细说明可阅读 ReleaseNote

Envoy v1.11.0 正式发布

这个版本的变化其实还比较多,主要集中在特性增强和各类兼容性支持上。

在此版本中增加了对 Redis Cluster 命令路由的支持,添加了 prefix routing 以支持对 Redis 按照 key 前缀进行路由的能力。

在管理方面增加了主机的优先级,ready 检查的接口等。

关于此版本更详细说明可阅读 ReleaseNote

为 Kubernetes 而生的操作系统 - Talos

正如该项目的介绍中说的 Talos 是一款现代操作系统,旨在提供安全,不可变和最小的功能。所有系统管理都是通过 API 完成的,没有 shell 或交互式控制台。

Talos 提供的一些功能和好处包括:

  • Security:Talos 通过实践最小特权原则(PoLP)并通过相互 TLS(mTLS)身份验证来保护 API 来减少攻击面。
  • Predictability:Talos 通过采用不可变的基础架构意识形态来消除不必要的变量并减少环境中的未知因素。
  • Evolvability:Talos 简化了你的架构,提高了轻松适应未来变化的能力。

这个项目其实挺有意思的,它示例中的做法其实很像我们的 Kubernetes In Docker 项目。我也会持续关注它的发展。

我会在近期分享一篇关于这类操作系统的文章(flag+1) ,大概内容就是关于 k3os, Talos, 曾经的 CoreOS 之类的操作系统的介绍和分析吧,敬请期待。

分享一个工具 - kubectl-bindrole

kubectl-bindrole 是一款 kubectl 插件,可用于帮助查找 Kubernetes 集群中指定 SA/Group/User 的权限等信息。

可以直接在项目的 Relase 页面进行下载安装。

(MoeLove) ➜  ~ kubectl bindrole -n kube-system kube-proxy 
ServiceAccount: kube-system/kube-proxy
Secrets:
• */kube-proxy-token-2f5ll

Policies:

• Name: */system:node-proxier
  Resource   Name  Exclude  Verbs  G L W C U P D DC         
  endpoints  [*]     [-]     [-]   ✖ ✔ ✔ ✖ ✖ ✖ ✖ ✖  
  events     [*]     [-]     [-]   ✖ ✖ ✖ ✔ ✔ ✔ ✖ ✖  
  nodes      [*]     [-]     [-]   ✔ ✖ ✖ ✖ ✖ ✖ ✖ ✖  
  services   [*]     [-]     [-]   ✖ ✔ ✔ ✖ ✖ ✖ ✖ ✖  

(MoeLove) ➜  ~ kubectl bindrole -n kube-system node-controller 
ServiceAccount: kube-system/node-controller
Secrets:
• */node-controller-token-kfgf2

Policies:

• Name: */system:controller:node-controller
  Resource      Name  Exclude  Verbs  G L W C U P D DC         
  events        [*]     [-]     [-]   ✖ ✖ ✖ ✔ ✔ ✔ ✖ ✖  
  nodes         [*]     [-]     [-]   ✔ ✔ ✖ ✖ ✔ ✔ ✔ ✖  
  nodes/status  [*]     [-]     [-]   ✖ ✖ ✖ ✖ ✔ ✔ ✖ ✖  
  pods          [*]     [-]     [-]   ✖ ✔ ✖ ✖ ✖ ✖ ✔ ✖  
  pods/status   [*]     [-]     [-]   ✖ ✖ ✖ ✖ ✔ ✖ ✖ ✖  

在终端下它看起来是这样:

kubectl-bindrole preview - moelove.info


可以通过下面二维码订阅我的文章公众号【MoeLove】

TheMoeLove