Unverified Commit 4d02a463 authored by julienmancuso's avatar julienmancuso Committed by GitHub
Browse files

feat: remove old bento images (#801)

parent c522253b
......@@ -39,6 +39,7 @@ dynamo-operator:
server: ${PIPELINES_DOCKER_SERVER}
username: ${PIPELINES_DOCKER_USERNAME}
password: ${PIPELINES_DOCKER_PASSWORD}
imageBuildEngine: buildkit
dynamo-api-store:
namespaceRestriction:
......
......@@ -23,7 +23,7 @@ version: 25.2.0-rc3
home: https://nvidia.com
dependencies:
- name: dynamo-operator
version: 0.1.5
version: 0.1.6
repository: file://components/operator
condition: dynamo-operator.enabled
- name: dynamo-api-store
......
......@@ -27,7 +27,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.5
version: 0.1.6
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
......@@ -35,5 +35,5 @@ version: 0.1.5
appVersion: "0.1.0"
dependencies:
- name: dynamo-crds
version: 0.1.4
version: 0.1.5
repository: file://charts/dynamo-crds
\ No newline at end of file
......@@ -16,5 +16,5 @@ apiVersion: v2
name: dynamo-crds
description: A Helm chart for CRDs of dynamo operator
type: application
version: 0.1.4
version: 0.1.5
dependencies: []
\ No newline at end of file
......@@ -27,9 +27,7 @@ stringData:
DYNAMO_DEPLOYMENT_NAMESPACE: {{ .Release.Namespace }}
DYNAMO_IMAGE_BUILDER_NAMESPACE: {{ .Release.Namespace }}
INTERNAL_IMAGES_METRICS_TRANSFORMER: {{ .Values.dynamo.internalImages.metricsTransformer | quote }}
INTERNAL_IMAGES_DEBUGGER: {{ .Values.dynamo.internalImages.debugger | quote }}
INTERNAL_IMAGES_MONITOR_EXPORTER: {{ .Values.dynamo.internalImages.monitorExporter | quote }}
INTERNAL_IMAGES_PROXY: {{ .Values.dynamo.internalImages.proxy | quote }}
{{- if .Values.dynamo.enableRestrictedSecurityContext }}
......
......@@ -78,14 +78,12 @@ dynamo:
clusterName: default
internalImages:
dynamoComponentsDownloader: quay.io/bentoml/bento-downloader:0.0.5
dynamoComponentsDownloader: rapidfort/curl:latest
kaniko: gcr.io/kaniko-project/executor:debug
buildkit: moby/buildkit:v0.20.2
buildkitRootless: moby/buildkit:v0.20.2-rootless
metricsTransformer: quay.io/bentoml/yatai-bento-metrics-transformer:0.0.4
debugger: quay.io/bentoml/bento-debugger:0.0.8
monitorExporter: quay.io/bentoml/bentoml-monitor-exporter:0.0.3
proxy: quay.io/bentoml/bentoml-proxy:0.0.1
debugger: python:3.12-slim
proxy: envoyproxy/envoy:v1.33-latest
enableRestrictedSecurityContext: false
......
......@@ -41,14 +41,12 @@ dynamo-operator:
endpoint: http://dynamo-store
clusterName: default
internalImages:
dynamoComponentsDownloader: quay.io/bentoml/bento-downloader:0.0.5
dynamoComponentsDownloader: rapidfort/curl:latest
kaniko: gcr.io/kaniko-project/executor:debug
buildkit: moby/buildkit:v0.20.2
buildkitRootless: moby/buildkit:v0.20.2-rootless
metricsTransformer: quay.io/bentoml/yatai-bento-metrics-transformer:0.0.4
debugger: quay.io/bentoml/bento-debugger:0.0.8
monitorExporter: quay.io/bentoml/bentoml-monitor-exporter:0.0.3
proxy: quay.io/bentoml/bentoml-proxy:0.0.1
debugger: python:3.12-slim
proxy: envoyproxy/envoy:v1.33-latest
enableRestrictedSecurityContext: false
dockerRegistry:
server: ""
......
......@@ -48,20 +48,6 @@ type LabelItemSchema struct {
Value string `json:"value"`
}
type MonitorExporterMountSpec struct {
Path string `json:"path,omitempty"`
ReadOnly bool `json:"readOnly,omitempty"`
corev1.VolumeSource `json:",inline"`
}
type MonitorExporterSpec struct {
Enabled bool `json:"enabled,omitempty"`
Output string `json:"output,omitempty"`
Options map[string]string `json:"options,omitempty"`
StructureOptions []corev1.EnvVar `json:"structureOptions,omitempty"`
Mounts []MonitorExporterMountSpec `json:"mounts,omitempty"`
}
type ExtraPodMetadata struct {
Annotations map[string]string `json:"annotations,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
......
......@@ -178,58 +178,6 @@ func (in *LabelItemSchema) DeepCopy() *LabelItemSchema {
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MonitorExporterMountSpec) DeepCopyInto(out *MonitorExporterMountSpec) {
*out = *in
in.VolumeSource.DeepCopyInto(&out.VolumeSource)
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorExporterMountSpec.
func (in *MonitorExporterMountSpec) DeepCopy() *MonitorExporterMountSpec {
if in == nil {
return nil
}
out := new(MonitorExporterMountSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MonitorExporterSpec) DeepCopyInto(out *MonitorExporterSpec) {
*out = *in
if in.Options != nil {
in, out := &in.Options, &out.Options
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
if in.StructureOptions != nil {
in, out := &in.StructureOptions, &out.StructureOptions
*out = make([]v1.EnvVar, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
if in.Mounts != nil {
in, out := &in.Mounts, &out.Mounts
*out = make([]MonitorExporterMountSpec, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitorExporterSpec.
func (in *MonitorExporterSpec) DeepCopy() *MonitorExporterSpec {
if in == nil {
return nil
}
out := new(MonitorExporterSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceItem) DeepCopyInto(out *ResourceItem) {
*out = *in
......
......@@ -70,8 +70,6 @@ type DynamoComponentDeploymentSharedSpec struct {
Ingress IngressSpec `json:"ingress,omitempty"`
MonitorExporter *dynamoCommon.MonitorExporterSpec `json:"monitorExporter,omitempty"`
// +optional
ExtraPodMetadata *dynamoCommon.ExtraPodMetadata `json:"extraPodMetadata,omitempty"`
// +optional
......
......@@ -279,11 +279,6 @@ func (in *DynamoComponentDeploymentSharedSpec) DeepCopyInto(out *DynamoComponent
}
}
in.Ingress.DeepCopyInto(&out.Ingress)
if in.MonitorExporter != nil {
in, out := &in.MonitorExporter, &out.MonitorExporter
*out = new(common.MonitorExporterSpec)
(*in).DeepCopyInto(*out)
}
if in.ExtraPodMetadata != nil {
in, out := &in.ExtraPodMetadata, &out.ExtraPodMetadata
*out = new(common.ExtraPodMetadata)
......
......@@ -10,7 +10,6 @@ require (
github.com/apparentlymart/go-shquot v0.0.1
github.com/bsm/gomega v1.27.10
github.com/cisco-open/k8s-objectmatcher v1.9.0
github.com/ettle/strcase v0.2.0
github.com/huandu/xstrings v1.4.0
github.com/mitchellh/hashstructure/v2 v2.0.2
github.com/onsi/ginkgo/v2 v2.19.0
......
......@@ -29,8 +29,6 @@ github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1 h1:ZClxb8laGDf5arX
github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI=
github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
......
......@@ -72,7 +72,6 @@ func getEnv(key, fallback string) string {
type InternalImages struct {
DynamoComponentsDownloader string
Kaniko string
MetricsTransformer string
Buildkit string
BuildkitRootless string
}
......@@ -81,7 +80,6 @@ func GetInternalImages() (conf *InternalImages) {
conf = &InternalImages{}
conf.DynamoComponentsDownloader = getEnv(consts.EnvInternalImagesDynamoComponentsDownloader, consts.InternalImagesDynamoComponentsDownloaderDefault)
conf.Kaniko = getEnv(consts.EnvInternalImagesKaniko, consts.InternalImagesKanikoDefault)
conf.MetricsTransformer = getEnv(consts.EnvInternalImagesMetricsTransformer, consts.InternalImagesMetricsTransformerDefault)
conf.Buildkit = getEnv(consts.EnvInternalImagesBuildkit, consts.InternalImagesBuildkitDefault)
conf.BuildkitRootless = getEnv(consts.EnvInternalImagesBuildkitRootless, consts.InternalImagesBuildkitRootlessDefault)
return
......
......@@ -14,9 +14,8 @@ const (
DynamoApiServerComponentName = "api-server"
InternalImagesDynamoComponentsDownloaderDefault = "quay.io/bentoml/bento-downloader:0.0.3"
InternalImagesDynamoComponentsDownloaderDefault = "rapidfort/curl:latest"
InternalImagesKanikoDefault = "gcr.io/kaniko-project/executor:debug"
InternalImagesMetricsTransformerDefault = "quay.io/bentoml/yatai-bento-metrics-transformer:0.0.3"
InternalImagesBuildkitDefault = "moby/buildkit:v0.20.2"
InternalImagesBuildkitRootlessDefault = "moby/buildkit:v0.20.2-rootless"
......@@ -37,7 +36,6 @@ const (
EnvInternalImagesDynamoComponentsDownloader = "INTERNAL_IMAGES_DYNAMO_COMPONENTS_DOWNLOADER"
EnvInternalImagesKaniko = "INTERNAL_IMAGES_KANIKO"
EnvInternalImagesMetricsTransformer = "INTERNAL_IMAGES_METRICS_TRANSFORMER"
EnvInternalImagesBuildkit = "INTERNAL_IMAGES_BUILDKIT"
EnvInternalImagesBuildkitRootless = "INTERNAL_IMAGES_BUILDKIT_ROOTLESS"
......
......@@ -39,7 +39,6 @@ import (
dynamoCommon "github.com/ai-dynamo/dynamo/deploy/dynamo/operator/api/dynamo/common"
"github.com/ai-dynamo/dynamo/deploy/dynamo/operator/api/dynamo/schemas"
"github.com/ai-dynamo/dynamo/deploy/dynamo/operator/api/v1alpha1"
commonconfig "github.com/ai-dynamo/dynamo/deploy/dynamo/operator/internal/config"
commonconsts "github.com/ai-dynamo/dynamo/deploy/dynamo/operator/internal/consts"
"github.com/ai-dynamo/dynamo/deploy/dynamo/operator/internal/controller_common"
commonController "github.com/ai-dynamo/dynamo/deploy/dynamo/operator/internal/controller_common"
......@@ -1127,7 +1126,6 @@ func getDynamoComponentRepositoryNameAndDynamoComponentVersion(dynamoComponent *
//nolint:gocyclo,nakedret
func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx context.Context, opt generateResourceOption) (podTemplateSpec *corev1.PodTemplateSpec, err error) {
dynamoComponentRepositoryName, _ := getDynamoComponentRepositoryNameAndDynamoComponentVersion(opt.dynamoComponent)
podLabels := r.getKubeLabels(opt.dynamoComponentDeployment, opt.dynamoComponent)
if opt.isStealingTrafficDebugModeEnabled {
podLabels[commonconsts.KubeLabelDynamoDeploymentTargetType] = DeploymentTargetTypeDebug
......@@ -1391,76 +1389,7 @@ func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx contex
containers = append(containers, container)
lastPort++
metricsPort := lastPort
containers = append(containers, corev1.Container{
Name: "metrics-transformer",
Image: commonconfig.GetInternalImages().MetricsTransformer,
Resources: corev1.ResourceRequirements{
Requests: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse("10m"),
corev1.ResourceMemory: resource.MustParse("10Mi"),
},
Limits: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse("100m"),
corev1.ResourceMemory: resource.MustParse("100Mi"),
},
},
ReadinessProbe: &corev1.Probe{
InitialDelaySeconds: 5,
TimeoutSeconds: 5,
FailureThreshold: 10,
ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{
Path: "/healthz",
Port: intstr.FromString("metrics"),
},
},
},
LivenessProbe: &corev1.Probe{
InitialDelaySeconds: 5,
TimeoutSeconds: 5,
FailureThreshold: 10,
ProbeHandler: corev1.ProbeHandler{
HTTPGet: &corev1.HTTPGetAction{
Path: "/healthz",
Port: intstr.FromString("metrics"),
},
},
},
Env: []corev1.EnvVar{
{
Name: "BENTOML_SERVER_HOST",
Value: "localhost",
},
{
Name: "BENTOML_SERVER_PORT",
Value: fmt.Sprintf("%d", containerPort),
},
{
Name: "PORT",
Value: fmt.Sprintf("%d", metricsPort),
},
{
Name: "OLD_METRICS_PREFIX",
Value: fmt.Sprintf("BENTOML_%s_", strings.ReplaceAll(dynamoComponentRepositoryName, "-", ":")),
},
{
Name: "NEW_METRICS_PREFIX",
Value: "BENTOML_",
},
},
Ports: []corev1.ContainerPort{
{
Protocol: corev1.ProtocolTCP,
Name: "metrics",
ContainerPort: int32(metricsPort),
},
},
SecurityContext: securityContext,
})
lastPort++
proxyPort := lastPort
proxyResourcesRequestsCPUStr := resourceAnnotations[KubeAnnotationProxySidecarResourcesRequestsCPU]
......@@ -1564,7 +1493,7 @@ func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx contex
},
},
})
proxyImage := "quay.io/bentoml/bentoml-proxy:0.0.1"
proxyImage := "envoyproxy/envoy:v1.33-latest"
proxyImage_ := os.Getenv("INTERNAL_IMAGES_PROXY")
if proxyImage_ != "" {
proxyImage = proxyImage_
......@@ -1589,18 +1518,18 @@ func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx contex
ContainerPort: int32(proxyPort),
Protocol: corev1.ProtocolTCP,
},
{
ContainerPort: int32(9901),
},
},
ReadinessProbe: &corev1.Probe{
InitialDelaySeconds: 5,
TimeoutSeconds: 5,
FailureThreshold: 10,
ProbeHandler: corev1.ProbeHandler{
Exec: &corev1.ExecAction{
Command: []string{
"sh",
"-c",
"curl -s localhost:9901/server_info | grep state | grep -q LIVE",
},
HTTPGet: &corev1.HTTPGetAction{
Path: "/ready",
Port: intstr.FromInt(9901),
},
},
},
......@@ -1609,12 +1538,9 @@ func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx contex
TimeoutSeconds: 5,
FailureThreshold: 10,
ProbeHandler: corev1.ProbeHandler{
Exec: &corev1.ExecAction{
Command: []string{
"sh",
"-c",
"curl -s localhost:9901/server_info | grep state | grep -q LIVE",
},
HTTPGet: &corev1.HTTPGetAction{
Path: "/server_info",
Port: intstr.FromInt(9901),
},
},
},
......@@ -1631,7 +1557,7 @@ func (r *DynamoComponentDeploymentReconciler) generatePodTemplateSpec(ctx contex
SecurityContext: securityContext,
})
debuggerImage := "quay.io/bentoml/bento-debugger:0.0.8"
debuggerImage := "python:3.12-slim"
debuggerImage_ := os.Getenv("INTERNAL_IMAGES_DEBUGGER")
if debuggerImage_ != "" {
debuggerImage = debuggerImage_
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment