Merge pull request #15016 from johngmyers/nodeup-network2

Move more networking settings into nodeup.Config
This commit is contained in:
Kubernetes Prow Robot 2023-01-18 02:04:35 -08:00 committed by GitHub
commit e88fbf5d7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
81 changed files with 146 additions and 84 deletions

View File

@ -29,7 +29,6 @@ import (
"k8s.io/kops/nodeup/pkg/model/resources"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/flagbuilder"
"k8s.io/kops/pkg/model/components"
"k8s.io/kops/pkg/systemd"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
@ -70,7 +69,7 @@ func (b *ContainerdBuilder) Build(c *fi.NodeupModelBuilderContext) error {
// Using containerd with Kubenet requires special configuration.
// This is a temporary backwards-compatible solution for kubenet users and will be deprecated when Kubenet is deprecated:
// https://github.com/containerd/containerd/blob/master/docs/cri/config.md#cni-config-template
if components.UsesKubenet(&b.Cluster.Spec.Networking) {
if b.NodeupConfig.UsesKubenet {
b.buildCNIConfigTemplateFile(c)
if err := b.buildIPMasqueradeRules(c); err != nil {
return err
@ -498,7 +497,7 @@ func (b *ContainerdBuilder) buildContainerdConfig() (string, error) {
config.SetPath([]string{"plugins", "io.containerd.grpc.v1.cri", "containerd", "runtimes", "runc", "runtime_type"}, "io.containerd.runc.v2")
// only enable systemd cgroups for kubernetes >= 1.20
config.SetPath([]string{"plugins", "io.containerd.grpc.v1.cri", "containerd", "runtimes", "runc", "options", "SystemdCgroup"}, true)
if components.UsesKubenet(&b.Cluster.Spec.Networking) {
if b.NodeupConfig.UsesKubenet {
// Using containerd with Kubenet requires special configuration.
// This is a temporary backwards-compatible solution for kubenet users and will be deprecated when Kubenet is deprecated:
// https://github.com/containerd/containerd/blob/master/docs/cri/config.md#cni-config-template

View File

@ -402,9 +402,9 @@ func (c *NodeupModelContext) UseKopsControllerForNodeBootstrap() bool {
// UsesSecondaryIP checks if the CNI in use attaches secondary interfaces to the host.
func (c *NodeupModelContext) UsesSecondaryIP() bool {
return (c.Cluster.Spec.Networking.CNI != nil && c.Cluster.Spec.Networking.CNI.UsesSecondaryIP) ||
c.Cluster.Spec.Networking.AmazonVPC != nil ||
(c.Cluster.Spec.Networking.Cilium != nil && c.Cluster.Spec.Networking.Cilium.IPAM == kops.CiliumIpamEni) ||
return (c.NodeupConfig.Networking.CNI != nil && c.NodeupConfig.Networking.CNI.UsesSecondaryIP) ||
c.NodeupConfig.Networking.AmazonVPC != nil ||
(c.NodeupConfig.Networking.Cilium != nil && c.NodeupConfig.Networking.Cilium.IPAM == kops.CiliumIpamEni) ||
c.BootConfig.CloudProvider == kops.CloudProviderHetzner
}

View File

@ -19,7 +19,6 @@ package model
import (
"path/filepath"
"k8s.io/kops/pkg/apis/kops/model"
"k8s.io/kops/pkg/wellknownusers"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
@ -84,7 +83,7 @@ func (b *KopsControllerBuilder) Build(c *fi.NodeupModelBuilderContext) error {
})
caList := []string{fi.CertificateIDCA}
if model.UseCiliumEtcd(b.Cluster) {
if b.NodeupConfig.UseCiliumEtcd {
caList = append(caList, "etcd-clients-ca-cilium")
}
for _, cert := range caList {

View File

@ -33,7 +33,6 @@ import (
"k8s.io/klog/v2"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/flagbuilder"
"k8s.io/kops/pkg/model/components"
"k8s.io/kops/pkg/rbac"
"k8s.io/kops/pkg/systemd"
"k8s.io/kops/upup/pkg/fi"
@ -147,7 +146,7 @@ func (b *KubeletBuilder) Build(c *fi.NodeupModelBuilderContext) error {
}
}
if components.UsesCNI(&b.Cluster.Spec.Networking) {
if !b.NodeupConfig.UsesKubenet {
c.AddTask(&nodetasks.File{
Path: b.CNIConfDir(),
Type: nodetasks.FileType_Directory,
@ -524,7 +523,7 @@ func (b *KubeletBuilder) buildKubeletConfigSpec() (*kops.KubeletConfigSpec, erro
c.BootstrapKubeconfig = ""
}
if b.Cluster.Spec.Networking.AmazonVPC != nil {
if b.NodeupConfig.Networking.AmazonVPC != nil {
sess := session.Must(session.NewSession())
metadata := ec2metadata.New(sess)

View File

@ -19,7 +19,6 @@ package model
import (
"strings"
"k8s.io/kops/pkg/apis/kops/model"
"k8s.io/kops/pkg/systemd"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
@ -56,7 +55,7 @@ func (b *LogrotateBuilder) Build(c *fi.NodeupModelBuilderContext) error {
b.addLogRotate(c, "kubelet", "/var/log/kubelet.log", logRotateOptions{})
b.addLogRotate(c, "etcd", "/var/log/etcd.log", logRotateOptions{})
b.addLogRotate(c, "etcd-events", "/var/log/etcd-events.log", logRotateOptions{})
if model.UseCiliumEtcd(b.Cluster) {
if b.NodeupConfig.UseCiliumEtcd {
b.addLogRotate(c, "etcd-cilium", "/var/log/etcd-cilium.log", logRotateOptions{})
}

View File

@ -29,11 +29,9 @@ type CalicoBuilder struct {
var _ fi.NodeupModelBuilder = &CalicoBuilder{}
// Build is responsible for performing setup for CNIs that need etcd TLS support
// Build is responsible for performing setup for Calico.
func (b *CalicoBuilder) Build(c *fi.NodeupModelBuilderContext) error {
networking := b.Cluster.Spec.Networking
if networking.Calico == nil {
if b.NodeupConfig.Networking.Calico == nil {
return nil
}

View File

@ -25,7 +25,6 @@ import (
"golang.org/x/sys/unix"
"k8s.io/kops/nodeup/pkg/model"
apiModel "k8s.io/kops/pkg/apis/kops/model"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/nodeup/nodetasks"
)
@ -39,16 +38,14 @@ var _ fi.NodeupModelBuilder = &CiliumBuilder{}
// Build is responsible for configuring the network cni
func (b *CiliumBuilder) Build(c *fi.NodeupModelBuilderContext) error {
cilium := b.Cluster.Spec.Networking.Cilium
// As long as the Cilium Etcd cluster exists, we should do this
if apiModel.UseCiliumEtcd(b.Cluster) {
if b.NodeupConfig.UseCiliumEtcd {
if err := b.buildCiliumEtcdSecrets(c); err != nil {
return err
}
}
if cilium == nil {
if b.NodeupConfig.Networking.Cilium == nil {
return nil
}

View File

@ -32,9 +32,7 @@ var _ fi.NodeupModelBuilder = &KuberouterBuilder{}
// Build is responsible for configuring the kube-router
func (b *KuberouterBuilder) Build(c *fi.NodeupModelBuilderContext) error {
networking := b.Cluster.Spec.Networking
if networking.KubeRouter == nil {
if b.NodeupConfig.Networking.KubeRouter == nil {
return nil
}

View File

@ -135,7 +135,7 @@ func (b *SysctlBuilder) Build(c *fi.NodeupModelBuilderContext) error {
}
// Running Flannel on Amazon Linux 2 needs custom settings
if b.Cluster.Spec.Networking.Flannel != nil && b.Distribution == distributions.DistributionAmazonLinux2 && b.NodeupConfig.KubeProxy != nil {
if b.NodeupConfig.Networking.Flannel != nil && b.Distribution == distributions.DistributionAmazonLinux2 && b.NodeupConfig.KubeProxy != nil {
proxyMode := b.NodeupConfig.KubeProxy.ProxyMode
if proxyMode == "" || proxyMode == "iptables" {
sysctls = append(sysctls,
@ -176,7 +176,7 @@ func (b *SysctlBuilder) Build(c *fi.NodeupModelBuilderContext) error {
"")
}
if b.Cluster.Spec.Networking.Cilium != nil {
if b.NodeupConfig.Networking.Cilium != nil {
sysctls = append(sysctls,
"# Depending on systemd version, cloud and distro, rp_filters may be enabled.",
"# Cilium requires this to be disabled. See https://github.com/cilium/cilium/issues/10645",

View File

@ -80,6 +80,27 @@ type NetworkingSpec struct {
GCE *GCENetworkingSpec `json:"gce,omitempty"`
}
// UsesKubenet returns true if our networking is derived from kubenet
func (n *NetworkingSpec) UsesKubenet() bool {
if n == nil {
panic("no networking mode set")
}
if n.Kubenet != nil {
return true
} else if n.GCE != nil {
// GCE IP Alias networking is based on kubenet
return true
} else if n.External != nil {
// external is based on kubenet
return true
} else if n.Kopeio != nil {
// Kopeio is based on kubenet / external
return true
}
return false
}
// ClassicNetworkingSpec is the specification of classic networking mode, integrated into kubernetes.
// Support been removed since Kubernetes 1.4.
type ClassicNetworkingSpec struct{}

View File

@ -21,6 +21,7 @@ import (
"github.com/aws/aws-sdk-go/aws"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/pkg/apis/kops/model"
"k8s.io/kops/util/pkg/architectures"
"k8s.io/kops/util/pkg/reflectutils"
)
@ -63,6 +64,10 @@ type Config struct {
KubeProxy *kops.KubeProxyConfig
// Networking configures networking.
Networking kops.NetworkingSpec
// UseCiliumEtcd is true when a Cilium etcd cluster is present.
UseCiliumEtcd bool `json:",omitempty"`
// UsesKubenet specifies that the CNI is derived from Kubenet.
UsesKubenet bool `json:",omitempty"`
// NTPUnmanaged is true when NTP is not managed by kOps.
NTPUnmanaged bool `json:",omitempty"`
// SysctlParameters will configure kernel parameters using sysctl(8). When
@ -184,6 +189,7 @@ func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Confi
NonMasqueradeCIDR: cluster.Spec.Networking.NonMasqueradeCIDR,
ServiceClusterIPRange: cluster.Spec.Networking.ServiceClusterIPRange,
},
UsesKubenet: cluster.Spec.Networking.UsesKubenet(),
SysctlParameters: instanceGroup.Spec.SysctlParameters,
VolumeMounts: instanceGroup.Spec.VolumeMounts,
FileAssets: append(filterFileAssets(instanceGroup.Spec.FileAssets, role), filterFileAssets(cluster.Spec.FileAssets, role)...),
@ -242,9 +248,36 @@ func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) (*Confi
}
if cluster.Spec.Networking.AmazonVPC != nil {
config.Networking.AmazonVPC = &kops.AmazonVPCNetworkingSpec{}
config.DefaultMachineType = aws.String(strings.Split(instanceGroup.Spec.MachineType, ",")[0])
}
if cluster.Spec.Networking.Calico != nil {
config.Networking.Calico = &kops.CalicoNetworkingSpec{}
}
if cluster.Spec.Networking.Cilium != nil {
config.Networking.Cilium = &kops.CiliumNetworkingSpec{}
if cluster.Spec.Networking.Cilium.IPAM == kops.CiliumIpamEni {
config.Networking.Cilium.IPAM = kops.CiliumIpamEni
}
if model.UseCiliumEtcd(cluster) {
config.UseCiliumEtcd = true
}
}
if cluster.Spec.Networking.CNI != nil && cluster.Spec.Networking.CNI.UsesSecondaryIP {
config.Networking.CNI = &kops.CNINetworkingSpec{UsesSecondaryIP: true}
}
if cluster.Spec.Networking.Flannel != nil {
config.Networking.Flannel = &kops.FlannelNetworkingSpec{}
}
if cluster.Spec.Networking.KubeRouter != nil {
config.Networking.KubeRouter = &kops.KuberouterNetworkingSpec{}
}
if UsesInstanceIDForNodeName(cluster) {
config.UseInstanceIDForNodeName = true
}

View File

@ -51,31 +51,10 @@ func (c *OptionsContext) IsKubernetesLT(version string) bool {
return !c.IsKubernetesGTE(version)
}
// UsesKubenet returns true if our networking is derived from kubenet
func UsesKubenet(networking *kops.NetworkingSpec) bool {
if networking == nil {
panic("no networking mode set")
}
if networking.Kubenet != nil {
return true
} else if networking.GCE != nil {
// GCE IP Alias networking is based on kubenet
return true
} else if networking.External != nil {
// external is based on kubenet
return true
} else if networking.Kopeio != nil {
// Kopeio is based on kubenet / external
return true
}
return false
}
// UsesCNI returns true if the networking provider is a CNI plugin
func UsesCNI(networking *kops.NetworkingSpec) bool {
// Kubenet and CNI are the only kubelet networking plugins right now.
return !UsesKubenet(networking)
return !networking.UsesKubenet()
}
func WellKnownServiceIP(networkingSpec *kops.NetworkingSpec, id int) (net.IP, error) {

View File

@ -168,7 +168,7 @@ func (b *KubeletOptionsBuilder) BuildOptions(o interface{}) error {
if clusterSpec.ContainerRuntime == "docker" || clusterSpec.ContainerRuntime == "" {
networking := &clusterSpec.Networking
if UsesKubenet(networking) && b.IsKubernetesLT("1.24") {
if networking.UsesKubenet() && b.IsKubernetesLT("1.24") {
clusterSpec.Kubelet.NetworkPluginName = fi.PtrTo("kubenet")
clusterSpec.Kubelet.NetworkPluginMTU = fi.PtrTo(int32(9001))
clusterSpec.Kubelet.NonMasqueradeCIDR = fi.PtrTo(networking.NonMasqueradeCIDR)

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: VAZUoreF6BJ1PeOhz1LCi0nQTG50VNR7IcG0Bttt88o=
NodeupConfigHash: OWXmuYR/ayMKA+vBNlEM/2wrYiI7sDX2+rFGYovpaO4=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: /Af6O4J/G2gxaz9+e2+5oDcG9bNHh7BlNkf4gc7CTIY=
NodeupConfigHash: ddY9/fMwhWHokpR5fHTzfsboBzeW/G9wxRlFvTCGLio=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -250,7 +250,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: gK0K4hodyGl3lmNhopt9uDtH39gbwSoUZVFumwRFJIo=
NodeupConfigHash: TA/PsfJ6sdZBRa3bP5o3blXzNocNTxvM6rB6K/JBNK0=
__EOF_KUBE_ENV

View File

@ -177,7 +177,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: LydBgwjH3ppGRlmv2uWSCPJcAq9rqG/xrdCBT2NBg/0=
NodeupConfigHash: PXpxBykilNJvekNmA2jwKD3/fUTtZDve/f5YJ/SPgP0=
__EOF_KUBE_ENV

View File

@ -280,6 +280,7 @@ KubeletConfig:
- node-role.kubernetes.io/master=:NoSchedule
KubernetesVersion: 1.23.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -50,6 +50,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.23.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: YbyFp8kLe7j+EUDGEx5sly2zi4Pls3YxlPgHivAwGJk=
NodeupConfigHash: ogv4+a/gXO0MXMsaxmfmmTfEPKVGKSaAmf3t0S3cd0o=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: EYR6yR9WHjmZe6MDb4XCLtGxgZRelx+9kk+wlC47K8E=
NodeupConfigHash: c8v/2ZuuK083FsETH5/tBkh2UuS62rs35ezeqEY3NQE=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.24.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.24.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: EHtJaWmZQ5ZhNCXELbeJ9Vn1pMMqmcB11udyNHdoiQk=
NodeupConfigHash: AFC2lWJPLIINTZRnSNQMFiExepOESxpHOgSO1I7e78I=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: t6fCt+evvJgP/R528vydyS8SE3mSBMslwDJKKWvl0iY=
NodeupConfigHash: OYeiR168/Cnd+usW7Mrd6FtNLSIBMYM67zEftV6MmAI=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.25.0-rc.1
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.25.0-rc.1
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: jTHIXpG6Ha+s87MxrS0hx8VLXo3Lc1IWRzYczJ8q9l8=
NodeupConfigHash: 4biEvxiA22MioitZx5yTT5QGfyw8GqiKDQeEk45kriQ=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: OScebhz+leZP0LjXCFTSypYJ066ObcCEwrpBO1mpPt4=
NodeupConfigHash: K4VG0aeco4Rh3nin+OZT/4MNO6ORO+dxQs9CgZ/Qq5s=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0-alpha.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.26.0-alpha.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: 6lQ5a1+ETyFDqjg7B6lHTMmD+6XIgNFH/EHyCJJ0s7A=
NodeupConfigHash: STWlb9B4rWqvNKFFDiqVEja0lJ/czL9l9tJjunCxda8=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: /Af6O4J/G2gxaz9+e2+5oDcG9bNHh7BlNkf4gc7CTIY=
NodeupConfigHash: ddY9/fMwhWHokpR5fHTzfsboBzeW/G9wxRlFvTCGLio=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -248,7 +248,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: 6lQ5a1+ETyFDqjg7B6lHTMmD+6XIgNFH/EHyCJJ0s7A=
NodeupConfigHash: STWlb9B4rWqvNKFFDiqVEja0lJ/czL9l9tJjunCxda8=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: /Af6O4J/G2gxaz9+e2+5oDcG9bNHh7BlNkf4gc7CTIY=
NodeupConfigHash: ddY9/fMwhWHokpR5fHTzfsboBzeW/G9wxRlFvTCGLio=
__EOF_KUBE_ENV

View File

@ -277,6 +277,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 0s
KubernetesVersion: 1.26.0
Networking:
amazonVPC: {}
nonMasqueradeCIDR: 172.20.0.0/16
serviceClusterIPRange: 172.20.0.0/19
UpdatePolicy: automatic

View File

@ -249,7 +249,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: X0pX0z8uxaKPRMuyQTRhHwN6PQEuyU0WC7cpslivk0U=
NodeupConfigHash: OWOzLIoJsq5fqj0qFOz1lKuZsYdehEZf1kILOZGZizM=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal-ipv6.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: Q8VgsDMEKqDvY/fOlkvJtWF2uaCLDTUuF9Y7VtCx3ns=
NodeupConfigHash: YoWkQfzp01Jg+wmO0nRVbLZd3pard8H44B5pI0pYfqk=
__EOF_KUBE_ENV

View File

@ -275,6 +275,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.25.0
Networking:
calico: {}
nonMasqueradeCIDR: ::/0
serviceClusterIPRange: fd00:5e4f:ce::/108
UpdatePolicy: automatic

View File

@ -47,6 +47,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.25.0
Networking:
calico: {}
nonMasqueradeCIDR: ::/0
serviceClusterIPRange: fd00:5e4f:ce::/108
UpdatePolicy: automatic

View File

@ -249,7 +249,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal-ipv6.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: X0pX0z8uxaKPRMuyQTRhHwN6PQEuyU0WC7cpslivk0U=
NodeupConfigHash: RQtYjIKZ2Z77J4rRqBaXmDAmNIHowynwLp0J3mIh08w=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal-ipv6.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: Q8VgsDMEKqDvY/fOlkvJtWF2uaCLDTUuF9Y7VtCx3ns=
NodeupConfigHash: HtV38lRq/4/4flGIqL2kpGVcnLSnhUS7j1094R7ozHE=
__EOF_KUBE_ENV

View File

@ -275,6 +275,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.25.0
Networking:
cilium: {}
nonMasqueradeCIDR: ::/0
serviceClusterIPRange: fd00:5e4f:ce::/108
UpdatePolicy: automatic

View File

@ -47,6 +47,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.25.0
Networking:
cilium: {}
nonMasqueradeCIDR: ::/0
serviceClusterIPRange: fd00:5e4f:ce::/108
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/minimal-warmpool.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: FRWWV4L4GWxtBbenWMdftMf5cLA6Q0GJqc0Ot3Kd13E=
NodeupConfigHash: 9s9+8/W/DNx8dRWAfiowwizdzzqlAgeP7Byip5rPxxI=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.minimal-warmpool.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: q62PU8BOS8rnHpl/cl0zUcUa+fUlhmkkADivn7xzjxs=
NodeupConfigHash: /2s+09fWRmmUJ8qAUJDheM+LK+EfUpHWH69PMxEA/zI=
__EOF_KUBE_ENV

View File

@ -276,6 +276,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -49,6 +49,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.26.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privatecalico.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: YAGj3eXBSWBvfx93gqS86lM0+VPaY9F5hr0WedHwHUk=
NodeupConfigHash: NlYwCQZu0JVPOwd5WCUEVboqBZ3DeEGPnXK88ARxeNw=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privatecalico.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: 59lRlh6ogHMsNzMuS175MEVpoXB3xr3/I9PjuJ2Sd6I=
NodeupConfigHash: iY79tptKFnLiUWogQ0+WmExWp/nQawIwZONHCedZUaM=
__EOF_KUBE_ENV

View File

@ -276,6 +276,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.25.0
Networking:
calico: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.25.0
Networking:
calico: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privatecilium.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: /jkZi2K5EGxLfvIP2Zs/dzvCWlUEB4mT+vbfqQDK7dA=
NodeupConfigHash: mXuUR37Q9t5ioom+9ixJVpNDnO8j63oudX8r7yORGMA=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privatecilium.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: InmgPTpS8rrk+Olxlq0Y+UxuMzIPGiujCchrPg64BeA=
NodeupConfigHash: E4tTNDToJVJlqHeoSlQna6sDWFrcQQkbh1W0aq6cf2Q=
__EOF_KUBE_ENV

View File

@ -276,6 +276,8 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
cilium:
ipam: eni
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -48,6 +48,8 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.26.0
Networking:
cilium:
ipam: eni
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privatecilium.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: /jkZi2K5EGxLfvIP2Zs/dzvCWlUEB4mT+vbfqQDK7dA=
NodeupConfigHash: srD+pwpI69f/5K5ScFrdEoGxucfoBlsRwYsjOle/gac=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privatecilium.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: InmgPTpS8rrk+Olxlq0Y+UxuMzIPGiujCchrPg64BeA=
NodeupConfigHash: 6Ge+miWg7SuiTNujgWEpr/n64b20R1on6WTeU8QBjTE=
__EOF_KUBE_ENV

View File

@ -276,6 +276,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.26.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privatecilium.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: vhYmkMzyi1luYd6Te5+QypsRqFFDaWUhoqYG4VIbRcQ=
NodeupConfigHash: lvRdSvGLe8QpPtkdoUuFRWT9q2IUWGGtzPsz3nlXoU8=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privatecilium.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: pUlOOYjrUm8skHYc2cnpCgbdt9rQRyDbIbYN+4miMlI=
NodeupConfigHash: 6JR2fvh8ApsshQ4+36jfClsOh9gtHhT7vcd6vdI9Vag=
__EOF_KUBE_ENV

View File

@ -276,6 +276,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.24.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.24.0
Networking:
cilium: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -249,7 +249,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privateciliumadvanced.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: g+mcZBrxlYGAEdijfnkU0N1JfkJ9pwkd9yRqmHwUuOI=
NodeupConfigHash: eHbFdshxUEleh3S7Pd+357O3bFeVHIjgjyQiIhwtOhM=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privateciliumadvanced.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: eKMQWhsXPBNi5QGiAMeSHyO71lYVJTqldFAHDSyiQeE=
NodeupConfigHash: fqJt89g2/InrkO1agR20bkOjNNhcZWNTc5aG/7Zow+Q=
__EOF_KUBE_ENV

View File

@ -342,9 +342,12 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.26.0
Networking:
cilium:
ipam: eni
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic
UseCiliumEtcd: true
channels:
- memfs://clusters.example.com/privateciliumadvanced.example.com/addons/bootstrap-channel.yaml
containerdConfig:

View File

@ -68,9 +68,12 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.26.0
Networking:
cilium:
ipam: eni
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic
UseCiliumEtcd: true
channels:
- memfs://clusters.example.com/privateciliumadvanced.example.com/addons/bootstrap-channel.yaml
containerdConfig:

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privateflannel.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: bqU+4IuJwcRbUbV7FXBwf2InrVJN2xw45mlVUoq4yXM=
NodeupConfigHash: R/GDTgebcDUZwTBwzQiFAPZrK/W63gbgMg4s3V4RBCg=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privateflannel.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: 1B99QKFoKr8NweUPwskNxwzrdS6QY/6HrahZ3aj+wE4=
NodeupConfigHash: PwLJpupLRt/2jyiVsuO0SNd+mq/J+pMdN9pMkjMxsxk=
__EOF_KUBE_ENV

View File

@ -276,6 +276,7 @@ KubeletConfig:
- node-role.kubernetes.io/control-plane=:NoSchedule
KubernetesVersion: 1.25.0
Networking:
flannel: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -48,6 +48,7 @@ KubeletConfig:
shutdownGracePeriodCriticalPods: 10s
KubernetesVersion: 1.25.0
Networking:
flannel: {}
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic

View File

@ -247,7 +247,7 @@ CloudProvider: aws
ConfigBase: memfs://clusters.example.com/privatekopeio.example.com
InstanceGroupName: master-us-test-1a
InstanceGroupRole: ControlPlane
NodeupConfigHash: PYD+gb2rh1WLZYlGfX/AYnhFcUUuP54mU81bCUSWzpY=
NodeupConfigHash: s0DZ2lXZjIFyxWKGF0TCTEHfi1MYJxuT2Jpg9v1Y9H8=
__EOF_KUBE_ENV

View File

@ -176,7 +176,7 @@ ConfigServer:
- https://kops-controller.internal.privatekopeio.example.com:3988/
InstanceGroupName: nodes
InstanceGroupRole: Node
NodeupConfigHash: YXyoGFvAkyB2PyhTn5UBx0H8LHZwWl9LRAusKAJD9W8=
NodeupConfigHash: Ru/+t+Ki0D1pyoq7y5Jge4TqMUmB8WeoVrl0WKyN/4o=
__EOF_KUBE_ENV

View File

@ -279,6 +279,7 @@ Networking:
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic
UsesKubenet: true
channels:
- memfs://clusters.example.com/privatekopeio.example.com/addons/bootstrap-channel.yaml
containerdConfig:

View File

@ -51,6 +51,7 @@ Networking:
nonMasqueradeCIDR: 100.64.0.0/10
serviceClusterIPRange: 100.64.0.0/13
UpdatePolicy: automatic
UsesKubenet: true
channels:
- memfs://clusters.example.com/privatekopeio.example.com/addons/bootstrap-channel.yaml
containerdConfig: