mirror of https://github.com/kubernetes/kops.git
Update CNI plugins to v1.2.0 for K8s 1.27+
This commit is contained in:
parent
35cc07324d
commit
cd59ed1a56
|
@ -589,32 +589,18 @@ func (c *NodeupModelContext) NodeName() (string, error) {
|
|||
return strings.ToLower(strings.TrimSpace(nodeName)), nil
|
||||
}
|
||||
|
||||
func (b *NodeupModelContext) AddCNIBinAssets(c *fi.NodeupModelBuilderContext, assetNames []string) error {
|
||||
for _, assetName := range assetNames {
|
||||
re, err := regexp.Compile(fmt.Sprintf("^%s$", regexp.QuoteMeta(assetName)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := b.addCNIBinAsset(c, re); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (b *NodeupModelContext) AddCNIBinAssets(c *fi.NodeupModelBuilderContext) error {
|
||||
f := b.Assets.FindMatches(regexp.MustCompile(".*"))
|
||||
|
||||
func (b *NodeupModelContext) addCNIBinAsset(c *fi.NodeupModelBuilderContext, assetPath *regexp.Regexp) error {
|
||||
name, res, err := b.Assets.FindMatch(assetPath)
|
||||
if err != nil {
|
||||
return err
|
||||
for name, res := range f {
|
||||
c.AddTask(&nodetasks.File{
|
||||
Path: filepath.Join(b.CNIBinDir(), name),
|
||||
Contents: res,
|
||||
Type: nodetasks.FileType_File,
|
||||
Mode: fi.PtrTo("0755"),
|
||||
})
|
||||
}
|
||||
|
||||
c.AddTask(&nodetasks.File{
|
||||
Path: filepath.Join(b.CNIBinDir(), name),
|
||||
Contents: res,
|
||||
Type: nodetasks.FileType_File,
|
||||
Mode: fi.PtrTo("0755"),
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -30,27 +30,7 @@ var _ fi.NodeupModelBuilder = &CommonBuilder{}
|
|||
|
||||
// Build is responsible for copying the common CNI binaries
|
||||
func (b *CommonBuilder) Build(c *fi.NodeupModelBuilderContext) error {
|
||||
// Based on https://github.com/containernetworking/plugins/releases/tag/v0.7.5
|
||||
assets := []string{
|
||||
"bridge",
|
||||
"dhcp",
|
||||
"flannel",
|
||||
"host-device",
|
||||
"host-local",
|
||||
"ipvlan",
|
||||
"loopback",
|
||||
"macvlan",
|
||||
"portmap",
|
||||
"ptp",
|
||||
"tuning",
|
||||
"vlan",
|
||||
"bandwidth",
|
||||
"firewall",
|
||||
"sbr",
|
||||
"static",
|
||||
}
|
||||
|
||||
if err := b.AddCNIBinAssets(c, assets); err != nil {
|
||||
if err := b.AddCNIBinAssets(c); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
|
@ -34,10 +34,14 @@ import (
|
|||
// https://github.com/kubernetes/kubernetes/issues/30338
|
||||
|
||||
const (
|
||||
// defaultCNIAssetAmd64K8s_22 is the CNI tarball for k8s >= 1.22
|
||||
// CNI tarball for k8s >= 1.22
|
||||
defaultCNIAssetAmd64K8s_22 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.9.1/cni-plugins-linux-amd64-v0.9.1.tgz"
|
||||
defaultCNIAssetArm64K8s_22 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v0.9.1/cni-plugins-linux-arm64-v0.9.1.tgz"
|
||||
|
||||
// CNI tarball for k8s >= 1.27
|
||||
defaultCNIAssetAmd64K8s_27 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v1.2.0/cni-plugins-linux-amd64-v1.2.0.tgz"
|
||||
defaultCNIAssetArm64K8s_27 = "https://storage.googleapis.com/k8s-artifacts-cni/release/v1.2.0/cni-plugins-linux-arm64-v1.2.0.tgz"
|
||||
|
||||
// Environment variable for overriding CNI url
|
||||
ENV_VAR_CNI_ASSET_URL = "CNI_VERSION_URL"
|
||||
ENV_VAR_CNI_ASSET_HASH = "CNI_ASSET_HASH_STRING"
|
||||
|
@ -72,10 +76,18 @@ func findCNIAssets(c *kopsapi.Cluster, assetBuilder *assets.AssetBuilder, arch a
|
|||
|
||||
switch arch {
|
||||
case architectures.ArchitectureAmd64:
|
||||
cniAssetURL = defaultCNIAssetAmd64K8s_22
|
||||
if c.IsKubernetesLT("1.27") {
|
||||
cniAssetURL = defaultCNIAssetAmd64K8s_22
|
||||
} else {
|
||||
cniAssetURL = defaultCNIAssetAmd64K8s_27
|
||||
}
|
||||
klog.V(2).Infof("Adding default ARM64 CNI plugin binaries asset: %s", cniAssetURL)
|
||||
case architectures.ArchitectureArm64:
|
||||
cniAssetURL = defaultCNIAssetArm64K8s_22
|
||||
if c.IsKubernetesLT("1.27") {
|
||||
cniAssetURL = defaultCNIAssetArm64K8s_22
|
||||
} else {
|
||||
cniAssetURL = defaultCNIAssetArm64K8s_27
|
||||
}
|
||||
klog.V(2).Infof("Adding default AMD64 CNI plugin binaries asset: %s", cniAssetURL)
|
||||
default:
|
||||
return nil, nil, fmt.Errorf("unknown arch for CNI plugin binaries asset: %s", arch)
|
||||
|
|
Loading…
Reference in New Issue