K8S 生态周报| Helm v3.8 OCI 支持正式 GA,Docker 新版本修复多个严重 bug

本文主要是介绍K8S 生态周报| Helm v3.8 OCI 支持正式 GA,Docker 新版本修复多个严重 bug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]

KIND v0.12.0 发布

KIND(Kubernetes In Docker)是我很喜欢,也是一直在参与的一个开源项目。在我之前的文章中有过多次介绍,可以参考 使用 Kind 在离线环境创建 K8S 集群 我基本上每天都会用到它,非常的方便。

距离上个大版本,v0.11 已经过了近十个月,我们来看看这个新版本带来哪些值得关注的特性吧:

目前 v0.12.0 默认使用的 Kubernetes 版本为 v1.23.4 版本。如果升级 KIND 的话,会重新拉取最新的镜像,镜像托管在 Docker Hub 上, 可能会比较耗时,建议确保网络顺畅。

在 v0.12.0 中专门优化了对多架构的支持,默认的所有已发布镜像都包含了 amd64 和 arm64 的支持。在镜像中也对相关组件都做了升级:

  • containerd v1.5.10

  • crictl 1.23.0

  • CNI plugin v1.1.0

此外,也修复了 Docker + cgroup2 + rootless 环境下的支持,和 WSL2 环境下的支持。建议大家进行升级。

更多详细信息请参考其 ReleaseNote

Docker v20.10.13 发布

本周 Docker 发布了 v20.10.13 版本,是的,你没有看错,现在发布的版本还是在给 v20.10 打 patch 。实际上当前 Docker 仓库中最新的代码比 v20.10 已经多了很多功能特性,只不过尚未达到发布一个全新的大版本的目标,所以一直没有发布新的大版本。

这个版本中主要是进行了一些 bugfix 和打包相关的变更。其中包括:

  • 将 buildx 升级到了 v0.8.0 版本。

  • #43165 修复了当使用 local 日志驱动时,如果迅速产生大量日志,可能会产生 OOM 的问题。如果有在使用 local 日志驱动的小伙伴,建议进行升级 。

  • #43147 修复了 fluentd 日志驱动配合 fluentd-async-connect=true 使用,并且远端服务不可用时,可能会导致 docker daemon 发生 crash 。

  • #43333 当 pull image 的时候,如果在 image-manifests 时遇到网络连接失败,则进行重试。

所以,如果有使用 localfluentd 等日志驱动的小伙伴,请尽量进行 Docker 的升级。其余场景可自行判断。

更多详细信息请参考其 ReleaseNote

Helm v3.8 发布

Helm v3.8 是一个特性版本,在这个版本中最大的变化就是对 OCI registry 的支持达到 GA。

如果想要登陆一个 OCI registry 的话,可以使用类似 Docker CLI 的用法,使用 helm registry login 镜像仓库 进行操作。

例如,可以使用如下命令登陆 GitHub 的镜像仓库地址:

➜ (MoeLove) ~ helm registry login ghcr.io                     
Username: tao12345666333
Password: 
Login Succeeded

它实际参考了 Docker CLI 的做法,包括配置文件的结构等都与 Docker CLI 保持一致。

如果想要将 Helm chart 提交到 GitHub 镜像仓库的话,可以进行如下操作:

(MoeLove) ➜ helm create foo
Creating foo
(MoeLove) ➜ helm package foo 
Successfully packaged chart and saved it to: /tmp/foo-0.1.0.tgz
(MoeLove) ➜ helm push foo-0.1.0.tgz oci://ghcr.io/tao12345666333/foo-chart
Pushed: ghcr.io/tao12345666333/foo-chart/foo:0.1.0
Digest: sha256:1b0a889b4e0fee5b5679512182fc6c2e802f39bdc5ba9d11fff0affb962b9b49

也可以通过如下命令完成 Chart 的 pull 操作:

# Pull chart
(MoeLove) ➜ helm pull oci://ghcr.io/tao12345666333/foo-chart/foo --version 0.1.0
Pulled: ghcr.io/tao12345666333/foo-chart/foo:0.1.0
Digest: sha256:1b0a889b4e0fee5b5679512182fc6c2e802f39bdc5ba9d11fff0affb962b9b49

或者安装操作:

# Install
(MoeLove) ➜ helm install foo oci://ghcr.io/tao12345666333/foo-chart/foo --version 0.1.0   
NAME: foo
LAST DEPLOYED: Sun Mar 13 16:52:55 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=foo,app.kubernetes.io/instance=foo" -o jsonpath="{.items[0].metadata.name}")export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")echo "Visit http://127.0.0.1:8080 to use your application"kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT

这次 OCI 支持达到 GA 最大的好处就在于,我们不再需要分别维护容器镜像仓库和 Helm chart 的仓库了。可以直接使用同一个,维护成本可以降低。

上游进展

#108309 · kubernetes/kubernetes 这是 KEP-2799: Reduction of Secret-based Service Account Tokens 的实现,主要原因是由于 Kubernetes 默认情况下的 Service Account Token 的机制,如果 Pod 引用了某个 Service Account,则默认会为其挂载对应的 Token。当然,我们也可以通过配置 automountServiceAccountToken: false 来避免此行为。

在这个 PR 中,将 LegacyServiceAccountTokenNoAutoGeneration 特性设置为 beta 级别,并且在 Kubernetes v1.24 版本中将默认启用。届时,所有新创建的 ServiceAccount 默认不会获取到 Token 信息。这是需要额外注意的,当然,这个变更并不会影响到 Pod 使用的。

其他一些变更

  • Thanos v0.25 发布

  • Knative v1.3 发布

  • CNI plugins v1.1.0 发布


欢迎订阅我的文章公众号【MoeLove】

af2f95bee3efb25d1f1a91903d5a3c9f.png
TheMoeLove

参考资料

[1]

k8s生态: https://zhuanlan.zhihu.com/container

这篇关于K8S 生态周报| Helm v3.8 OCI 支持正式 GA,Docker 新版本修复多个严重 bug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817212

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

90、k8s之secret+configMap

一、secret配置管理 配置管理: 加密配置:保存密码,token,其他敏感信息的k8s资源 应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中容器 1.1、加密配置: secret: [root@master01 ~]# kubectl get secrets ##查看加密配置[root@master01 ~]# kubectl get se

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O