Merge "Azure provider integration - K8S-Control & Workers"

This commit is contained in:
Zuul 2020-11-23 18:41:40 +00:00 committed by Gerrit Code Review
commit c18db07043
8 changed files with 215 additions and 10 deletions

View File

@ -1,4 +1,3 @@
resources: resources:
- cluster.yaml - cluster.yaml
- controlplane.yaml - controlplane.yaml
- workers.yaml

View File

@ -0,0 +1,33 @@
apiVersion: cluster.x-k8s.io/v1alpha3
kind: Cluster
metadata:
labels:
cni: calico
name: target-cluster
namespace: default
spec:
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3
kind: KubeadmControlPlane
name: target-cluster-control-plane
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureCluster
name: target-cluster
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureCluster
metadata:
name: target-cluster
namespace: default
spec:
location: eastus
networkSpec:
vnet:
name: azure-workload-vnet
resourceGroup: azure-workload
subscriptionID: cb3e23d3-b697-4c4f-a1a7-529e308691e4

View File

@ -0,0 +1,101 @@
---
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3
kind: KubeadmControlPlane
metadata:
name: target-cluster-control-plane
namespace: default
spec:
infrastructureTemplate:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate
name: target-cluster-control-plane
kubeadmConfigSpec:
clusterConfiguration:
apiServer:
extraArgs:
cloud-config: /etc/kubernetes/azure.json
cloud-provider: azure
extraVolumes:
- hostPath: /etc/kubernetes/azure.json
mountPath: /etc/kubernetes/azure.json
name: cloud-config
readOnly: true
timeoutForControlPlane: 20m
controllerManager:
extraArgs:
allocate-node-cidrs: "false"
cloud-config: /etc/kubernetes/azure.json
cloud-provider: azure
cluster-name: target-cluster
extraVolumes:
- hostPath: /etc/kubernetes/azure.json
mountPath: /etc/kubernetes/azure.json
name: cloud-config
readOnly: true
etcd:
local:
dataDir: /var/lib/etcddisk/etcd
diskSetup:
filesystems:
- device: /dev/disk/azure/scsi1/lun0
extraOpts:
- -E
- lazy_itable_init=1,lazy_journal_init=1
filesystem: ext4
label: etcd_disk
- device: ephemeral0.1
filesystem: ext4
label: ephemeral0
replaceFS: ntfs
partitions:
- device: /dev/disk/azure/scsi1/lun0
layout: true
overwrite: false
tableType: gpt
files:
- contentFrom:
secret:
key: control-plane-azure.json
name: target-cluster-control-plane-azure-json
owner: root:root
path: /etc/kubernetes/azure.json
permissions: "0644"
initConfiguration:
nodeRegistration:
kubeletExtraArgs:
cloud-config: /etc/kubernetes/azure.json
cloud-provider: azure
name: '{{ ds.meta_data["local_hostname"] }}'
joinConfiguration:
nodeRegistration:
kubeletExtraArgs:
cloud-config: /etc/kubernetes/azure.json
cloud-provider: azure
name: '{{ ds.meta_data["local_hostname"] }}'
mounts:
- - LABEL=etcd_disk
- /var/lib/etcddisk
useExperimentalRetryJoin: true
replicas: 1
version: v1.18.10
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate
metadata:
name: target-cluster-control-plane
namespace: default
spec:
template:
spec:
dataDisks:
- diskSizeGB: 256
lun: 0
nameSuffix: etcddisk
location: eastus
osDisk:
diskSizeGB: 128
managedDisk:
storageAccountType: Premium_LRS
osType: Linux
sshPublicKey: ""
vmSize: Standard_D2s_v3

View File

@ -0,0 +1,3 @@
resources:
- cluster.yaml
- controlplane.yaml

View File

@ -0,0 +1,2 @@
resources:
- workers.yaml

View File

@ -1,10 +1,10 @@
apiVersion: cluster.x-k8s.io/v1alpha3 apiVersion: cluster.x-k8s.io/v1alpha3
kind: MachineDeployment kind: MachineDeployment
metadata: metadata:
name: az-workload-cluster-md-0 name: target-cluster-md-0
namespace: default namespace: default
spec: spec:
clusterName: az-workload-cluster clusterName: target-cluster
replicas: 3 replicas: 3
selector: selector:
matchLabels: null matchLabels: null
@ -14,18 +14,18 @@ spec:
configRef: configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3 apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
name: az-workload-cluster-md-0 name: target-cluster-md-0
clusterName: az-workload-cluster clusterName: target-cluster
infrastructureRef: infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate kind: AzureMachineTemplate
name: az-workload-cluster-md-0 name: target-cluster-md-0
version: v1.18.2 version: v1.18.6
--- ---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3 apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate kind: AzureMachineTemplate
metadata: metadata:
name: az-workload-cluster-md-0 name: target-cluster-md-0
namespace: default namespace: default
spec: spec:
template: template:
@ -42,7 +42,7 @@ spec:
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3 apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
kind: KubeadmConfigTemplate kind: KubeadmConfigTemplate
metadata: metadata:
name: az-workload-cluster-md-0 name: target-cluster-md-0
namespace: default namespace: default
spec: spec:
template: template:
@ -51,7 +51,7 @@ spec:
- contentFrom: - contentFrom:
secret: secret:
key: azure.json key: azure.json
name: az-workload-cluster-md-0-azure-json name: target-cluster-md-0-azure-json
owner: root:root owner: root:root
path: /etc/kubernetes/azure.json path: /etc/kubernetes/azure.json
permissions: "0644" permissions: "0644"

View File

@ -0,0 +1,2 @@
resources:
- workers.yaml

View File

@ -0,0 +1,65 @@
---
apiVersion: cluster.x-k8s.io/v1alpha3
kind: MachineDeployment
metadata:
name: target-cluster-md-0
namespace: default
spec:
clusterName: target-cluster
replicas: 3
selector:
matchLabels: null
template:
spec:
bootstrap:
configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
kind: KubeadmConfigTemplate
name: target-cluster-md-0
clusterName: target-cluster
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate
name: target-cluster-md-0
version: v1.18.10
---
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
kind: AzureMachineTemplate
metadata:
name: target-cluster-md-0
namespace: default
spec:
template:
spec:
location: eastus
osDisk:
diskSizeGB: 128
managedDisk:
storageAccountType: Premium_LRS
osType: Linux
sshPublicKey: ""
vmSize: Standard_D2s_v3
---
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
kind: KubeadmConfigTemplate
metadata:
name: target-cluster-md-0
namespace: default
spec:
template:
spec:
files:
- contentFrom:
secret:
key: worker-node-azure.json
name: target-cluster-md-0-azure-json
owner: root:root
path: /etc/kubernetes/azure.json
permissions: "0644"
joinConfiguration:
nodeRegistration:
kubeletExtraArgs:
cloud-config: /etc/kubernetes/azure.json
cloud-provider: azure
name: '{{ ds.meta_data["local_hostname"] }}'
useExperimentalRetryJoin: true