云原生一周动态要闻:
- Dockershim 即将被正式废弃
- Dapr v1.5 发布
- 警告:攻击者利用 SonarQube 漏洞盗取源码
- OpenELB 进入 CNCF Sandbox
- 开源项目推荐
- 文章推荐
云原生动态
Dockershim 即将被正式废弃
日前,Kubernetes 宣布将从 Kubernetes 代码库中删除 dockershim,取而代之的是支持直接使用为 Kubernetes 创建的容器运行时接口的运行时。
目前的计划是 dockershim 将在 Kubernetes 1.24 版本中删除,该版本定于明年 4 月左右发布。对于那些开发或运行 alpha 和 beta 版本的人,dockershim 将在 12 月 1.24 版本开发周期开始时删除。
Kubernetes 正在通过调查[1] 收集意见,以更好地了解用户应对废弃 dockershim 的准备情况。此调查将了解用户当前使用的 Kubernetes 版本,以及用户预计何时会采用 Kubernetes 1.24。有关 dockershim 废弃准备情况的所有汇总信息将会发布。
Kubernetes 是一个成熟的项目。这种弃用是努力摆脱永久性测试版功能并提供更多稳定性和兼容性保证的又一步。废弃 dockershim,用户将获得更多的灵活性和容器运行时功能的选择,以及应用程序对特定底层技术的更少依赖。请花时间查看 dockershim 迁移文档[2],并咨询 Kubernetes 托管供应商(如果有的话)有哪些容器运行时可使用。
详情见[3]
Dapr v1.5 发布
日前,Dapr v1.5 发布,这是自 Dapr v1.0 发布以来的第五次小版本更新。
该版本有以下亮点:
- 组件升级为 Stable 状态
- 用于状态管理的查询 API
- 配置 API 构建块
- Go SDK 中的 Actor
- Actors 可靠性改进
- 支持 ARM64 MAC(预览版)
- 新增 components
详情见[4]
警告:攻击者利用 SonarQube 漏洞盗取国内多个机构的大量源码
2021 年 10 月 22 日,国外知名媒体 cybernews 发文称,有未知攻击者攻击并渗透了博世 iSite 的服务器,并盗取了这家制造业巨头的 5G 物联网连接平台的源代码。攻击者声称通过利用 SonarQube 的零日漏洞获取了这些源代码,并提供了详细的入侵过程截图和盗取到的源代码文件截图。
遭殃的不止是这一家公司,攻击者 25 号声称梅赛德斯 - 奔驰中国部门的部分源代码也被他们窃取了。26 号,攻击者又拿到了中国公安系统的医疗平台、保险和人事的 SRC 源码。
目前攻击是否还在继续,我们无法得知,已知的就是攻击者利用了 SonarQube 的零日漏洞进行入侵,而且攻击的都是我国的机构和企业。
目前该漏洞 (CNVD-2021-84502) 已被收录进了国家信息安全漏洞共享平台 (CNVD),并公开了漏洞细节。
OpenELB 进入 CNCF Sandbox
11 月 10 日,云原生计算基金会 (CNCF) 宣布由青云科技 KubeSphere 团队开源的负载均衡器插件 OpenELB 正式进入 CNCF 沙箱(Sandbox)托管。
OpenELB 项目在此前命名为 PorterLB,是为物理机(Bare-metal)、边缘(Edge)和私有化环境设计的负载均衡器插件,可作为 Kubernetes、K3s、KubeSphere 的 LB 插件对集群外暴露 “LoadBalancer” 类型的服务,核心功能包括:
- 基于 BGP 与 Layer 2 模式的负载均衡
- 基于路由器 ECMP 的负载均衡
- IP 地址池管理管理
- 使用 CRD 进行 BGP 配置
开源项目推荐
Krustlet[5]
Krustlet 是一个用来在 Kubernetes 上原生运行 WebAssembly 工作负载的 Kubelet,使用 Rust 语言开发。它会监听 Kubernetes API,以获取新的 Pod 请求,一旦 Pod 被调度到该节点,该节点的 Krustlet 就会运行 WebAssembly 工作负载。用户必须为应用程序生成 WebAssembly 二进制文件,并推送到容器镜像仓库。
Rover[6]
Rover 是一个 Terraform 可视化工具,它通过解析你的 Terraform 配置文件来生成可视化界面。
composerize[7]
composerize 是一个 CLI 工具,可以将 docker run
命令转换为 docker-compose
配置清单。
除了 CLI 之外还提供了一个可视化界面。
kube-lineage[8]
kube-lineage 是一个 kubectl 插件,用来展示 Kubernetes 集群资源的所有依赖资源或附属资源。例如:
$ kube-lineage pod coredns-5cc79d4bf5-xgvkc --dependencies
NAMESPACE NAME READY STATUS AGE
kube-system Pod/coredns-5cc79d4bf5-xgvkc 1/1 Running 30m
├── Node/k3d-server True KubeletReady 30m
├── PodSecurityPolicy/system-unrestricted-psp - 30m
kube-system ├── ConfigMap/coredns - 30m
kube-system ├── ReplicaSet/coredns-5cc79d4bf5 1/1 30m
kube-system │ └── Deployment/coredns 1/1 30m
kube-system ├── Secret/coredns-token-6vsx4 - 30m
kube-system │ └── ServiceAccount/coredns - 30m
│ ├── ClusterRoleBinding/system:basic-user - 30m
│ │ └── ClusterRole/system:basic-user - 30m
│ ├── ClusterRoleBinding/system:coredns - 30m
│ │ └── ClusterRole/system:coredns - 30m
│ ├── ClusterRoleBinding/system:discovery - 30m
│ │ └── ClusterRole/system:discovery - 30m
│ ├── ClusterRoleBinding/system:public-info-viewer - 30m
│ │ └── ClusterRole/system:public-info-viewer - 30m
kube-system │ └── RoleBinding/system-unrestricted-svc-acct-psp-rolebinding - 30m
│ └── ClusterRole/system-unrestricted-psp-role - 30m
│ └── PodSecurityPolicy/system-unrestricted-psp - 30m
kube-system └── ServiceAccount/coredns
dstp[9]
dstp 是一个 CLI 工具,用来对网站进行常规的网络测试。
文章推荐
Kubernetes 是如何验证自定义资源的[10]
Kubernetes 除了内置 API 之外,还可以通过 CRD 创建自定义资源,API Server 在自定义资源运行之前是感知不到它的存在的,所以在运行之前对自定义资源进行验证就显得尤为重要。本文花了很长的篇幅通过源码来解析 API Server 对自定义资源的验证过程。
使用 Istio 实现 OIDC 身份验证[11]
Istio 除了核心功能外,还支持通过 Envoy 来扩展配置。本文介绍了如何通过 Istio 的扩展配置为服务网格内的应用配置 OpenID Connect (OIDC) 认证流程,以便将认证和授权都卸载给 Istio。
引用链接
[1] 调查: https://forms.gle/svCJmhvTv78jGdSx8
[2] dockershim 迁移文档: https://kubernetes.io/docs/tasks/administer-cluster/migrating-from-dockershim/
[3] 详情见: https://kubernetes.io/blog/2021/11/12/are-you-ready-for-dockershim-removal/
[4] 详情见: https://blog.dapr.io/posts/2021/11/12/dapr-v1.5-is-now-available/
[5] Krustlet: https://github.com/krustlet/krustlet/
[6] Rover: https://github.com/im2nguyen/rover
[7] composerize: https://github.com/magicmark/composerize
[8] kube-lineage: https://github.com/tohjustin/kube-lineage
[9] dstp: https://github.com/ycd/dstp
[10] Kubernetes 是如何验证自定义资源的: https://danielmangum.com/posts/how-kubernetes-validates-custom-resources/
[11] 使用 Istio 实现 OIDC 身份验证: https://www.jetstack.io/blog/istio-oidc/
猜你喜欢: