时间:2025-02-05 10:08
人气:
作者:admin
go build来构建镜像,因此无需安装docker。非常适合轻量级CI/CD用例KO_DOCKER_REPO: 镜像发布地址,必须配置。(KO_DOCKER_REPO='ko.local' 镜像保存到本地,不发布)KO_DEFAULTBASEIMAGE: 构建基础镜像地址,默认为cgr.dev/chainguard/static:latestKO_CONFIG_PATH: ko 配置文件的路径KO_DEFAULTPLATFORMS: 设置默认平台,默认为:linux/amd64,支持:linux/arm64、linux/amd64package 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
ko resolve -f deployment.yaml 会生成一个k8s的yaml文件,可以直接执行
ko://前缀的值ko://字符串,执行ko build <importpath>以构建和推送图像ko://使用构建图像的完整指定图像引用替换输入 YAML 中的前缀字符串ko apply
ko resolve -f config/ | kubectl apply -f -ko apply -f config/--后的参数都会传递给kubectl apply:ko apply -f config -- --context=foo --kubeconfig=cfg.yaml--insecure-registry参数即可, ko build --insecure-registry .