From 8f3eb8793de587d58a8322db57d77dc59f070750 Mon Sep 17 00:00:00 2001
From: Paige Rubendall <64206430+paigerube14@users.noreply.github.com>
Date: Mon, 28 Feb 2022 13:49:17 -0500
Subject: [PATCH] adding alibaba starting for infra or workload nodes (#83)
---
Jenkinsfile | 44 +++++--
README.md | 10 +-
infra-node-machineset-alicloud.yaml | 160 +++++++++++++++++++++++++
infra-node-machineset-ibmcloud.yaml | 148 +++++++++++++++++++++++
workload-node-machineset-alicloud.yaml | 78 ++++++++++++
workload-node-machineset-ibmcloud.yaml | 49 ++++++++
6 files changed, 477 insertions(+), 12 deletions(-)
create mode 100644 infra-node-machineset-alicloud.yaml
create mode 100644 infra-node-machineset-ibmcloud.yaml
create mode 100644 workload-node-machineset-alicloud.yaml
create mode 100644 workload-node-machineset-ibmcloud.yaml
diff --git a/Jenkinsfile b/Jenkinsfile
index 542fa1c0..f8f32cc1 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -73,6 +73,18 @@ pipeline {
OPENSHIFT_WORKLOAD_NODE_MEMORY_SIZE=131072
OPENSHIFT_WORKLOAD_NODE_CPU_CORE_PER_SOCKET_COUNT=2
OPENSHIFT_WORKLOAD_NODE_NETWORK_NAME=qe-segment
+ e.g. for Alicloud:
+ OPENSHIFT_INFRA_NODE_VOLUME_SIZE=100
+ OPENSHIFT_INFRA_NODE_INSTANCE_TYPE=ecs.g6.13xlarge
+ OPENSHIFT_WORKLOAD_NODE_VOLUME_SIZE=500
+ OPENSHIFT_WORKLOAD_NODE_INSTANCE_TYPE=ecs.g6.8xlarge
+ OPENSHIFT_PROMETHEUS_STORAGE_CLASS=alicloud-disk
+ OPENSHIFT_ALERTMANAGER_STORAGE_CLASS=alicloud-disk
+ e.g. for Ibmcloud:
+ OPENSHIFT_INFRA_NODE_INSTANCE_TYPE=bx2d-48x192
+ OPENSHIFT_WORKLOAD_NODE_INSTANCE_TYPE=bx2-32x128
+ OPENSHIFT_PROMETHEUS_STORAGE_CLASS=ibmc-vpc-block-5iops-tier
+ OPENSHIFT_ALERTMANAGER_STORAGE_CLASS=ibmc-vpc-block-5iops-tier
And ALWAYS INCLUDE(except for vSphere provider) this part, for Prometheus AlertManager, it may look like:
OPENSHIFT_PROMETHEUS_RETENTION_PERIOD=15d
OPENSHIFT_PROMETHEUS_STORAGE_SIZE=500Gi
@@ -105,9 +117,12 @@ pipeline {
file(credentialsId: 'ocp-azure', variable: 'OCP_AZURE')]) {
sh label: '', script: '''
if [[ $HOST_NETWORK_CONFIGS == "true" ]]; then
+ # Get ENV VARS Supplied by the user to this job and store in .env_override
+ echo "$ENV_VARS" > .env_override
+ # Export those env vars so they could be used by CI Job
+ set -a && source .env_override && set +a
mkdir -p ~/.kube
cp $WORKSPACE/flexy-artifacts/workdir/install-dir/auth/kubeconfig ~/.kube/config
-
oc config view
oc projects
ls -ls ~/.kube/
@@ -277,16 +292,12 @@ pipeline {
export CLUSTER_REGION=$(oc get machineset -n openshift-machine-api -o=go-template='{{(index .items 0).spec.template.spec.providerSpec.value.placement.region}}')
envsubst < infra-node-machineset-aws.yaml | oc apply -f -
envsubst < workload-node-machineset-aws.yaml | oc apply -f -
- fi
-
- if [[ $(echo $VARIABLES_LOCATION | grep azure -c) > 0 ]]; then
+ elif [[ $(echo $VARIABLES_LOCATION | grep azure -c) > 0 ]]; then
export AMI_ID=$(oc get machineset -n openshift-machine-api -o=go-template='{{(index .items 0).spec.template.spec.providerSpec.value.ami.id}}')
export AZURE_LOCATION=$(oc get machineset -n openshift-machine-api -o=go-template='{{(index .items 0).spec.template.spec.providerSpec.value.location}}')
envsubst < infra-node-machineset-azure.yaml | oc apply -f -
envsubst < workload-node-machineset-azure.yaml | oc apply -f -
- fi
-
- if [[ $(echo $VARIABLES_LOCATION | grep gcp -c) > 0 ]]; then
+ elif [[ $(echo $VARIABLES_LOCATION | grep gcp -c) > 0 ]]; then
echo $NETWORK_NAME
# login to service account
@@ -311,9 +322,7 @@ pipeline {
oc apply -f gcp-sc-pd-ssd.yaml
envsubst < infra-node-machineset-gcp.yaml | oc apply -f -
envsubst < workload-node-machineset-gcp.yaml | oc apply -f -
- fi
-
- if [[ $(echo $VARIABLES_LOCATION | grep vsphere -c) > 0 ]]; then
+ elif [[ $(echo $VARIABLES_LOCATION | grep vsphere -c) > 0 ]]; then
export WORKER_NODE_MACHINESET=$(oc get machinesets --no-headers -n openshift-machine-api | awk {'print $1'} | awk 'NR==1{print $1}')
export WORKER_MACHINESET_IMAGE=$(oc get machineset ${WORKER_NODE_MACHINESET} -n openshift-machine-api -o jsonpath='{.spec.template.spec.providerSpec.value.disks[0].image}')
export TEMPLATE_NAME=$(oc get machineset -n openshift-machine-api $(oc get machinesets --no-headers -A -o custom-columns=:.metadata.name | head -1) -o=jsonpath='{.spec.template.spec.providerSpec.value.template}')
@@ -324,8 +333,21 @@ pipeline {
export VSPHERE_SERVER=$(oc get machineset -n openshift-machine-api $(oc get machinesets --no-headers -A -o custom-columns=:.metadata.name | head -1) -o=jsonpath='{.spec.template.spec.providerSpec.value.workspace.server}')
envsubst < infra-node-machineset-vsphere.yaml | oc apply -f -
envsubst < workload-node-machineset-vsphere.yaml | oc apply -f -
- fi
+ elif [[ $(echo $VARIABLES_LOCATION | grep alicloud -c) > 0 ]]; then
+ export WORKER_NODE_MACHINESET=$(oc get machinesets --no-headers -n openshift-machine-api | awk {'print $1'} | awk 'NR==1{print $1}')
+ export WORKER_MACHINESET_IMAGE=$(oc get machineset ${WORKER_NODE_MACHINESET} -n openshift-machine-api -o jsonpath='{.spec.template.spec.providerSpec.value.imageId}')
+ export CLUSTER_REGION=$(oc get machineset -n openshift-machine-api -o=go-template='{{(index .items 0).spec.template.spec.providerSpec.value.regionId}}')
+
+ envsubst < infra-node-machineset-alicloud.yaml | oc apply -f -
+ envsubst < workload-node-machineset-alicloud.yaml | oc apply -f -
+ elif [[ $(echo $VARIABLES_LOCATION | grep ibmcloud -c) > 0 ]]; then
+ export WORKER_NODE_MACHINESET=$(oc get machinesets --no-headers -n openshift-machine-api | awk {'print $1'} | awk 'NR==1{print $1}')
+ export CLUSTER_REGION=$(oc get machineset -n openshift-machine-api -o=go-template='{{(index .items 0).spec.template.spec.providerSpec.value.region}}')
+ envsubst < infra-node-machineset-ibmcloud.yaml | oc apply -f -
+ envsubst < workload-node-machineset-ibmcloud.yaml | oc apply -f -
+
+ fi
retries=0
attempts=60
while [[ $(oc get nodes -l 'node-role.kubernetes.io/infra=' --no-headers| wc -l) -lt 3 ]]; do
diff --git a/README.md b/README.md
index 6e83bfcb..867a3b5f 100644
--- a/README.md
+++ b/README.md
@@ -5,5 +5,13 @@
A job that will allow adding and removing firewall ports for HostNetwork Uperf testing. Can be extended to do other operations. To be called after fresh Flexy-cluster is created. And then call again before flexy-destroy to revert any changes made to the cluster.
+## Current supported cloud cluster types
+* AWS
+* Azure
+* GCP
+* Vsphere
+* Alicloud/Alibaba (only infra nodes)
+* IBM Cloud (only infra nodes)
+
### Author
-Kedar Kulkarni <@kedark3 on Github>
+Paige Rubendall <@paigerube14 on Github>
diff --git a/infra-node-machineset-alicloud.yaml b/infra-node-machineset-alicloud.yaml
new file mode 100644
index 00000000..185a84bf
--- /dev/null
+++ b/infra-node-machineset-alicloud.yaml
@@ -0,0 +1,160 @@
+apiVersion: v1
+kind: List
+metadata: {}
+items:
+- apiVersion: machine.openshift.io/v1beta1
+ kind: MachineSet
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ name: infra-${CLUSTER_REGION}-a
+ namespace: openshift-machine-api
+ spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: infra-${CLUSTER_REGION}a
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ machine.openshift.io/cluster-api-machineset: infra-${CLUSTER_REGION}a
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/infra: ""
+ providerSpec:
+ value:
+ apiVersion: machine.openshift.io/v1
+ credentialsSecret:
+ name: alibabacloud-credentials
+ imageId: ${WORKER_MACHINESET_IMAGE}
+ instanceType: ${OPENSHIFT_INFRA_NODE_INSTANCE_TYPE}
+ kind: AlibabaCloudMachineProviderConfig
+ ramRoleName: ${CLUSTER_NAME}-role-worker
+ regionId: ${CLUSTER_REGION}
+ resourceGroup:
+ name: ${CLUSTER_NAME}-rg
+ type: Name
+ securityGroups:
+ - tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-sg-worker
+ type: Tags
+ systemDisk:
+ category: cloud_essd
+ size: ${OPENSHIFT_INFRA_NODE_VOLUME_SIZE}
+ tag:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ userDataSecret:
+ name: worker-user-data
+ vSwitch:
+ tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-vswitch-${CLUSTER_REGION}a
+ type: Tags
+ vpcId: ""
+ zoneId: ${CLUSTER_REGION}a
+ taints:
+ - key: node-role.kubernetes.io/infra
+ effect: NoSchedule
+- apiVersion: machine.openshift.io/v1beta1
+ kind: MachineSet
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ name: infra-${CLUSTER_REGION}-b
+ namespace: openshift-machine-api
+ spec:
+ replicas: 2
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: infra-${CLUSTER_REGION}b
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ machine.openshift.io/cluster-api-machineset: infra-${CLUSTER_REGION}b
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/infra: ""
+ providerSpec:
+ value:
+ apiVersion: machine.openshift.io/v1
+ credentialsSecret:
+ name: alibabacloud-credentials
+ imageId: ${WORKER_MACHINESET_IMAGE}
+ instanceType: ${OPENSHIFT_INFRA_NODE_INSTANCE_TYPE}
+ kind: AlibabaCloudMachineProviderConfig
+ ramRoleName: ${CLUSTER_NAME}-role-worker
+ regionId: ${CLUSTER_REGION}
+ resourceGroup:
+ name: ${CLUSTER_NAME}-rg
+ type: Name
+ securityGroups:
+ - tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-sg-worker
+ type: Tags
+ systemDisk:
+ category: cloud_essd
+ size: ${OPENSHIFT_INFRA_NODE_VOLUME_SIZE}
+ tag:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ userDataSecret:
+ name: worker-user-data
+ vSwitch:
+ tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-vswitch-${CLUSTER_REGION}b
+ type: Tags
+ vpcId: ""
+ zoneId: ${CLUSTER_REGION}b
+ taints:
+ - key: node-role.kubernetes.io/infra
+ effect: NoSchedule
\ No newline at end of file
diff --git a/infra-node-machineset-ibmcloud.yaml b/infra-node-machineset-ibmcloud.yaml
new file mode 100644
index 00000000..92312f09
--- /dev/null
+++ b/infra-node-machineset-ibmcloud.yaml
@@ -0,0 +1,148 @@
+apiVersion: v1
+kind: List
+metadata: {}
+items:
+- apiVersion: machine.openshift.io/v1beta1
+ kind: MachineSet
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ name: ${CLUSTER_NAME}-infra-1
+ namespace: openshift-machine-api
+ spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: ${CLUSTER_NAME}-infra-${CLUSTER_REGION}
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ machine.openshift.io/cluster-api-machineset: ${CLUSTER_NAME}-infra-${CLUSTER_REGION}
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/infra: ''
+ providerSpec:
+ value:
+ apiVersion: ibmcloudproviderconfig.openshift.io/v1beta1
+ credentialsSecret:
+ name: ibmcloud-credentials
+ image: ${CLUSTER_NAME}-rhcos
+ kind: IBMCloudMachineProviderSpec
+ primaryNetworkInterface:
+ securityGroups:
+ - ${CLUSTER_NAME}-sg-cluster-wide
+ - ${CLUSTER_NAME}-sg-openshift-net
+ subnet: ${CLUSTER_NAME}-subnet-compute-${CLUSTER_REGION}-1
+ profile: ${OPENSHIFT_INFRA_NODE_INSTANCE_TYPE}
+ region: ${CLUSTER_REGION}
+ resourceGroup: ${CLUSTER_NAME}
+ userDataSecret:
+ name: worker-user-data
+ vpc: ${CLUSTER_NAME}-vpc
+ zone: ${CLUSTER_REGION}-1
+ taints:
+ - key: node-role.kubernetes.io/infra
+ effect: NoSchedule
+- apiVersion: machine.openshift.io/v1beta1
+ kind: MachineSet
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ name: ${CLUSTER_NAME}-infra-2
+ namespace: openshift-machine-api
+ spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: '${CLUSTER_NAME}-infra-${CLUSTER_REGION}'
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ machine.openshift.io/cluster-api-machineset: '${CLUSTER_NAME}-infra-${CLUSTER_REGION}'
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/infra: ''
+ providerSpec:
+ value:
+ apiVersion: ibmcloudproviderconfig.openshift.io/v1beta1
+ credentialsSecret:
+ name: ibmcloud-credentials
+ image: '${CLUSTER_NAME}-rhcos'
+ kind: IBMCloudMachineProviderSpec
+ primaryNetworkInterface:
+ securityGroups:
+ - '${CLUSTER_NAME}-sg-cluster-wide'
+ - '${CLUSTER_NAME}-sg-openshift-net'
+ subnet: '${CLUSTER_NAME}-subnet-compute-${CLUSTER_REGION}-2'
+ profile: '${OPENSHIFT_INFRA_NODE_INSTANCE_TYPE}'
+ region: '${CLUSTER_REGION}'
+ resourceGroup: ${CLUSTER_NAME}
+ userDataSecret:
+ name: worker-user-data
+ vpc: '${CLUSTER_NAME}-vpc'
+ zone: '${CLUSTER_REGION}-2'
+ taints:
+ - key: node-role.kubernetes.io/infra
+ effect: NoSchedule
+- apiVersion: machine.openshift.io/v1beta1
+ kind: MachineSet
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ name: '${CLUSTER_NAME}-infra-3'
+ namespace: openshift-machine-api
+ spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: '${CLUSTER_NAME}-infra-${CLUSTER_REGION}'
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: infra
+ machine.openshift.io/cluster-api-machine-type: infra
+ machine.openshift.io/cluster-api-machineset: '${CLUSTER_NAME}-infra-${CLUSTER_REGION}'
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/infra: ''
+ providerSpec:
+ value:
+ apiVersion: ibmcloudproviderconfig.openshift.io/v1beta1
+ credentialsSecret:
+ name: ibmcloud-credentials
+ image: '${CLUSTER_NAME}-rhcos'
+ kind: IBMCloudMachineProviderSpec
+ primaryNetworkInterface:
+ securityGroups:
+ - '${CLUSTER_NAME}-sg-cluster-wide'
+ - '${CLUSTER_NAME}-sg-openshift-net'
+ subnet: '${CLUSTER_NAME}-subnet-compute-${CLUSTER_REGION}-3'
+ profile: '${OPENSHIFT_INFRA_NODE_INSTANCE_TYPE}'
+ region: '${CLUSTER_REGION}'
+ resourceGroup: ${CLUSTER_NAME}
+ userDataSecret:
+ name: worker-user-data
+ vpc: '${CLUSTER_NAME}-vpc'
+ zone: '${CLUSTER_REGION}-3'
+ taints:
+ - key: node-role.kubernetes.io/infra
+ effect: NoSchedule
\ No newline at end of file
diff --git a/workload-node-machineset-alicloud.yaml b/workload-node-machineset-alicloud.yaml
new file mode 100644
index 00000000..499145dd
--- /dev/null
+++ b/workload-node-machineset-alicloud.yaml
@@ -0,0 +1,78 @@
+apiVersion: machine.openshift.io/v1beta1
+kind: MachineSet
+metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: workload
+ machine.openshift.io/cluster-api-machine-type: workload
+ name: workload-${CLUSTER_REGION}-a
+ namespace: openshift-machine-api
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: workload-${CLUSTER_REGION}a
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: workload
+ machine.openshift.io/cluster-api-machine-type: workload
+ machine.openshift.io/cluster-api-machineset: workload-${CLUSTER_REGION}a
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/workload: ""
+ providerSpec:
+ value:
+ apiVersion: machine.openshift.io/v1
+ credentialsSecret:
+ name: alibabacloud-credentials
+ imageId: ${WORKER_MACHINESET_IMAGE}
+ instanceType: ${OPENSHIFT_WORKLOAD_NODE_INSTANCE_TYPE}
+ kind: AlibabaCloudMachineProviderConfig
+ ramRoleName: ${CLUSTER_NAME}-role-worker
+ regionId: ${CLUSTER_REGION}
+ resourceGroup:
+ name: ${CLUSTER_NAME}-rg
+ type: Name
+ securityGroups:
+ - tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-sg-worker
+ type: Tags
+ systemDisk:
+ category: cloud_essd
+ size: ${OPENSHIFT_WORKLOAD_NODE_VOLUME_SIZE}
+ tag:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ userDataSecret:
+ name: worker-user-data
+ vSwitch:
+ tags:
+ - Key: kubernetes.io/cluster/${CLUSTER_NAME}
+ Value: owned
+ - Key: GISV
+ Value: ocp
+ - Key: sigs.k8s.io/cloud-provider-alibaba/origin
+ Value: ocp
+ - Key: Name
+ Value: ${CLUSTER_NAME}-vswitch-${CLUSTER_REGION}a
+ type: Tags
+ vpcId: ""
+ zoneId: ${CLUSTER_REGION}a
+ taints:
+ - key: node-role.kubernetes.io/workload
+ effect: NoSchedule
\ No newline at end of file
diff --git a/workload-node-machineset-ibmcloud.yaml b/workload-node-machineset-ibmcloud.yaml
new file mode 100644
index 00000000..48c94407
--- /dev/null
+++ b/workload-node-machineset-ibmcloud.yaml
@@ -0,0 +1,49 @@
+apiVersion: machine.openshift.io/v1beta1
+kind: MachineSet
+metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: workload
+ machine.openshift.io/cluster-api-machine-type: workload
+ name: ${CLUSTER_NAME}-workload-${CLUSTER_REGION}
+ namespace: openshift-machine-api
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machineset: ${CLUSTER_NAME}-workload-${CLUSTER_REGION}
+ template:
+ metadata:
+ labels:
+ machine.openshift.io/cluster-api-cluster: ${CLUSTER_NAME}
+ machine.openshift.io/cluster-api-machine-role: workload
+ machine.openshift.io/cluster-api-machine-type: workload
+ machine.openshift.io/cluster-api-machineset: ${CLUSTER_NAME}-workload-${CLUSTER_REGION}
+ spec:
+ metadata:
+ labels:
+ node-role.kubernetes.io/workload: ""
+ providerSpec:
+ value:
+ apiVersion: ibmcloudproviderconfig.openshift.io/v1beta1
+ credentialsSecret:
+ name: ibmcloud-credentials
+ image: ${CLUSTER_NAME}-rhcos
+ kind: IBMCloudMachineProviderSpec
+ primaryNetworkInterface:
+ securityGroups:
+ - ${CLUSTER_NAME}-sg-cluster-wide
+ - ${CLUSTER_NAME}-sg-openshift-net
+ # Installer: Can/should the user actually specify this, or will one get created during install and pulled in here?
+ subnet: ${CLUSTER_NAME}-subnet-compute-${CLUSTER_REGION}-1
+ profile: ${OPENSHIFT_WORKLOAD_NODE_INSTANCE_TYPE}
+ region: ${CLUSTER_REGION}
+ resourceGroup: ${CLUSTER_NAME}
+ userDataSecret:
+ name: worker-user-data
+ vpc: ${CLUSTER_NAME}-vpc
+ zone: ${CLUSTER_REGION}-1
+ taints:
+ - key: node-role.kubernetes.io/workload
+ effect: NoSchedule
\ No newline at end of file