ko 是一个适用于 Go 应用程序的简单、快速的容器镜像构建器
官方网站
- 镜像包含单个go应用程序,且对os基础镜像没有太多的依赖
- ko 通过本地机器上执行
go build
来构建镜像,因此无需安装docker。非常适合轻量级CI/CD用例
安装
安装
示例
环境变量
KO_DOCKER_REPO
: 镜像发布地址,必须配置。(KO_DOCKER_REPO=’ko.local’ 镜像保存到本地,不发布)KO_DEFAULTBASEIMAGE
: 构建基础镜像地址,默认为cgr.dev/chainguard/static:latest
KO_CONFIG_PATH
: ko 配置文件的路径KO_DEFAULTPLATFORMS
: 设置默认平台,默认为:linux/amd64
,支持:linux/arm64
、linux/amd64
ko build
- 编写go见需要的脚本,必须是package main定义的func main()
timenow.go
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now())
}
ko build --insecure-registry .
- 可以通过
docker images
查看构建的镜像
通过参数,控制构建镜像的名称
文件层级
(base) example tree
.
└── timeapp.go
0 directories, 1 file
ko build --insecure-registry .
,镜像列表
ko.local/example-84e3e227f758f6819f890c8defb0db27 db079a7eb3c0c7e11fa44b9c7e13be6896a4c78fa4773922895e87bf39e65323 98df57fab142 2 weeks ago 3.57MB
ko.local/example-84e3e227f758f6819f890c8defb0db27 latest 98df57fab142 2 weeks ago 3.57MB
build --insecure-registry --preserve-import-paths .
镜像列表
ko.local/github.com/google/ko/example db079a7eb3c0c7e11fa44b9c7e13be6896a4c78fa4773922895e87bf39e65323 98df57fab142 2 weeks ago 3.57MB
ko.local/github.com/google/ko/example latest 98df57fab142 2 weeks ago 3.57MB
ko build --insecure-registry --base-import-paths .
镜像列表
ko.local/example db079a7eb3c0c7e11fa44b9c7e13be6896a4c78fa4773922895e87bf39e65323 98df57fab142 2 weeks ago 3.57MB
ko.local/example latest 98df57fab142 2 weeks ago 3.57MB
k8s 支持
ko resolve -f deployment.yaml
会生成一个k8s的yaml文件,可以直接执行
- 扫描配置文件中带有
ko://
前缀的值 - 对每一个唯一的
ko://
字符串,执行ko build <importpath>
以构建和推送图像 ko://
使用构建图像的完整指定图像引用替换输入 YAML 中的前缀字符串- 将解析后的 YAML 打印到标准输出。
ko apply
- 通过生成的yaml,执行配置
ko resolve -f config/ | kubectl apply -f -
- 直接使用内置的命令:
ko apply -f config/
- 内置命令,添加参数;
--
后的参数都会传递给kubectl apply
:ko apply -f config -- --context=foo --kubeconfig=cfg.yaml
问题
- x509: 一般而言,添加
--insecure-registry
参数即可,ko build --insecure-registry .
来源链接:https://www.cnblogs.com/wei2cai/p/18698844
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容