mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 20:24:09 +00:00
Merge pull request #86636 from zhouya0/fix_kubectl_create_deployment_image_name
fix kubectl create deployment image name
This commit is contained in:
commit
c7d7cf72e0
@ -40,6 +40,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/util/rand:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/discovery:go_default_library",
|
"//staging/src/k8s.io/client-go/discovery:go_default_library",
|
||||||
|
@ -26,6 +26,7 @@ import (
|
|||||||
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
extensionsv1beta1 "k8s.io/api/extensions/v1beta1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
|
utilrand "k8s.io/apimachinery/pkg/util/rand"
|
||||||
"k8s.io/kubectl/pkg/generate"
|
"k8s.io/kubectl/pkg/generate"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,11 +85,23 @@ func buildPodSpec(images []string) v1.PodSpec {
|
|||||||
if strings.Contains(name, "@") {
|
if strings.Contains(name, "@") {
|
||||||
name = strings.Split(name, "@")[0]
|
name = strings.Split(name, "@")[0]
|
||||||
}
|
}
|
||||||
|
name = sanitizeAndUniquify(name)
|
||||||
podSpec.Containers = append(podSpec.Containers, v1.Container{Name: name, Image: imageString})
|
podSpec.Containers = append(podSpec.Containers, v1.Container{Name: name, Image: imageString})
|
||||||
}
|
}
|
||||||
return podSpec
|
return podSpec
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sanitizeAndUniquify: replaces characters like "." or "_" into "-" to follow DNS1123 rules.
|
||||||
|
// Then add random suffix to make it uniquified.
|
||||||
|
func sanitizeAndUniquify(name string) string {
|
||||||
|
if strings.Contains(name, "_") || strings.Contains(name, ".") {
|
||||||
|
name = strings.Replace(name, "_", "-", -1)
|
||||||
|
name = strings.Replace(name, ".", "-", -1)
|
||||||
|
name = fmt.Sprintf("%s-%s", name, utilrand.String(5))
|
||||||
|
}
|
||||||
|
return name
|
||||||
|
}
|
||||||
|
|
||||||
// DeploymentBasicGeneratorV1 supports stable generation of a deployment
|
// DeploymentBasicGeneratorV1 supports stable generation of a deployment
|
||||||
type DeploymentBasicGeneratorV1 struct {
|
type DeploymentBasicGeneratorV1 struct {
|
||||||
BaseDeploymentGenerator
|
BaseDeploymentGenerator
|
||||||
|
Loading…
Reference in New Issue
Block a user