K8S 生态周报 | 首个 Docker 官方 Action 发布

简介: 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 首个 Docker 官方 GitHub Action 发布了 从去年 Docker 将企业服务相关的业务出售给 Mirantis 之后,Docker 将重心放在助力开发者体验上,并为此做了一系列的努力。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!


首个 Docker 官方 GitHub Action 发布了

从去年 Docker 将企业服务相关的业务出售给 Mirantis 之后,Docker 将重心放在助力开发者体验上,并为此做了一系列的努力。包括 1 月份发布了 Docker Desktop v2.2 ,提供了 WSL2 的新架构,以及新的交互式 Desktop Dashboard 等特性。

本周又发布了首个 Docker GitHub Action,简化了 CI/CD 的流程。

这其实也是从另一个角度来推进 DockerHub 的普及(比预期的晚了一些)。DockerHub 上一直都有构建 Docker 镜像的功能,但我个人感觉体验并不够好,从一般意义上来说,它不够灵活;另外我感觉它的调度略慢了一点(虽然现在在优化中了)。

但本次发布的 Docker GitHub Action 可以让用户可以更灵活的通过 GitHub Action 来定义自己的 workflow,并将镜像推送至镜像仓库。这里的镜像仓库并没有和 DockerHub 强制绑定,用户可以自定义镜像仓库的地址。

使用示例如下,完整的项目可参考 docker-github-action 。需要额外注意的是, 如果你的仓库是公开的,请注意将自己的用户名密码等设置为 secrets ,可参考下方示例,以防泄漏。

  • name: Build and push Docker images
    uses: docker/build-push-action@v1.0

with:

# Username used to log in to a Docker registry. If not set then no login will occur
username: ${{ secrets.DOCKER_USERNAME }}  
# Password or personal access token used to log in to a Docker registry. If not set then no login will occur
password: ${{ secrets.DOCKER_TOKEN }}
# Docker repository to tag the image with
repository: ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_PROJECT }}
# Automatically tags the built image with the git reference as per the readme
tag_with_ref: true
# Automatically tags the built image with the git short SHA as per the readme
tag_with_sha: true
# Path to run docker build from
path: .
# Name of the Dockerfile (Default is 'path/Dockerfile')
dockerfile: Dockerfile
# Always attempt to pull a newer version of the image
always_pull: true
# Adds labels with git repository information to the built image
add_git_labels: true
# Whether to push the image
push: true

此外 Visual Studio Code Docker extension 1.0 也在本周发布了!据说比之前版本的都好用,使用 vsc 的小伙伴可以尝试下。

etcd v3.4.5 发布

etcd 本周发布的 v3.4.5 包含了一些:

  • 11704 在 server 端的日志中记录了 /health 的检查结果,主要是为了便于在 etcd 挂掉时分析根因;

  • 11694 修复了一个在处理 metrics 可能引起的异常;

其他变更,请参考其 ReleaseNote

Trivy 授权协议变更为 Apache-2.0

Aqua Security 开源的 trivy 是一款镜像漏洞安全扫描程序,对 CI 友好。

可能有些小伙伴不太了解 Aqua Security 这家公司,但大多数人都或多或少用过或者了解过它的一些开源项目:

  • kubectl-who-can
  • kube-bench
  • kube-hunter

近期,trivy 的授权协议从 AGPL v3 修改成了 Apache-2.0,这个事情的意义在于,更多的厂商或者公司可以不用担心 trivy 自身的授权协议,可以在自己的产品或者环境中集成使用 trivy 了!

目前包括 Harbor,Docker 及 Mirantis Docker Enterprise 等正在或者将使用 trivy 作为其默认镜像安全扫描工具。

但需要注意的是,trivy 使用的数据源有些是还是禁止商用来着。

上游进展

这是一个对 Kubernetes v1.16 的修复,将一系列主线中的修复都合并到了 v1.16 。这里专门提到它,是因为如果你集群中有很多节点变 NotReady 时,可能会导致 control plane 超载,出现不可用的情况。主要的修正都在 NodeLifecycleController 上,建议想要使用或者正在 v1.16 版本的用户关注下此问题(如果集群规模不大,那受此问题影响的可能性比较小),详情请查看 #88959

项目推荐

Reloader 是一个 Kubernetes controller ,它会 watch ConfigMap 或 Secrets,然后对使用这些资源的 Pod 执行滚动升级。

注意它只兼容 Kubernetes v1.9 及以上。如果有相关需求的小伙伴可以进行尝试。


【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-03-24
本文作者:张晋涛
本文来自:“掘金”,了解相关信息可以关注“掘金

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
775 78
|
Kubernetes Docker 容器
Kubernetes与Docker参数对照:理解Pod中的command、args与Dockerfile中的CMD、ENTRYPOINT。
需要明确的是,理解这些都需要对Docker和Kubernetes有一定深度的理解,才能把握二者的区别和联系。虽然它们都是容器技术的二个重要组成部分,但各有其特性和适用场景,理解它们的本质和工作方式,才能更好的使用这些工具,将各自的优点整合到生产环境中,实现软件的快速开发和部署。
594 25
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
850 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
存储 Kubernetes Docker
Kubernetes(k8s)和Docker Compose本质区别
理解它们的区别和各自的优势,有助于选择合适的工具来满足特定的项目需求。
1887 19
|
Kubernetes Linux 虚拟化
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
4313 11
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
512 14
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
2347 10
|
Kubernetes 开发者 Docker
Docker与Kubernetes的协同工作
Docker与Kubernetes的协同工作
|
Kubernetes 负载均衡 Linux
Docker从入门到掉坑(四) 国内搭建k8s避坑指南
Docker从入门到掉坑(四) 国内搭建k8s避坑指南
690 0
|
存储 JSON Kubernetes
Docker从入门到掉坑(五):继续挖一挖 k8s
Docker从入门到掉坑(五):继续挖一挖 k8s
Docker从入门到掉坑(五):继续挖一挖 k8s