diff --git a/k8s-versions.json b/k8s-versions.json index 6fb6de2..ab8154f 100644 --- a/k8s-versions.json +++ b/k8s-versions.json @@ -59,6 +59,9 @@ }, { "k8s": "1.35.0" + }, + { + "k8s": "1.36.1" } ] }, diff --git a/src/main/java/com/dajudge/kindcontainer/KindContainer.java b/src/main/java/com/dajudge/kindcontainer/KindContainer.java index 1c88348..8ca9137 100644 --- a/src/main/java/com/dajudge/kindcontainer/KindContainer.java +++ b/src/main/java/com/dajudge/kindcontainer/KindContainer.java @@ -51,6 +51,7 @@ public class KindContainer> extends KubernetesWithKub private static final Map KUBEADM_CONFIGS = new HashMap() {{ put(new KubernetesVersionDescriptor(1, 21, 0), "kubeadm-1.21.0.yaml"); put(new KubernetesVersionDescriptor(1, 24, 0), "kubeadm-1.24.0.yaml"); + put(new KubernetesVersionDescriptor(1, 36, 0), "kubeadm-1.36.0.yaml"); }}; private static final String KUBECONFIG_PATH = "/etc/kubernetes/admin.conf"; private static final String NODE_NAME = "kind"; diff --git a/src/main/resources/kubeadm-1.36.0.yaml b/src/main/resources/kubeadm-1.36.0.yaml new file mode 100644 index 0000000..a53685c --- /dev/null +++ b/src/main/resources/kubeadm-1.36.0.yaml @@ -0,0 +1,82 @@ +apiServer: + certSANs: [{{ .CertSANs }}] + extraArgs: + - name: runtime-config + value: "" + - name: service-node-port-range + value: "{{ .MinNodePort }}-{{ .MaxNodePort }}" +apiVersion: kubeadm.k8s.io/v1beta4 +clusterName: kind +controlPlaneEndpoint: {{ .NodeIp }}:6443 +controllerManager: + extraArgs: + - name: enable-hostpath-provisioner + value: "true" +kind: ClusterConfiguration +kubernetesVersion: {{ .KubernetesVersion }} +networking: + podSubnet: {{ .PodSubnet }} + serviceSubnet: {{ .ServiceSubnet }} +--- +apiVersion: kubeadm.k8s.io/v1beta4 +bootstrapTokens: + - token: abcdef.0123456789abcdef +kind: InitConfiguration +localAPIEndpoint: + advertiseAddress: {{ .NodeIp }} + bindPort: 6443 +nodeRegistration: + criSocket: unix:///run/containerd/containerd.sock + kubeletExtraArgs: + - name: fail-swap-on + value: "false" + - name: node-ip + value: {{ .NodeIp }} + - name: node-labels + value: "" + - name: provider-id + value: kind://docker/kind/kindcontainer-control-plane +--- +apiVersion: kubeadm.k8s.io/v1beta4 +controlPlane: + localAPIEndpoint: + advertiseAddress: {{ .NodeIp }} + bindPort: 6443 +discovery: + bootstrapToken: + apiServerEndpoint: {{ .NodeIp }}:6443 + token: abcdef.0123456789abcdef + unsafeSkipCAVerification: true +kind: JoinConfiguration +nodeRegistration: + criSocket: unix:///run/containerd/containerd.sock + kubeletExtraArgs: + - name: fail-swap-on + value: "false" + - name: node-ip + value: {{ .NodeIp }} + - name: node-labels + value: "" + - name: provider-id + value: kind://docker/kind/kindcontainer-control-plane +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +featureGates: + KubeletInUserNamespace: true +cgroupDriver: systemd +cgroupRoot: /kubelet +evictionHard: + imagefs.available: 0% + nodefs.available: 0% + nodefs.inodesFree: 0% +failSwapOn: false +imageGCHighThresholdPercent: 100 +--- +apiVersion: kubeproxy.config.k8s.io/v1alpha1 +conntrack: + maxPerCore: 0 +iptables: + minSyncPeriod: 1s +kind: KubeProxyConfiguration +mode: iptables