kubeadm: use registry.k8s.io instead of k8s.gcr.io

Update constants, API types, and unit tests to use the new
registry location.

Update dependencies.yaml as well.
This commit is contained in:
Lubomir I. Ivanov 2022-06-02 14:09:30 +03:00
parent c6c73eb853
commit a98d0db2af
16 changed files with 62 additions and 56 deletions

View file

@ -157,7 +157,7 @@ dependencies:
- path: build/pause/Makefile
match: TAG\s*\?=
- name: "k8s.gcr.io/pause: dependents"
- name: "registry.k8s.io/pause: dependents"
version: 3.6
refPaths:
- path: cmd/kubeadm/app/constants/constants.go
@ -168,6 +168,10 @@ dependencies:
match: validTmplOut\s+=
- path: cmd/kubeadm/app/util/template_test.go
match: doNothing\s+=
- name: "k8s.gcr.io/pause: dependents"
version: 3.6
refPaths:
- path: cmd/kubelet/app/options/container_runtime.go
match: defaultPodSandboxImageVersion\s+=
- path: hack/testdata/pod-with-precision.json

View file

@ -122,8 +122,8 @@ type ClusterConfiguration struct {
CertificatesDir string
// ImageRepository sets the container registry to pull images from.
// If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io`
// If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io`
// will be used for all the other images.
ImageRepository string

View file

@ -40,7 +40,8 @@ const (
// DefaultCertificatesDir defines default certificate directory
DefaultCertificatesDir = "/etc/kubernetes/pki"
// DefaultImageRepository defines default image registry
DefaultImageRepository = "k8s.gcr.io"
// (previously this defaulted to k8s.gcr.io)
DefaultImageRepository = "registry.k8s.io"
// DefaultManifestsDir defines default manifests directory
DefaultManifestsDir = "/etc/kubernetes/manifests"
// DefaultClusterName defines the default cluster name

View file

@ -186,7 +186,7 @@ limitations under the License.
// etcd:
// # one of local or external
// local:
// imageRepository: "k8s.gcr.io"
// imageRepository: "registry.k8s.io"
// imageTag: "3.2.24"
// dataDir: "/var/lib/etcd"
// extraArgs:
@ -240,7 +240,7 @@ limitations under the License.
// readOnly: false
// pathType: File
// certificatesDir: "/etc/kubernetes/pki"
// imageRepository: "k8s.gcr.io"
// imageRepository: "registry.k8s.io"
// useHyperKubeImage: false
// clusterName: "example-cluster"
// ---

View file

@ -96,8 +96,8 @@ type ClusterConfiguration struct {
CertificatesDir string `json:"certificatesDir,omitempty"`
// ImageRepository sets the container registry to pull images from.
// If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io`
// If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io`
// will be used for all the other images.
ImageRepository string `json:"imageRepository,omitempty"`

View file

@ -42,7 +42,8 @@ const (
// DefaultCertificatesDir defines default certificate directory
DefaultCertificatesDir = "/etc/kubernetes/pki"
// DefaultImageRepository defines default image registry
DefaultImageRepository = "k8s.gcr.io"
// (previously this defaulted to k8s.gcr.io)
DefaultImageRepository = "registry.k8s.io"
// DefaultManifestsDir defines default manifests directory
DefaultManifestsDir = "/etc/kubernetes/manifests"
// DefaultClusterName defines the default cluster name

View file

@ -195,7 +195,7 @@ limitations under the License.
// etcd:
// # one of local or external
// local:
// imageRepository: "k8s.gcr.io"
// imageRepository: "registry.k8s.io"
// imageTag: "3.2.24"
// dataDir: "/var/lib/etcd"
// extraArgs:
@ -249,7 +249,7 @@ limitations under the License.
// readOnly: false
// pathType: File
// certificatesDir: "/etc/kubernetes/pki"
// imageRepository: "k8s.gcr.io"
// imageRepository: "registry.k8s.io"
// clusterName: "example-cluster"
// ---
// apiVersion: kubelet.config.k8s.io/v1beta1

View file

@ -122,8 +122,8 @@ type ClusterConfiguration struct {
CertificatesDir string `json:"certificatesDir,omitempty"`
// ImageRepository sets the container registry to pull images from.
// If empty, `k8s.gcr.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `k8s.gcr.io`
// If empty, `registry.k8s.io` will be used by default; in case of kubernetes version is a CI build (kubernetes version starts with `ci/`)
// `gcr.io/k8s-staging-ci-images` will be used as a default for control plane components and for kube-proxy, while `registry.k8s.io`
// will be used for all the other images.
// +optional
ImageRepository string `json:"imageRepository,omitempty"`

View file

@ -236,13 +236,13 @@ func TestConfigImagesListOutput(t *testing.T) {
KubernetesVersion: dummyKubernetesVersionStr,
},
outputFormat: "text",
expectedOutput: `k8s.gcr.io/kube-apiserver:{{.KubeVersion}}
k8s.gcr.io/kube-controller-manager:{{.KubeVersion}}
k8s.gcr.io/kube-scheduler:{{.KubeVersion}}
k8s.gcr.io/kube-proxy:{{.KubeVersion}}
k8s.gcr.io/pause:{{.PauseVersion}}
k8s.gcr.io/etcd:{{.EtcdVersion}}
k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
expectedOutput: `registry.k8s.io/kube-apiserver:{{.KubeVersion}}
registry.k8s.io/kube-controller-manager:{{.KubeVersion}}
registry.k8s.io/kube-scheduler:{{.KubeVersion}}
registry.k8s.io/kube-proxy:{{.KubeVersion}}
registry.k8s.io/pause:{{.PauseVersion}}
registry.k8s.io/etcd:{{.EtcdVersion}}
registry.k8s.io/coredns/coredns:{{.CoreDNSVersion}}
`,
},
{
@ -255,13 +255,13 @@ k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
"kind": "Images",
"apiVersion": "output.kubeadm.k8s.io/v1alpha2",
"images": [
"k8s.gcr.io/kube-apiserver:{{.KubeVersion}}",
"k8s.gcr.io/kube-controller-manager:{{.KubeVersion}}",
"k8s.gcr.io/kube-scheduler:{{.KubeVersion}}",
"k8s.gcr.io/kube-proxy:{{.KubeVersion}}",
"k8s.gcr.io/pause:{{.PauseVersion}}",
"k8s.gcr.io/etcd:{{.EtcdVersion}}",
"k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}"
"registry.k8s.io/kube-apiserver:{{.KubeVersion}}",
"registry.k8s.io/kube-controller-manager:{{.KubeVersion}}",
"registry.k8s.io/kube-scheduler:{{.KubeVersion}}",
"registry.k8s.io/kube-proxy:{{.KubeVersion}}",
"registry.k8s.io/pause:{{.PauseVersion}}",
"registry.k8s.io/etcd:{{.EtcdVersion}}",
"registry.k8s.io/coredns/coredns:{{.CoreDNSVersion}}"
]
}
`,
@ -274,13 +274,13 @@ k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
outputFormat: "yaml",
expectedOutput: `apiVersion: output.kubeadm.k8s.io/v1alpha2
images:
- k8s.gcr.io/kube-apiserver:{{.KubeVersion}}
- k8s.gcr.io/kube-controller-manager:{{.KubeVersion}}
- k8s.gcr.io/kube-scheduler:{{.KubeVersion}}
- k8s.gcr.io/kube-proxy:{{.KubeVersion}}
- k8s.gcr.io/pause:{{.PauseVersion}}
- k8s.gcr.io/etcd:{{.EtcdVersion}}
- k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
- registry.k8s.io/kube-apiserver:{{.KubeVersion}}
- registry.k8s.io/kube-controller-manager:{{.KubeVersion}}
- registry.k8s.io/kube-scheduler:{{.KubeVersion}}
- registry.k8s.io/kube-proxy:{{.KubeVersion}}
- registry.k8s.io/pause:{{.PauseVersion}}
- registry.k8s.io/etcd:{{.EtcdVersion}}
- registry.k8s.io/coredns/coredns:{{.CoreDNSVersion}}
kind: Images
`,
},
@ -290,13 +290,13 @@ kind: Images
KubernetesVersion: dummyKubernetesVersionStr,
},
outputFormat: `go-template={{range .images}}{{.}}{{"\n"}}{{end}}`,
expectedOutput: `k8s.gcr.io/kube-apiserver:{{.KubeVersion}}
k8s.gcr.io/kube-controller-manager:{{.KubeVersion}}
k8s.gcr.io/kube-scheduler:{{.KubeVersion}}
k8s.gcr.io/kube-proxy:{{.KubeVersion}}
k8s.gcr.io/pause:{{.PauseVersion}}
k8s.gcr.io/etcd:{{.EtcdVersion}}
k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
expectedOutput: `registry.k8s.io/kube-apiserver:{{.KubeVersion}}
registry.k8s.io/kube-controller-manager:{{.KubeVersion}}
registry.k8s.io/kube-scheduler:{{.KubeVersion}}
registry.k8s.io/kube-proxy:{{.KubeVersion}}
registry.k8s.io/pause:{{.PauseVersion}}
registry.k8s.io/etcd:{{.EtcdVersion}}
registry.k8s.io/coredns/coredns:{{.CoreDNSVersion}}
`,
},
{
@ -305,8 +305,8 @@ k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}}
KubernetesVersion: dummyKubernetesVersionStr,
},
outputFormat: `jsonpath={range.images[*]}{@} {end}`,
expectedOutput: "k8s.gcr.io/kube-apiserver:{{.KubeVersion}} k8s.gcr.io/kube-controller-manager:{{.KubeVersion}} k8s.gcr.io/kube-scheduler:{{.KubeVersion}} " +
"k8s.gcr.io/kube-proxy:{{.KubeVersion}} k8s.gcr.io/pause:{{.PauseVersion}} k8s.gcr.io/etcd:{{.EtcdVersion}} k8s.gcr.io/coredns/coredns:{{.CoreDNSVersion}} ",
expectedOutput: "registry.k8s.io/kube-apiserver:{{.KubeVersion}} registry.k8s.io/kube-controller-manager:{{.KubeVersion}} registry.k8s.io/kube-scheduler:{{.KubeVersion}} " +
"registry.k8s.io/kube-proxy:{{.KubeVersion}} registry.k8s.io/pause:{{.PauseVersion}} registry.k8s.io/etcd:{{.EtcdVersion}} registry.k8s.io/coredns/coredns:{{.CoreDNSVersion}} ",
},
}

View file

@ -218,7 +218,7 @@ var (
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: k8s.gcr.io
imageRepository: registry.k8s.io
kind: ClusterConfiguration
kubernetesVersion: 1.2.3
networking:
@ -234,7 +234,7 @@ var (
ClusterName: "LeCluster",
KubernetesVersion: "1.2.3",
CertificatesDir: "/etc/kubernetes/pki",
ImageRepository: "k8s.gcr.io",
ImageRepository: "registry.k8s.io",
Networking: kubeadmapiv1.Networking{
DNSDomain: "cluster.local",
ServiceSubnet: "10.96.0.0/12",

View file

@ -48,7 +48,7 @@ func GetDNSImage(cfg *kubeadmapi.ClusterConfiguration) string {
if cfg.DNS.ImageRepository != "" {
dnsImageRepository = cfg.DNS.ImageRepository
}
// Handle the renaming of the official image from "k8s.gcr.io/coredns" to "k8s.gcr.io/coredns/coredns
// Handle the renaming of the official image from "registry.k8s.io/coredns" to "registry.k8s.io/coredns/coredns
if dnsImageRepository == kubeadmapiv1beta2.DefaultImageRepository {
dnsImageRepository = fmt.Sprintf("%s/coredns", dnsImageRepository)
}

View file

@ -29,7 +29,7 @@ import (
const (
testversion = "v10.1.2-alpha.1.100+0123456789abcdef+SOMETHING"
expected = "v10.1.2-alpha.1.100_0123456789abcdef_SOMETHING"
gcrPrefix = "k8s.gcr.io"
gcrPrefix = "registry.k8s.io"
)
func TestGetGenericImage(t *testing.T) {

View file

@ -120,11 +120,11 @@ func TestBuildKubeletArgMap(t *testing.T) {
nodeRegOpts: &kubeadmapi.NodeRegistrationOptions{
CRISocket: "/var/run/dockershim.sock",
},
pauseImage: "k8s.gcr.io/pause:3.6",
pauseImage: "registry.k8s.io/pause:3.6",
},
expected: map[string]string{
"network-plugin": "cni",
"pod-infra-container-image": "k8s.gcr.io/pause:3.6",
"pod-infra-container-image": "registry.k8s.io/pause:3.6",
},
},
}

View file

@ -83,7 +83,7 @@ metadata:
spec:
containers:
- name: etcd
image: k8s.gcr.io/etcd:` + fakeCurrentEtcdVersion
image: registry.k8s.io/etcd:` + fakeCurrentEtcdVersion
func getEtcdVersion(v *versionutil.Version) string {
etcdVer, _, _ := constants.EtcdSupportedVersion(constants.SupportedEtcdVersion, v.String())

View file

@ -81,7 +81,7 @@ etcd:
local:
dataDir: %%s
image: ""
imageRepository: k8s.gcr.io
imageRepository: registry.k8s.io
kubernetesVersion: %%s
networking:
dnsDomain: cluster.local
@ -998,7 +998,7 @@ metadata:
spec:
containers:
- name: etcd
image: k8s.gcr.io/etcd:` + expectedEtcdVersion
image: registry.k8s.io/etcd:` + expectedEtcdVersion
manifestsDir, err := ioutil.TempDir("", "GetEtcdImageTagFromStaticPod-test-manifests")
if err != nil {

View file

@ -22,8 +22,8 @@ import (
const (
validTmpl = "image: {{ .ImageRepository }}/pause:3.6"
validTmplOut = "image: k8s.gcr.io/pause:3.6"
doNothing = "image: k8s.gcr.io/pause:3.6"
validTmplOut = "image: registry.k8s.io/pause:3.6"
doNothing = "image: registry.k8s.io/pause:3.6"
invalidTmpl1 = "{{ .baz }/d}"
invalidTmpl2 = "{{ !foobar }}"
)
@ -40,7 +40,7 @@ func TestParseTemplate(t *testing.T) {
name: "should parse a valid template and set the right values",
template: validTmpl,
data: struct{ ImageRepository, Arch string }{
ImageRepository: "k8s.gcr.io",
ImageRepository: "registry.k8s.io",
Arch: "amd64",
},
output: validTmplOut,
@ -50,7 +50,7 @@ func TestParseTemplate(t *testing.T) {
name: "should noop if there aren't any {{ .foo }} present",
template: doNothing,
data: struct{ ImageRepository, Arch string }{
ImageRepository: "k8s.gcr.io",
ImageRepository: "registry.k8s.io",
Arch: "amd64",
},
output: doNothing,