Skip to content

Commit 94aae7e

Browse files
Christoph Glaubitzpierreprinetti
authored andcommitted
Migrated kubeadm config to v1beta1 for kubeadm 1.14 (openshift#278)
Kubeadm 1.14.0 does not support v1alpha3 for anything else than migrating the config. See: kubernetes/kubernetes#74025
1 parent 678f148 commit 94aae7e

File tree

4 files changed

+122
-66
lines changed

4 files changed

+122
-66
lines changed

cmd/clusterctl/examples/openstack/provider-component/user-data/centos/templates/master-user-data.sh

Lines changed: 49 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -86,42 +86,65 @@ echo $OPENSTACK_CLOUD_PROVIDER_CONF | base64 -d > /etc/kubernetes/cloud.conf
8686

8787
# Set up kubeadm config file to pass parameters to kubeadm init.
8888
cat > /etc/kubernetes/kubeadm_config.yaml <<EOF
89-
apiVersion: kubeadm.k8s.io/v1alpha3
89+
apiVersion: kubeadm.k8s.io/v1beta1
9090
kind: InitConfiguration
9191
bootstrapTokens:
92-
- token: ${TOKEN}
93-
apiEndpoint:
92+
- groups:
93+
- system:bootstrappers:kubeadm:default-node-token
94+
token: ${TOKEN}
95+
ttl: 24h0m0s
96+
usages:
97+
- signing
98+
- authentication
99+
localAPIEndpoint:
94100
bindPort: 443
95101
nodeRegistration:
96-
name: $(hostname -s)
102+
criSocket: /var/run/dockershim.sock
97103
kubeletExtraArgs:
98-
cloud-provider: "openstack"
99-
cloud-config: "/etc/kubernetes/cloud.conf"
104+
cloud-config: /etc/kubernetes/cloud.conf
105+
cloud-provider: openstack
106+
taints:
107+
- effect: NoSchedule
108+
key: node-role.kubernetes.io/master
100109
---
101-
apiVersion: kubeadm.k8s.io/v1alpha3
110+
apiVersion: kubeadm.k8s.io/v1beta1
102111
kind: ClusterConfiguration
103112
kubernetesVersion: v${CONTROL_PLANE_VERSION}
104-
networking:
105-
serviceSubnet: ${SERVICE_CIDR}
113+
apiServer:
114+
extraArgs:
115+
cloud-config: /etc/kubernetes/cloud.conf
116+
cloud-provider: openstack
117+
extraVolumes:
118+
- hostPath: /etc/kubernetes/cloud.conf
119+
mountPath: /etc/kubernetes/cloud.conf
120+
name: cloud
121+
readOnly: true
122+
timeoutForControlPlane: 4m0s
123+
certificatesDir: /etc/kubernetes/pki
106124
clusterName: kubernetes
107-
apiServerExtraArgs:
108-
cloud-provider: "openstack"
109-
cloud-config: "/etc/kubernetes/cloud.conf"
110-
apiServerExtraVolumes:
111-
- name: cloud
112-
hostPath: "/etc/kubernetes/cloud.conf"
113-
mountPath: "/etc/kubernetes/cloud.conf"
114125
controlPlaneEndpoint: ${MASTER}
115-
controllerManagerExtraArgs:
116-
cluster-cidr: ${POD_CIDR}
117-
service-cluster-ip-range: ${SERVICE_CIDR}
118-
allocate-node-cidrs: "true"
119-
cloud-provider: "openstack"
120-
cloud-config: "/etc/kubernetes/cloud.conf"
121-
controllerManagerExtraVolumes:
122-
- name: cloud
123-
hostPath: "/etc/kubernetes/cloud.conf"
124-
mountPath: "/etc/kubernetes/cloud.conf"
126+
controllerManager:
127+
extraArgs:
128+
allocate-node-cidrs: "true"
129+
cloud-config: /etc/kubernetes/cloud.conf
130+
cloud-provider: openstack
131+
cluster-cidr: ${POD_CIDR}
132+
service-cluster-ip-range: ${SERVICE_CIDR}
133+
extraVolumes:
134+
- hostPath: /etc/kubernetes/cloud.conf
135+
mountPath: /etc/kubernetes/cloud.conf
136+
name: cloud
137+
readOnly: true
138+
dns:
139+
type: CoreDNS
140+
etcd:
141+
local:
142+
dataDir: /var/lib/etcd
143+
imageRepository: k8s.gcr.io
144+
networking:
145+
dnsDomain: cluster.local
146+
podSubnet: ""
147+
serviceSubnet: ${SERVICE_CIDR}
125148
EOF
126149

127150
kubeadm init --config /etc/kubernetes/kubeadm_config.yaml

cmd/clusterctl/examples/openstack/provider-component/user-data/centos/templates/worker-user-data.sh

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,21 @@ echo $OPENSTACK_CLOUD_PROVIDER_CONF | base64 -d > /etc/kubernetes/cloud.conf
4545

4646
# Set up kubeadm config file to pass to kubeadm join.
4747
cat > /etc/kubernetes/kubeadm_config.yaml <<EOF
48-
apiVersion: kubeadm.k8s.io/v1alpha3
48+
apiVersion: kubeadm.k8s.io/v1beta1
4949
kind: JoinConfiguration
50+
caCertPath: /etc/kubernetes/pki/ca.crt
51+
discovery:
52+
bootstrapToken:
53+
apiServerEndpoint: ${MASTER}
54+
token: ${TOKEN}
55+
unsafeSkipCAVerification: true
56+
timeout: 5m0s
57+
tlsBootstrapToken: xp87ac.oaev5jvtje9f0g5h
5058
nodeRegistration:
51-
name: $(hostname -s)
59+
criSocket: /var/run/dockershim.sock
5260
kubeletExtraArgs:
53-
cloud-provider: "openstack"
54-
cloud-config: "/etc/kubernetes/cloud.conf"
55-
token: ${TOKEN}
56-
discoveryTokenAPIServers:
57-
- ${MASTER}
58-
discoveryTokenUnsafeSkipCAVerification: true
61+
cloud-config: /etc/kubernetes/cloud.conf
62+
cloud-provider: openstack
5963
EOF
6064

6165
cat <<EOF > /etc/default/kubelet

cmd/clusterctl/examples/openstack/provider-component/user-data/ubuntu/templates/master-user-data.sh

Lines changed: 49 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -114,41 +114,65 @@ systemctl mask ufw
114114
# We're using 443 until this bug is fixed
115115
# https://github.com/kubernetes-sigs/cluster-api-provider-openstack/issues/64
116116
cat > /etc/kubernetes/kubeadm_config.yaml <<EOF
117-
apiVersion: kubeadm.k8s.io/v1alpha3
117+
apiVersion: kubeadm.k8s.io/v1beta1
118118
kind: InitConfiguration
119119
bootstrapTokens:
120-
- token: ${TOKEN}
121-
apiEndpoint:
120+
- groups:
121+
- system:bootstrappers:kubeadm:default-node-token
122+
token: ${TOKEN}
123+
ttl: 24h0m0s
124+
usages:
125+
- signing
126+
- authentication
127+
localAPIEndpoint:
122128
bindPort: 443
123129
nodeRegistration:
130+
criSocket: /var/run/dockershim.sock
124131
kubeletExtraArgs:
125-
cloud-provider: "openstack"
126-
cloud-config: "/etc/kubernetes/cloud.conf"
132+
cloud-config: /etc/kubernetes/cloud.conf
133+
cloud-provider: openstack
134+
taints:
135+
- effect: NoSchedule
136+
key: node-role.kubernetes.io/master
127137
---
128-
apiVersion: kubeadm.k8s.io/v1alpha3
138+
apiVersion: kubeadm.k8s.io/v1beta1
129139
kind: ClusterConfiguration
130140
kubernetesVersion: v${CONTROL_PLANE_VERSION}
131-
networking:
132-
serviceSubnet: ${SERVICE_CIDR}
141+
apiServer:
142+
extraArgs:
143+
cloud-config: /etc/kubernetes/cloud.conf
144+
cloud-provider: openstack
145+
extraVolumes:
146+
- hostPath: /etc/kubernetes/cloud.conf
147+
mountPath: /etc/kubernetes/cloud.conf
148+
name: cloud
149+
readOnly: true
150+
timeoutForControlPlane: 4m0s
151+
certificatesDir: /etc/kubernetes/pki
133152
clusterName: kubernetes
134153
controlPlaneEndpoint: ${MASTER}
135-
apiServerExtraArgs:
136-
cloud-provider: "openstack"
137-
cloud-config: "/etc/kubernetes/cloud.conf"
138-
apiServerExtraVolumes:
139-
- name: cloud
140-
hostPath: "/etc/kubernetes/cloud.conf"
141-
mountPath: "/etc/kubernetes/cloud.conf"
142-
controllerManagerExtraArgs:
143-
cluster-cidr: ${POD_CIDR}
144-
service-cluster-ip-range: ${SERVICE_CIDR}
145-
allocate-node-cidrs: "true"
146-
cloud-provider: "openstack"
147-
cloud-config: "/etc/kubernetes/cloud.conf"
148-
controllerManagerExtraVolumes:
149-
- name: cloud
150-
hostPath: "/etc/kubernetes/cloud.conf"
151-
mountPath: "/etc/kubernetes/cloud.conf"
154+
controllerManager:
155+
extraArgs:
156+
allocate-node-cidrs: "true"
157+
cloud-config: /etc/kubernetes/cloud.conf
158+
cloud-provider: openstack
159+
cluster-cidr: ${POD_CIDR}
160+
service-cluster-ip-range: ${SERVICE_CIDR}
161+
extraVolumes:
162+
- hostPath: /etc/kubernetes/cloud.conf
163+
mountPath: /etc/kubernetes/cloud.conf
164+
name: cloud
165+
readOnly: true
166+
dns:
167+
type: CoreDNS
168+
etcd:
169+
local:
170+
dataDir: /var/lib/etcd
171+
imageRepository: k8s.gcr.io
172+
networking:
173+
dnsDomain: cluster.local
174+
podSubnet: ""
175+
serviceSubnet: ${SERVICE_CIDR}
152176
EOF
153177

154178
# Create and set bridge-nf-call-iptables to 1 to pass the kubeadm preflight check.

cmd/clusterctl/examples/openstack/provider-component/user-data/ubuntu/templates/worker-user-data.sh

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,21 @@ echo $OPENSTACK_CLOUD_PROVIDER_CONF | base64 -d > /etc/kubernetes/cloud.conf
7979

8080
# Set up kubeadm config file to pass to kubeadm join.
8181
cat > /etc/kubernetes/kubeadm_config.yaml <<EOF
82-
apiVersion: kubeadm.k8s.io/v1alpha3
82+
apiVersion: kubeadm.k8s.io/v1beta1
8383
kind: JoinConfiguration
84+
caCertPath: /etc/kubernetes/pki/ca.crt
85+
discovery:
86+
bootstrapToken:
87+
apiServerEndpoint: ${MASTER}
88+
token: ${TOKEN}
89+
unsafeSkipCAVerification: true
90+
timeout: 5m0s
91+
tlsBootstrapToken: xp87ac.oaev5jvtje9f0g5h
8492
nodeRegistration:
93+
criSocket: /var/run/dockershim.sock
8594
kubeletExtraArgs:
86-
cloud-provider: "openstack"
87-
cloud-config: "/etc/kubernetes/cloud.conf"
88-
token: ${TOKEN}
89-
discoveryTokenAPIServers:
90-
- ${MASTER}
91-
discoveryTokenUnsafeSkipCAVerification: true
95+
cloud-config: /etc/kubernetes/cloud.conf
96+
cloud-provider: openstack
9297
EOF
9398

9499
# Override network args to use kubenet instead of cni, override Kubelet DNS args and

0 commit comments

Comments
 (0)