Created
March 15, 2022 13:08
-
-
Save joekr/36934a121528172da60e822c9bc18b10 to your computer and use it in GitHub Desktop.
cluster-api-provider-oci dynamic shape template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: Cluster | |
metadata: | |
labels: | |
cluster.x-k8s.io/cluster-name: "${CLUSTER_NAME}" | |
name: "${CLUSTER_NAME}" | |
namespace: "${NAMESPACE}" | |
spec: | |
clusterNetwork: | |
pods: | |
cidrBlocks: | |
- ${POD_CIDR:="192.168.0.0/16"} | |
serviceDomain: ${SERVICE_DOMAIN:="cluster.local"} | |
services: | |
cidrBlocks: | |
- ${SERVICE_CIDR:="10.128.0.0/12"} | |
infrastructureRef: | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCICluster | |
name: "${CLUSTER_NAME}" | |
namespace: "${NAMESPACE}" | |
controlPlaneRef: | |
apiVersion: controlplane.cluster.x-k8s.io/v1beta1 | |
kind: KubeadmControlPlane | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCICluster | |
metadata: | |
labels: | |
cluster.x-k8s.io/cluster-name: "${CLUSTER_NAME}" | |
name: "${CLUSTER_NAME}" | |
spec: | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
--- | |
kind: KubeadmControlPlane | |
apiVersion: controlplane.cluster.x-k8s.io/v1beta1 | |
metadata: | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
spec: | |
version: "${KUBERNETES_VERSION}" | |
replicas: ${CONTROL_PLANE_MACHINE_COUNT} | |
machineTemplate: | |
infrastructureRef: | |
kind: OCIMachineTemplate | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
kubeadmConfigSpec: | |
clusterConfiguration: | |
kubernetesVersion: ${KUBERNETES_VERSION} | |
apiServer: | |
certSANs: [localhost, 127.0.0.1] | |
dns: {} | |
etcd: {} | |
networking: {} | |
scheduler: {} | |
initConfiguration: | |
nodeRegistration: | |
criSocket: /var/run/containerd/containerd.sock | |
kubeletExtraArgs: | |
cloud-provider: external | |
provider-id: oci://{{ ds["id"] }} | |
joinConfiguration: | |
discovery: {} | |
nodeRegistration: | |
criSocket: /var/run/containerd/containerd.sock | |
kubeletExtraArgs: | |
cloud-provider: external | |
preKubeadmCommands: | |
- sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab | |
- swapoff -a | |
--- | |
kind: OCIMachineTemplate | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
metadata: | |
name: "${CLUSTER_NAME}-control-plane" | |
spec: | |
template: | |
spec: | |
imageId: "${OCI_IMAGE_ID}" | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
shape: "${OCI_CONTROL_PLANE_SHAPE=VM.Standard.E4.Flex}" | |
shapeConfig: | |
ocpus: "${OCI_CONTROL_PLANE_SHAPE_OCPUS=1}" | |
metadata: | |
ssh_authorized_keys: "${OCI_SSH_KEY}" | |
isPvEncryptionInTransitEnabled: ${OCI_CONTROL_PLANE_PV_TRANSIT_ENCRYPTION=true} | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCIMachineTemplate | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
template: | |
spec: | |
imageId: "${OCI_IMAGE_ID}" | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
shape: "${OCI_WORKER_SHAPE=VM.Standard.E4.Flex}" | |
shapeConfig: | |
ocpus: "${OCI_WORKER_SHAPE_OCPUS=1}" | |
metadata: | |
ssh_authorized_keys: "${OCI_SSH_KEY}" | |
isPvEncryptionInTransitEnabled: ${OCI_NODE_PV_TRANSIT_ENCRYPTION=true} | |
--- | |
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha4 | |
kind: KubeadmConfigTemplate | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
template: | |
spec: | |
joinConfiguration: | |
nodeRegistration: | |
kubeletExtraArgs: | |
cloud-provider: external | |
provider-id: oci://{{ ds["id"] }} | |
preKubeadmCommands: | |
- sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab | |
- swapoff -a | |
--- | |
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: MachineDeployment | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
clusterName: "${CLUSTER_NAME}" | |
replicas: ${WORKER_MACHINE_COUNT} | |
selector: | |
matchLabels: | |
template: | |
spec: | |
clusterName: "${CLUSTER_NAME}" | |
version: "${KUBERNETES_VERSION}" | |
bootstrap: | |
configRef: | |
name: "${CLUSTER_NAME}-md-0" | |
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 | |
kind: KubeadmConfigTemplate | |
infrastructureRef: | |
name: "${CLUSTER_NAME}-md-0" | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCIMachineTemplate | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: Cluster | |
metadata: | |
labels: | |
cluster.x-k8s.io/cluster-name: "${CLUSTER_NAME}" | |
name: "${CLUSTER_NAME}" | |
namespace: "${NAMESPACE}" | |
spec: | |
clusterNetwork: | |
pods: | |
cidrBlocks: | |
- ${POD_CIDR:="192.168.0.0/16"} | |
serviceDomain: ${SERVICE_DOMAIN:="cluster.local"} | |
services: | |
cidrBlocks: | |
- ${SERVICE_CIDR:="10.128.0.0/12"} | |
infrastructureRef: | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCICluster | |
name: "${CLUSTER_NAME}" | |
namespace: "${NAMESPACE}" | |
controlPlaneRef: | |
apiVersion: controlplane.cluster.x-k8s.io/v1beta1 | |
kind: KubeadmControlPlane | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCICluster | |
metadata: | |
labels: | |
cluster.x-k8s.io/cluster-name: "${CLUSTER_NAME}" | |
name: "${CLUSTER_NAME}" | |
spec: | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
--- | |
kind: KubeadmControlPlane | |
apiVersion: controlplane.cluster.x-k8s.io/v1beta1 | |
metadata: | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
spec: | |
version: "${KUBERNETES_VERSION}" | |
replicas: ${CONTROL_PLANE_MACHINE_COUNT} | |
machineTemplate: | |
infrastructureRef: | |
kind: OCIMachineTemplate | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
name: "${CLUSTER_NAME}-control-plane" | |
namespace: "${NAMESPACE}" | |
kubeadmConfigSpec: | |
clusterConfiguration: | |
kubernetesVersion: ${KUBERNETES_VERSION} | |
apiServer: | |
certSANs: [localhost, 127.0.0.1] | |
dns: {} | |
etcd: {} | |
networking: {} | |
scheduler: {} | |
initConfiguration: | |
nodeRegistration: | |
criSocket: /var/run/containerd/containerd.sock | |
kubeletExtraArgs: | |
cloud-provider: external | |
provider-id: oci://{{ ds["id"] }} | |
joinConfiguration: | |
discovery: {} | |
nodeRegistration: | |
criSocket: /var/run/containerd/containerd.sock | |
kubeletExtraArgs: | |
cloud-provider: external | |
provider-id: oci://{{ ds["id"] }} | |
--- | |
kind: OCIMachineTemplate | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
metadata: | |
name: "${CLUSTER_NAME}-control-plane" | |
spec: | |
template: | |
spec: | |
imageId: "${OCI_IMAGE_ID}" | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
shape: "${OCI_CONTROL_PLANE_MACHINE_SHAPE=VM.Standard.E4.Flex}" | |
shapeConfig: | |
ocpus: "${OCI_CONTROL_PLANE_MACHINE_SHAPE_OCPUS=1}" | |
metadata: | |
ssh_authorized_keys: "${OCI_SSH_KEY}" | |
isPvEncryptionInTransitEnabled: ${OCI_CONTROL_PLANE_PV_TRANSIT_ENCRYPTION=true} | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCIMachineTemplate | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
template: | |
spec: | |
imageId: "${OCI_IMAGE_ID}" | |
compartmentId: "${OCI_COMPARTMENT_ID}" | |
shape: "${OCI_NODE_MACHINE_SHAPE=VM.Standard.E4.Flex}" | |
shapeConfig: | |
ocpus: "${OCI_NODE_MACHINE_SHAPE_OCPUS=1}" | |
metadata: | |
ssh_authorized_keys: "${OCI_SSH_KEY}" | |
isPvEncryptionInTransitEnabled: ${OCI_NODE_PV_TRANSIT_ENCRYPTION=true} | |
--- | |
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha4 | |
kind: KubeadmConfigTemplate | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
template: | |
spec: | |
joinConfiguration: | |
nodeRegistration: | |
kubeletExtraArgs: | |
cloud-provider: external | |
provider-id: oci://{{ ds["id"] }} | |
--- | |
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: MachineDeployment | |
metadata: | |
name: "${CLUSTER_NAME}-md-0" | |
spec: | |
clusterName: "${CLUSTER_NAME}" | |
replicas: ${NODE_MACHINE_COUNT} | |
selector: | |
matchLabels: | |
template: | |
spec: | |
clusterName: "${CLUSTER_NAME}" | |
version: "${KUBERNETES_VERSION}" | |
bootstrap: | |
configRef: | |
name: "${CLUSTER_NAME}-md-0" | |
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1 | |
kind: KubeadmConfigTemplate | |
infrastructureRef: | |
name: "${CLUSTER_NAME}-md-0" | |
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1 | |
kind: OCIMachineTemplate |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment