我1.6.1
在 Google Kubernetes Engine 上使用 camel-k。我想将容器图像推送到 Google Cloud Registry,但如果图像未缓存在 gcr 中,则从我们的组织 Artifactory 中提取图像。
由于这个问题,我使用 Kaniko 作为构建工具,我认为它会起作用,如果你给 Kaniko 两个容器注册表:第一个将图像推送到 gcr,第二个作为后备,如果构建需要 gcr 中不存在的图像. 但骆驼-k集成平台似乎不支持这一点。Go 规范说:
// IntegrationPlatformBuildSpec contains platform related build information
type IntegrationPlatformBuildSpec struct {
BuildStrategy BuildStrategy `json:"buildStrategy,omitempty"`
PublishStrategy IntegrationPlatformBuildPublishStrategy `json:"publishStrategy,omitempty"`
RuntimeVersion string `json:"runtimeVersion,omitempty"`
RuntimeProvider RuntimeProvider `json:"runtimeProvider,omitempty"`
BaseImage string `json:"baseImage,omitempty"`
Registry RegistrySpec `json:"registry,omitempty"`
Timeout *metav1.Duration `json:"timeout,omitempty"`
PersistentVolumeClaim string `json:"persistentVolumeClaim,omitempty"`
Maven MavenSpec `json:"maven,omitempty"`
HTTPProxySecret string `json:"httpProxySecret,omitempty"`
KanikoBuildCache *bool `json:"kanikoBuildCache,omitempty"`
}
...
// RegistrySpec provides the configuration for the container registry
type RegistrySpec struct {
Insecure bool `json:"insecure,omitempty"`
Address string `json:"address,omitempty"`
Secret string `json:"secret,omitempty"`
CA string `json:"ca,omitempty"`
Organization string `json:"organization,omitempty"`
}
我的平台配置如下所示:
platform:
build:
publishStrategy: Kaniko
registry:
address: eu.gcr.io
organization: my-project
secret: kaniko-secret
cluster: ""
如何在此设置中设置多个容器注册表以将 camel-k 集成图像推送到 gcr 并从 Artifactory 而不是默认的 DockerHub 中提取不存在的图像?