From aa92239bafd3c4598bcf5b5bd60cf4742ea12944 Mon Sep 17 00:00:00 2001 From: Yolanda Robla Date: Mon, 11 Mar 2019 13:38:58 +0100 Subject: [PATCH] Add initial config and manifests Co-Authored-By: Ricardo Noriega Co-Authored-By: Aaron Smith Change-Id: I4d1738b1e0f28b9bfabc10e8557595c624b14a5e --- aws/1-node/install-config.yaml.go | 26 ++++ .../04-openshift-machine-config-operator.yaml | 7 + aws/1-node/manifests/cluster-config.yaml | 32 +++++ aws/1-node/manifests/cluster-dns-02-config.yml | 15 +++ .../manifests/cluster-infrastructure-02-config.yml | 10 ++ aws/1-node/manifests/cluster-ingress-02-config.yml | 8 ++ aws/1-node/manifests/cluster-network-01-crd.yml | 21 +++ aws/1-node/manifests/cluster-network-02-config.yml | 17 +++ aws/1-node/manifests/cvo-overrides.yaml | 9 ++ aws/1-node/manifests/etcd-service.yaml | 15 +++ .../manifests/host-etcd-service-endpoints.yaml | 15 +++ aws/1-node/manifests/host-etcd-service.yaml | 14 ++ aws/1-node/manifests/kube-cloud-config.yaml | 8 ++ .../kube-system-configmap-etcd-serving-ca.yaml | 8 ++ .../manifests/kube-system-configmap-root-ca.yaml | 8 ++ .../manifests/kube-system-secret-etcd-client.yaml | 9 ++ .../machine-config-server-tls-secret.yaml | 9 ++ aws/1-node/manifests/pull.json | 12 ++ aws/1-node/openshift/99_binding-discovery.yaml | 13 ++ aws/1-node/openshift/99_cloud-creds-secret.yaml | 8 ++ .../openshift/99_kubeadmin-password-secret.yaml | 7 + .../99_openshift-cluster-api_cluster.yaml | 17 +++ ...99_openshift-cluster-api_master-machines-0.yaml | 59 +++++++++ ...nshift-cluster-api_master-user-data-secret.yaml | 16 +++ ...99_openshift-cluster-api_worker-machineset.yaml | 142 +++++++++++++++++++++ ...nshift-cluster-api_worker-user-data-secret.yaml | 15 +++ .../99_role-cloud-creds-secret-reader.yaml | 10 ++ aws/3-node/install-config.yaml.go | 26 ++++ .../04-openshift-machine-config-operator.yaml | 7 + aws/3-node/manifests/cluster-config.yaml | 33 +++++ aws/3-node/manifests/cluster-dns-02-config.yml | 14 ++ .../manifests/cluster-infrastructure-02-config.yml | 10 ++ aws/3-node/manifests/cluster-ingress-02-config.yml | 8 ++ aws/3-node/manifests/cluster-network-01-crd.yml | 21 +++ aws/3-node/manifests/cluster-network-02-config.yml | 17 +++ aws/3-node/manifests/cvo-overrides.yaml | 9 ++ aws/3-node/manifests/etcd-service.yaml | 15 +++ .../manifests/host-etcd-service-endpoints.yaml | 19 +++ aws/3-node/manifests/host-etcd-service.yaml | 14 ++ aws/3-node/manifests/kube-cloud-config.yaml | 8 ++ .../kube-system-configmap-etcd-serving-ca.yaml | 8 ++ .../manifests/kube-system-configmap-root-ca.yaml | 8 ++ .../manifests/kube-system-secret-etcd-client.yaml | 9 ++ .../machine-config-server-tls-secret.yaml | 9 ++ aws/3-node/manifests/pull.json | 12 ++ aws/3-node/openshift/99_binding-discovery.yaml | 13 ++ aws/3-node/openshift/99_cloud-creds-secret.yaml | 8 ++ .../openshift/99_kubeadmin-password-secret.yaml | 7 + .../99_openshift-cluster-api_cluster.yaml | 17 +++ ...99_openshift-cluster-api_master-machines-0.yaml | 57 +++++++++ ...99_openshift-cluster-api_master-machines-1.yaml | 57 +++++++++ ...99_openshift-cluster-api_master-machines-2.yaml | 57 +++++++++ ...nshift-cluster-api_master-user-data-secret.yaml | 15 +++ ...99_openshift-cluster-api_worker-machineset.yaml | 138 ++++++++++++++++++++ ...nshift-cluster-api_worker-user-data-secret.yaml | 15 +++ .../99_role-cloud-creds-secret-reader.yaml | 10 ++ aws/sample_settings.yaml | 9 ++ libvirt/1-node/install-config.yaml.go | 26 ++++ .../04-openshift-machine-config-operator.yaml | 7 + libvirt/1-node/manifests/cluster-config.yaml | 35 +++++ libvirt/1-node/manifests/cluster-dns-02-config.yml | 8 ++ .../manifests/cluster-infrastructure-02-config.yml | 10 ++ .../1-node/manifests/cluster-ingress-02-config.yml | 8 ++ .../1-node/manifests/cluster-network-01-crd.yml | 21 +++ .../1-node/manifests/cluster-network-02-config.yml | 17 +++ libvirt/1-node/manifests/cvo-overrides.yaml | 9 ++ libvirt/1-node/manifests/etcd-service.yaml | 15 +++ .../manifests/host-etcd-service-endpoints.yaml | 15 +++ libvirt/1-node/manifests/host-etcd-service.yaml | 14 ++ libvirt/1-node/manifests/kube-cloud-config.yaml | 8 ++ .../kube-system-configmap-etcd-serving-ca.yaml | 8 ++ .../manifests/kube-system-configmap-root-ca.yaml | 8 ++ .../manifests/kube-system-secret-etcd-client.yaml | 9 ++ .../machine-config-server-tls-secret.yaml | 9 ++ libvirt/1-node/manifests/pull.json | 12 ++ libvirt/1-node/openshift/99_binding-discovery.yaml | 13 ++ .../openshift/99_kubeadmin-password-secret.yaml | 7 + .../99_openshift-cluster-api_cluster.yaml | 17 +++ ...99_openshift-cluster-api_master-machines-0.yaml | 36 ++++++ ...nshift-cluster-api_master-user-data-secret.yaml | 15 +++ ...99_openshift-cluster-api_worker-machineset.yaml | 55 ++++++++ ...nshift-cluster-api_worker-user-data-secret.yaml | 15 +++ libvirt/3-node/install-config.yaml.go | 28 ++++ .../04-openshift-machine-config-operator.yaml | 7 + libvirt/3-node/manifests/cluster-config.yaml | 35 +++++ libvirt/3-node/manifests/cluster-dns-02-config.yml | 8 ++ .../manifests/cluster-infrastructure-02-config.yml | 10 ++ .../3-node/manifests/cluster-ingress-02-config.yml | 8 ++ .../3-node/manifests/cluster-network-01-crd.yml | 21 +++ .../3-node/manifests/cluster-network-02-config.yml | 17 +++ libvirt/3-node/manifests/cvo-overrides.yaml | 9 ++ libvirt/3-node/manifests/etcd-service.yaml | 15 +++ .../manifests/host-etcd-service-endpoints.yaml | 19 +++ libvirt/3-node/manifests/host-etcd-service.yaml | 14 ++ libvirt/3-node/manifests/kube-cloud-config.yaml | 8 ++ .../kube-system-configmap-etcd-serving-ca.yaml | 8 ++ .../manifests/kube-system-configmap-root-ca.yaml | 8 ++ .../manifests/kube-system-secret-etcd-client.yaml | 9 ++ .../machine-config-server-tls-secret.yaml | 9 ++ libvirt/3-node/manifests/pull.json | 12 ++ libvirt/3-node/openshift/99_binding-discovery.yaml | 13 ++ .../openshift/99_kubeadmin-password-secret.yaml | 7 + .../99_openshift-cluster-api_cluster.yaml | 17 +++ ...99_openshift-cluster-api_master-machines-0.yaml | 36 ++++++ ...99_openshift-cluster-api_master-machines-1.yaml | 36 ++++++ ...99_openshift-cluster-api_master-machines-2.yaml | 36 ++++++ ...nshift-cluster-api_master-user-data-secret.yaml | 15 +++ ...99_openshift-cluster-api_worker-machineset.yaml | 55 ++++++++ ...nshift-cluster-api_worker-user-data-secret.yaml | 15 +++ libvirt/sample_settings.yaml | 9 ++ 110 files changed, 2061 insertions(+) create mode 100644 aws/1-node/install-config.yaml.go create mode 100644 aws/1-node/manifests/04-openshift-machine-config-operator.yaml create mode 100644 aws/1-node/manifests/cluster-config.yaml create mode 100644 aws/1-node/manifests/cluster-dns-02-config.yml create mode 100644 aws/1-node/manifests/cluster-infrastructure-02-config.yml create mode 100644 aws/1-node/manifests/cluster-ingress-02-config.yml create mode 100644 aws/1-node/manifests/cluster-network-01-crd.yml create mode 100644 aws/1-node/manifests/cluster-network-02-config.yml create mode 100644 aws/1-node/manifests/cvo-overrides.yaml create mode 100644 aws/1-node/manifests/etcd-service.yaml create mode 100644 aws/1-node/manifests/host-etcd-service-endpoints.yaml create mode 100644 aws/1-node/manifests/host-etcd-service.yaml create mode 100644 aws/1-node/manifests/kube-cloud-config.yaml create mode 100644 aws/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml create mode 100644 aws/1-node/manifests/kube-system-configmap-root-ca.yaml create mode 100644 aws/1-node/manifests/kube-system-secret-etcd-client.yaml create mode 100644 aws/1-node/manifests/machine-config-server-tls-secret.yaml create mode 100644 aws/1-node/manifests/pull.json create mode 100644 aws/1-node/openshift/99_binding-discovery.yaml create mode 100644 aws/1-node/openshift/99_cloud-creds-secret.yaml create mode 100644 aws/1-node/openshift/99_kubeadmin-password-secret.yaml create mode 100644 aws/1-node/openshift/99_openshift-cluster-api_cluster.yaml create mode 100644 aws/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml create mode 100644 aws/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml create mode 100644 aws/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml create mode 100644 aws/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml create mode 100644 aws/1-node/openshift/99_role-cloud-creds-secret-reader.yaml create mode 100644 aws/3-node/install-config.yaml.go create mode 100644 aws/3-node/manifests/04-openshift-machine-config-operator.yaml create mode 100644 aws/3-node/manifests/cluster-config.yaml create mode 100644 aws/3-node/manifests/cluster-dns-02-config.yml create mode 100644 aws/3-node/manifests/cluster-infrastructure-02-config.yml create mode 100644 aws/3-node/manifests/cluster-ingress-02-config.yml create mode 100644 aws/3-node/manifests/cluster-network-01-crd.yml create mode 100644 aws/3-node/manifests/cluster-network-02-config.yml create mode 100644 aws/3-node/manifests/cvo-overrides.yaml create mode 100644 aws/3-node/manifests/etcd-service.yaml create mode 100644 aws/3-node/manifests/host-etcd-service-endpoints.yaml create mode 100644 aws/3-node/manifests/host-etcd-service.yaml create mode 100644 aws/3-node/manifests/kube-cloud-config.yaml create mode 100644 aws/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml create mode 100644 aws/3-node/manifests/kube-system-configmap-root-ca.yaml create mode 100644 aws/3-node/manifests/kube-system-secret-etcd-client.yaml create mode 100644 aws/3-node/manifests/machine-config-server-tls-secret.yaml create mode 100644 aws/3-node/manifests/pull.json create mode 100644 aws/3-node/openshift/99_binding-discovery.yaml create mode 100644 aws/3-node/openshift/99_cloud-creds-secret.yaml create mode 100644 aws/3-node/openshift/99_kubeadmin-password-secret.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_cluster.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml create mode 100644 aws/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml create mode 100644 aws/3-node/openshift/99_role-cloud-creds-secret-reader.yaml create mode 100644 aws/sample_settings.yaml create mode 100644 libvirt/1-node/install-config.yaml.go create mode 100644 libvirt/1-node/manifests/04-openshift-machine-config-operator.yaml create mode 100644 libvirt/1-node/manifests/cluster-config.yaml create mode 100644 libvirt/1-node/manifests/cluster-dns-02-config.yml create mode 100644 libvirt/1-node/manifests/cluster-infrastructure-02-config.yml create mode 100644 libvirt/1-node/manifests/cluster-ingress-02-config.yml create mode 100644 libvirt/1-node/manifests/cluster-network-01-crd.yml create mode 100644 libvirt/1-node/manifests/cluster-network-02-config.yml create mode 100644 libvirt/1-node/manifests/cvo-overrides.yaml create mode 100644 libvirt/1-node/manifests/etcd-service.yaml create mode 100644 libvirt/1-node/manifests/host-etcd-service-endpoints.yaml create mode 100644 libvirt/1-node/manifests/host-etcd-service.yaml create mode 100644 libvirt/1-node/manifests/kube-cloud-config.yaml create mode 100644 libvirt/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml create mode 100644 libvirt/1-node/manifests/kube-system-configmap-root-ca.yaml create mode 100644 libvirt/1-node/manifests/kube-system-secret-etcd-client.yaml create mode 100644 libvirt/1-node/manifests/machine-config-server-tls-secret.yaml create mode 100644 libvirt/1-node/manifests/pull.json create mode 100644 libvirt/1-node/openshift/99_binding-discovery.yaml create mode 100644 libvirt/1-node/openshift/99_kubeadmin-password-secret.yaml create mode 100644 libvirt/1-node/openshift/99_openshift-cluster-api_cluster.yaml create mode 100644 libvirt/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml create mode 100644 libvirt/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml create mode 100644 libvirt/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml create mode 100644 libvirt/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml create mode 100644 libvirt/3-node/install-config.yaml.go create mode 100644 libvirt/3-node/manifests/04-openshift-machine-config-operator.yaml create mode 100644 libvirt/3-node/manifests/cluster-config.yaml create mode 100644 libvirt/3-node/manifests/cluster-dns-02-config.yml create mode 100644 libvirt/3-node/manifests/cluster-infrastructure-02-config.yml create mode 100644 libvirt/3-node/manifests/cluster-ingress-02-config.yml create mode 100644 libvirt/3-node/manifests/cluster-network-01-crd.yml create mode 100644 libvirt/3-node/manifests/cluster-network-02-config.yml create mode 100644 libvirt/3-node/manifests/cvo-overrides.yaml create mode 100644 libvirt/3-node/manifests/etcd-service.yaml create mode 100644 libvirt/3-node/manifests/host-etcd-service-endpoints.yaml create mode 100644 libvirt/3-node/manifests/host-etcd-service.yaml create mode 100644 libvirt/3-node/manifests/kube-cloud-config.yaml create mode 100644 libvirt/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml create mode 100644 libvirt/3-node/manifests/kube-system-configmap-root-ca.yaml create mode 100644 libvirt/3-node/manifests/kube-system-secret-etcd-client.yaml create mode 100644 libvirt/3-node/manifests/machine-config-server-tls-secret.yaml create mode 100644 libvirt/3-node/manifests/pull.json create mode 100644 libvirt/3-node/openshift/99_binding-discovery.yaml create mode 100644 libvirt/3-node/openshift/99_kubeadmin-password-secret.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_cluster.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml create mode 100644 libvirt/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml create mode 100644 libvirt/sample_settings.yaml diff --git a/aws/1-node/install-config.yaml.go b/aws/1-node/install-config.yaml.go new file mode 100644 index 0000000..2c14303 --- /dev/null +++ b/aws/1-node/install-config.yaml.go @@ -0,0 +1,26 @@ +apiVersion: v1beta3 +baseDomain: {{ .baseDomain }} +compute: +- name: worker + platform: {} + replicas: 1 +controlPlane: + name: master + platform: {} + replicas: 1 +metadata: + creationTimestamp: null + name: {{ .clusterName }} +networking: + clusterNetworks: + - cidr: {{ .clusterCIDR }} + hostSubnetLength: {{ .clusterSubnetLength }} + machineCIDR: {{ .machineCIDR }} + serviceCIDR: {{ .serviceCIDR }} + type: {{ .SDNType }} +platform: + aws: + region: {{ .AWSRegion }} +pullSecret: '{{ .pullSecret }}' +sshKey: | + {{ .SSHKey }} diff --git a/aws/1-node/manifests/04-openshift-machine-config-operator.yaml b/aws/1-node/manifests/04-openshift-machine-config-operator.yaml new file mode 100644 index 0000000..83c8515 --- /dev/null +++ b/aws/1-node/manifests/04-openshift-machine-config-operator.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-machine-config-operator + labels: + name: openshift-machine-config-operator + openshift.io/run-level: "1" diff --git a/aws/1-node/manifests/cluster-config.yaml b/aws/1-node/manifests/cluster-config.yaml new file mode 100644 index 0000000..b7b4d75 --- /dev/null +++ b/aws/1-node/manifests/cluster-config.yaml @@ -0,0 +1,32 @@ +apiVersion: v1 +data: + install-config: | + apiVersion: v1beta3 + baseDomain: {{ settings.baseDomain }} + compute: + - name: worker + platform: {} + replicas: 1 + controlPlane: + name: master + platform: {} + replicas: 1 + metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + networking: + clusterNetworks: + - cidr: {{ settings.clusterCIDR }} + hostSubnetLength: {{ settings.hostSubnetLength }} + machineCIDR: {{ settings.machineCIDR }} + serviceCIDR: {{ settings.serviceCIDR }} + type: {{ settings.SDNType}} + platform: + aws: + region: {{ settings.region }} + pullSecret: '{{ settings.pullSecret }}' + sshKey: | + {{ settings.sshKey }} +metadata: + name: cluster-config-v1 + namespace: kube-system diff --git a/aws/1-node/manifests/cluster-dns-02-config.yml b/aws/1-node/manifests/cluster-dns-02-config.yml new file mode 100644 index 0000000..9669c9e --- /dev/null +++ b/aws/1-node/manifests/cluster-dns-02-config.yml @@ -0,0 +1,15 @@ +apiVersion: config.openshift.io/v1 +kind: DNS +metadata: + creationTimestamp: null + name: cluster +spec: + baseDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} + privateZone: + tags: + Name: {{ settings.clusterName }}_int + kubernetes.io/cluster/{{ settings.clusterName }}: owned + openshiftClusterID: {{ settings.clusterID }} + publicZone: + id: {{ settings.publicZoneID }} +status: {} diff --git a/aws/1-node/manifests/cluster-infrastructure-02-config.yml b/aws/1-node/manifests/cluster-infrastructure-02-config.yml new file mode 100644 index 0000000..e3fec3e --- /dev/null +++ b/aws/1-node/manifests/cluster-infrastructure-02-config.yml @@ -0,0 +1,10 @@ +apiVersion: config.openshift.io/v1 +kind: Infrastructure +metadata: + creationTimestamp: null + name: cluster +spec: {} +status: + apiServerURL: https://api.{{ settings.clusterName}}.{{ settings.baseDomain }}:6443 + etcdDiscoveryDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} + platform: AWS diff --git a/aws/1-node/manifests/cluster-ingress-02-config.yml b/aws/1-node/manifests/cluster-ingress-02-config.yml new file mode 100644 index 0000000..a72a0de --- /dev/null +++ b/aws/1-node/manifests/cluster-ingress-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: Ingress +metadata: + creationTimestamp: null + name: cluster +spec: + domain: apps.{{ settings.clusterName }}.{{ settings.BaseDomain }} +status: {} diff --git a/aws/1-node/manifests/cluster-network-01-crd.yml b/aws/1-node/manifests/cluster-network-01-crd.yml new file mode 100644 index 0000000..59076ce --- /dev/null +++ b/aws/1-node/manifests/cluster-network-01-crd.yml @@ -0,0 +1,21 @@ + +--- +# This is the advanced network configuration CRD +# Only necessary if you need to tweak certain settings. +# See https://github.com/openshift/cluster-network-operator#configuring +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networkconfigs.networkoperator.openshift.io +spec: + group: networkoperator.openshift.io + names: + kind: NetworkConfig + listKind: NetworkConfigList + plural: networkconfigs + singular: networkconfig + scope: Cluster + versions: + - name: v1 + served: true + storage: true diff --git a/aws/1-node/manifests/cluster-network-02-config.yml b/aws/1-node/manifests/cluster-network-02-config.yml new file mode 100644 index 0000000..a1ce3a3 --- /dev/null +++ b/aws/1-node/manifests/cluster-network-02-config.yml @@ -0,0 +1,17 @@ +apiVersion: config.openshift.io/v1 +kind: Network +metadata: + creationTimestamp: null + name: cluster +spec: + clusterNetwork: + - cidr: {{ settings.clusterCIDR }} + hostPrefix: 23 + networkType: {{ settings.SDNType }} + serviceNetwork: + - {{ settings.serviceNetworkCIDR }} +status: + clusterNetwork: null + clusterNetworkMTU: 0 + networkType: "" + serviceNetwork: null diff --git a/aws/1-node/manifests/cvo-overrides.yaml b/aws/1-node/manifests/cvo-overrides.yaml new file mode 100644 index 0000000..b599042 --- /dev/null +++ b/aws/1-node/manifests/cvo-overrides.yaml @@ -0,0 +1,9 @@ +apiVersion: config.openshift.io/v1 +kind: ClusterVersion +metadata: + namespace: openshift-cluster-version + name: version +spec: + upstream: https://api.openshift.com/api/upgrades_info/v1/graph + channel: stable-4.0 + clusterID: 984b7e11-bfd5-4494-a508-f7ce8b972474 diff --git a/aws/1-node/manifests/etcd-service.yaml b/aws/1-node/manifests/etcd-service.yaml new file mode 100644 index 0000000..9a24566 --- /dev/null +++ b/aws/1-node/manifests/etcd-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + selector: + k8s-app: etcd + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/1-node/manifests/host-etcd-service-endpoints.yaml b/aws/1-node/manifests/host-etcd-service-endpoints.yaml new file mode 100644 index 0000000..f7cc6bf --- /dev/null +++ b/aws/1-node/manifests/host-etcd-service-endpoints.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: host-etcd + namespace: kube-system + annotations: + alpha.installer.openshift.io/dns-suffix: {{ settings.clusterName }}.{{ settings.baseDomain }} +subsets: +- addresses: + - ip: 192.0.2.1 + hostname: etcd-0 + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/1-node/manifests/host-etcd-service.yaml b/aws/1-node/manifests/host-etcd-service.yaml new file mode 100644 index 0000000..348a29b --- /dev/null +++ b/aws/1-node/manifests/host-etcd-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: host-etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + clusterIP: None + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/1-node/manifests/kube-cloud-config.yaml b/aws/1-node/manifests/kube-cloud-config.yaml new file mode 100644 index 0000000..b42fdad --- /dev/null +++ b/aws/1-node/manifests/kube-cloud-config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: kube-cloud-cfg + namespace: kube-system +type: Opaque +data: + config: "" diff --git a/aws/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml b/aws/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml new file mode 100644 index 0000000..973842f --- /dev/null +++ b/aws/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: etcd-serving-ca + namespace: kube-system +data: + ca-bundle.crt: | + {{ settings.caBundleCRT }} diff --git a/aws/1-node/manifests/kube-system-configmap-root-ca.yaml b/aws/1-node/manifests/kube-system-configmap-root-ca.yaml new file mode 100644 index 0000000..3591c21 --- /dev/null +++ b/aws/1-node/manifests/kube-system-configmap-root-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: root-ca + namespace: kube-system +data: + ca.crt: | + {{ settings.rootCRT }} diff --git a/aws/1-node/manifests/kube-system-secret-etcd-client.yaml b/aws/1-node/manifests/kube-system-secret-etcd-client.yaml new file mode 100644 index 0000000..dd068e1 --- /dev/null +++ b/aws/1-node/manifests/kube-system-secret-etcd-client.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: etcd-client + namespace: kube-system +type: SecretTypeTLS +data: + tls.crt: {{ settings.SecretTLSCRT }} + tls.key: {{ settings.SecretTLSKey }} diff --git a/aws/1-node/manifests/machine-config-server-tls-secret.yaml b/aws/1-node/manifests/machine-config-server-tls-secret.yaml new file mode 100644 index 0000000..854087a --- /dev/null +++ b/aws/1-node/manifests/machine-config-server-tls-secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: machine-config-server-tls + namespace: openshift-machine-config-operator +type: Opaque +data: + tls.crt: {{ settings.MachineTLSCRT }} + tls.key: {{ settings.MachineTLSKey }} diff --git a/aws/1-node/manifests/pull.json b/aws/1-node/manifests/pull.json new file mode 100644 index 0000000..100d7e2 --- /dev/null +++ b/aws/1-node/manifests/pull.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "v1", + "kind": "Secret", + "type": "kubernetes.io/dockerconfigjson", + "metadata": { + "namespace": "kube-system", + "name": "coreos-pull-secret" + }, + "data": { + ".dockerconfigjson": "{{ settings.pullSecret }}" + } +} diff --git a/aws/1-node/openshift/99_binding-discovery.yaml b/aws/1-node/openshift/99_binding-discovery.yaml new file mode 100644 index 0000000..79154a8 --- /dev/null +++ b/aws/1-node/openshift/99_binding-discovery.yaml @@ -0,0 +1,13 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: discovery +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:discovery +subjects: +- kind: Group + name: 'system:unauthenticated' +- kind: Group + name: 'system:authenticated' diff --git a/aws/1-node/openshift/99_cloud-creds-secret.yaml b/aws/1-node/openshift/99_cloud-creds-secret.yaml new file mode 100644 index 0000000..ef5cd93 --- /dev/null +++ b/aws/1-node/openshift/99_cloud-creds-secret.yaml @@ -0,0 +1,8 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: aws-creds +data: + aws_access_key_id: {{ settings.AWSAccessKey }} + aws_secret_access_key: {{ settings.AWSSecretKey }} diff --git a/aws/1-node/openshift/99_kubeadmin-password-secret.yaml b/aws/1-node/openshift/99_kubeadmin-password-secret.yaml new file mode 100644 index 0000000..228b66d --- /dev/null +++ b/aws/1-node/openshift/99_kubeadmin-password-secret.yaml @@ -0,0 +1,7 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: kubeadmin +data: + kubeadmin: {{ settings.KubeAdminPassword }} diff --git a/aws/1-node/openshift/99_openshift-cluster-api_cluster.yaml b/aws/1-node/openshift/99_openshift-cluster-api_cluster.yaml new file mode 100644 index 0000000..9fd5ef1 --- /dev/null +++ b/aws/1-node/openshift/99_openshift-cluster-api_cluster.yaml @@ -0,0 +1,17 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Cluster +metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + namespace: openshift-machine-api +spec: + clusterNetwork: + pods: + cidrBlocks: + - {{ settings.clusterCIDR }} + serviceDomain: "" + services: + cidrBlocks: + - {{ settings.serviceCIDR }} + providerSpec: {} +status: {} diff --git a/aws/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml b/aws/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml new file mode 100644 index 0000000..0316dbf --- /dev/null +++ b/aws/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml @@ -0,0 +1,59 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-0 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-master-profile + instanceType: m4.xlarge + kind: AWSMachineProviderConfig + loadBalancers: + - name: {{ settings.clusterName }}-ext + type: network + - name: {{ settings.clusterName }}-int + type: network + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSAvailabilityZone }} + region: {{ settings.AWSRegion }} + publicIp: true + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}_master_sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSAvailabilityZone }} + tags: + - name: openshiftClusterID + value: {{ settings.clusterID }} + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: master-user-data + versions: + kubelet: "" +status: {} diff --git a/aws/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml b/aws/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml new file mode 100644 index 0000000..3d40d47 --- /dev/null +++ b/aws/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml @@ -0,0 +1,16 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: master-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.masterUserData }} + diff --git a/aws/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml b/aws/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml new file mode 100644 index 0000000..fb458d4 --- /dev/null +++ b/aws/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml @@ -0,0 +1,142 @@ +apiVersion: v1 +items: +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + namespace: openshift-machine-api + spec: + replicas: 1 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-worker-profile + instanceType: m4.large + kind: AWSMachineProviderConfig + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSAvailabilityZone }} + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}_worker_sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSAvailabilityZone }} + tags: + - name: openshiftClusterID + value: {{ settings.clusterID }} + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: worker-user-data + versions: + kubelet: "" + status: + replicas: 0 +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + namespace: openshift-machine-api + spec: + replicas: 0 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSAvailabilityZone }} + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-worker-profile + instanceType: m4.large + kind: AWSMachineProviderConfig + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSAvailabilityZone }} + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}_worker_sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSAvailabilityZone }} + tags: + - name: openshiftClusterID + value: {{ settings.clusterID }} + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: worker-user-data + versions: + kubelet: "" + status: + replicas: 0 +kind: List +metadata: {} diff --git a/aws/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml b/aws/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml new file mode 100644 index 0000000..e57fbc4 --- /dev/null +++ b/aws/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: worker-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.workerUserData }} diff --git a/aws/1-node/openshift/99_role-cloud-creds-secret-reader.yaml b/aws/1-node/openshift/99_role-cloud-creds-secret-reader.yaml new file mode 100644 index 0000000..35d5771 --- /dev/null +++ b/aws/1-node/openshift/99_role-cloud-creds-secret-reader.yaml @@ -0,0 +1,10 @@ +kind: Role +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + namespace: kube-system + name: aws-creds-secret-reader +rules: +- apiGroups: [""] + resources: ["secrets"] + resourceNames: ["aws-creds"] + verbs: ["get"] diff --git a/aws/3-node/install-config.yaml.go b/aws/3-node/install-config.yaml.go new file mode 100644 index 0000000..df00281 --- /dev/null +++ b/aws/3-node/install-config.yaml.go @@ -0,0 +1,26 @@ +apiVersion: v1beta3 +baseDomain: {{ .baseDomain }} +compute: +- name: worker + platform: {} + replicas: 3 +controlPlane: + name: master + platform: {} + replicas: 3 +metadata: + creationTimestamp: null + name: {{ .clusterName }} +networking: + clusterNetworks: + - cidr: {{ .clusterCIDR }} + hostSubnetLength: {{ .clusterSubnetLength }} + machineCIDR: {{ .machineCIDR }} + serviceCIDR: {{ .serviceCIDR }} + type: {{ .SDNType }} +platform: + aws: + region: {{ .AWSRegion }} +pullSecret: '{{ .pullSecret }}' +sshKey: | + {{ .SSHKey }} diff --git a/aws/3-node/manifests/04-openshift-machine-config-operator.yaml b/aws/3-node/manifests/04-openshift-machine-config-operator.yaml new file mode 100644 index 0000000..83c8515 --- /dev/null +++ b/aws/3-node/manifests/04-openshift-machine-config-operator.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-machine-config-operator + labels: + name: openshift-machine-config-operator + openshift.io/run-level: "1" diff --git a/aws/3-node/manifests/cluster-config.yaml b/aws/3-node/manifests/cluster-config.yaml new file mode 100644 index 0000000..17a2a70 --- /dev/null +++ b/aws/3-node/manifests/cluster-config.yaml @@ -0,0 +1,33 @@ +apiVersion: v1 +data: + install-config: | + apiVersion: v1beta3 + baseDomain: {{ settings.baseDomain }} + compute: + - name: worker + platform: {} + replicas: {{ settings.numWorkers }} + controlPlane: + name: master + platform: {} + replicas: 3 + metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + networking: + clusterNetworks: + - cidr: {{ settings.clusterCIDR }} + hostSubnetLength: {{ settings.hostSubnetLength }} + machineCIDR: {{ settings.machineCIDR }} + serviceCIDR: {{ settings.serviceCIDR }} + type: {{ settings.SDNType}} + platform: + aws: + region: {{ settings.AWSRegion }} + pullSecret: '{{ settings.pullSecret }}' + sshKey: | + {{ settings.sshKey }} +kind: ConfigMap +metadata: + name: cluster-config-v1 + namespace: kube-system diff --git a/aws/3-node/manifests/cluster-dns-02-config.yml b/aws/3-node/manifests/cluster-dns-02-config.yml new file mode 100644 index 0000000..5115983 --- /dev/null +++ b/aws/3-node/manifests/cluster-dns-02-config.yml @@ -0,0 +1,14 @@ +apiVersion: config.openshift.io/v1 +kind: DNS +metadata: + creationTimestamp: null + name: cluster +spec: + baseDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} + privateZone: + tags: + Name: {{ settings.clusterName }}-int + kubernetes.io/cluster/{{ settings.clusterName }}: owned + publicZone: + id: {{ settings.AWSDNSZoneID }} +status: {} diff --git a/aws/3-node/manifests/cluster-infrastructure-02-config.yml b/aws/3-node/manifests/cluster-infrastructure-02-config.yml new file mode 100644 index 0000000..078cde8 --- /dev/null +++ b/aws/3-node/manifests/cluster-infrastructure-02-config.yml @@ -0,0 +1,10 @@ +apiVersion: config.openshift.io/v1 +kind: Infrastructure +metadata: + creationTimestamp: null + name: cluster +spec: {} +status: + apiServerURL: https://api.{{ settings.clusterName}}.{{ settings.baseDomain }}:6443 + etcdDiscoveryDomain: {{ settings.clusterName}}.{{ settings.baseDomain }} + platform: AWS diff --git a/aws/3-node/manifests/cluster-ingress-02-config.yml b/aws/3-node/manifests/cluster-ingress-02-config.yml new file mode 100644 index 0000000..a72a0de --- /dev/null +++ b/aws/3-node/manifests/cluster-ingress-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: Ingress +metadata: + creationTimestamp: null + name: cluster +spec: + domain: apps.{{ settings.clusterName }}.{{ settings.BaseDomain }} +status: {} diff --git a/aws/3-node/manifests/cluster-network-01-crd.yml b/aws/3-node/manifests/cluster-network-01-crd.yml new file mode 100644 index 0000000..59076ce --- /dev/null +++ b/aws/3-node/manifests/cluster-network-01-crd.yml @@ -0,0 +1,21 @@ + +--- +# This is the advanced network configuration CRD +# Only necessary if you need to tweak certain settings. +# See https://github.com/openshift/cluster-network-operator#configuring +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networkconfigs.networkoperator.openshift.io +spec: + group: networkoperator.openshift.io + names: + kind: NetworkConfig + listKind: NetworkConfigList + plural: networkconfigs + singular: networkconfig + scope: Cluster + versions: + - name: v1 + served: true + storage: true diff --git a/aws/3-node/manifests/cluster-network-02-config.yml b/aws/3-node/manifests/cluster-network-02-config.yml new file mode 100644 index 0000000..a1ce3a3 --- /dev/null +++ b/aws/3-node/manifests/cluster-network-02-config.yml @@ -0,0 +1,17 @@ +apiVersion: config.openshift.io/v1 +kind: Network +metadata: + creationTimestamp: null + name: cluster +spec: + clusterNetwork: + - cidr: {{ settings.clusterCIDR }} + hostPrefix: 23 + networkType: {{ settings.SDNType }} + serviceNetwork: + - {{ settings.serviceNetworkCIDR }} +status: + clusterNetwork: null + clusterNetworkMTU: 0 + networkType: "" + serviceNetwork: null diff --git a/aws/3-node/manifests/cvo-overrides.yaml b/aws/3-node/manifests/cvo-overrides.yaml new file mode 100644 index 0000000..10bf85d --- /dev/null +++ b/aws/3-node/manifests/cvo-overrides.yaml @@ -0,0 +1,9 @@ +apiVersion: config.openshift.io/v1 +kind: ClusterVersion +metadata: + namespace: openshift-cluster-version + name: version +spec: + upstream: https://api.openshift.com/api/upgrades_info/v1/graph + channel: stable-4.0 + clusterID: 27495a50-7c22-4748-b12f-300c63563937 diff --git a/aws/3-node/manifests/etcd-service.yaml b/aws/3-node/manifests/etcd-service.yaml new file mode 100644 index 0000000..9a24566 --- /dev/null +++ b/aws/3-node/manifests/etcd-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + selector: + k8s-app: etcd + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/3-node/manifests/host-etcd-service-endpoints.yaml b/aws/3-node/manifests/host-etcd-service-endpoints.yaml new file mode 100644 index 0000000..f094dcf --- /dev/null +++ b/aws/3-node/manifests/host-etcd-service-endpoints.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: host-etcd + namespace: kube-system + annotations: + alpha.installer.openshift.io/dns-suffix: {{ settings.clusterName }}.{{ settings.BaseDomain }} +subsets: +- addresses: + - ip: 192.0.2.1 + hostname: etcd-0 + - ip: 192.0.2.2 + hostname: etcd-1 + - ip: 192.0.2.3 + hostname: etcd-2 + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/3-node/manifests/host-etcd-service.yaml b/aws/3-node/manifests/host-etcd-service.yaml new file mode 100644 index 0000000..348a29b --- /dev/null +++ b/aws/3-node/manifests/host-etcd-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: host-etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + clusterIP: None + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/aws/3-node/manifests/kube-cloud-config.yaml b/aws/3-node/manifests/kube-cloud-config.yaml new file mode 100644 index 0000000..b42fdad --- /dev/null +++ b/aws/3-node/manifests/kube-cloud-config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: kube-cloud-cfg + namespace: kube-system +type: Opaque +data: + config: "" diff --git a/aws/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml b/aws/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml new file mode 100644 index 0000000..973842f --- /dev/null +++ b/aws/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: etcd-serving-ca + namespace: kube-system +data: + ca-bundle.crt: | + {{ settings.caBundleCRT }} diff --git a/aws/3-node/manifests/kube-system-configmap-root-ca.yaml b/aws/3-node/manifests/kube-system-configmap-root-ca.yaml new file mode 100644 index 0000000..3591c21 --- /dev/null +++ b/aws/3-node/manifests/kube-system-configmap-root-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: root-ca + namespace: kube-system +data: + ca.crt: | + {{ settings.rootCRT }} diff --git a/aws/3-node/manifests/kube-system-secret-etcd-client.yaml b/aws/3-node/manifests/kube-system-secret-etcd-client.yaml new file mode 100644 index 0000000..dd068e1 --- /dev/null +++ b/aws/3-node/manifests/kube-system-secret-etcd-client.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: etcd-client + namespace: kube-system +type: SecretTypeTLS +data: + tls.crt: {{ settings.SecretTLSCRT }} + tls.key: {{ settings.SecretTLSKey }} diff --git a/aws/3-node/manifests/machine-config-server-tls-secret.yaml b/aws/3-node/manifests/machine-config-server-tls-secret.yaml new file mode 100644 index 0000000..854087a --- /dev/null +++ b/aws/3-node/manifests/machine-config-server-tls-secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: machine-config-server-tls + namespace: openshift-machine-config-operator +type: Opaque +data: + tls.crt: {{ settings.MachineTLSCRT }} + tls.key: {{ settings.MachineTLSKey }} diff --git a/aws/3-node/manifests/pull.json b/aws/3-node/manifests/pull.json new file mode 100644 index 0000000..100d7e2 --- /dev/null +++ b/aws/3-node/manifests/pull.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "v1", + "kind": "Secret", + "type": "kubernetes.io/dockerconfigjson", + "metadata": { + "namespace": "kube-system", + "name": "coreos-pull-secret" + }, + "data": { + ".dockerconfigjson": "{{ settings.pullSecret }}" + } +} diff --git a/aws/3-node/openshift/99_binding-discovery.yaml b/aws/3-node/openshift/99_binding-discovery.yaml new file mode 100644 index 0000000..79154a8 --- /dev/null +++ b/aws/3-node/openshift/99_binding-discovery.yaml @@ -0,0 +1,13 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: discovery +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:discovery +subjects: +- kind: Group + name: 'system:unauthenticated' +- kind: Group + name: 'system:authenticated' diff --git a/aws/3-node/openshift/99_cloud-creds-secret.yaml b/aws/3-node/openshift/99_cloud-creds-secret.yaml new file mode 100644 index 0000000..e3de44a --- /dev/null +++ b/aws/3-node/openshift/99_cloud-creds-secret.yaml @@ -0,0 +1,8 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: aws-creds +data: + aws_access_key_id: {{ settings.AWSAccessKey}} + aws_secret_access_key: {{ settings.AWSSecretKey }} diff --git a/aws/3-node/openshift/99_kubeadmin-password-secret.yaml b/aws/3-node/openshift/99_kubeadmin-password-secret.yaml new file mode 100644 index 0000000..228b66d --- /dev/null +++ b/aws/3-node/openshift/99_kubeadmin-password-secret.yaml @@ -0,0 +1,7 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: kubeadmin +data: + kubeadmin: {{ settings.KubeAdminPassword }} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_cluster.yaml b/aws/3-node/openshift/99_openshift-cluster-api_cluster.yaml new file mode 100644 index 0000000..9fd5ef1 --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_cluster.yaml @@ -0,0 +1,17 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Cluster +metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + namespace: openshift-machine-api +spec: + clusterNetwork: + pods: + cidrBlocks: + - {{ settings.clusterCIDR }} + serviceDomain: "" + services: + cidrBlocks: + - {{ settings.serviceCIDR }} + providerSpec: {} +status: {} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml new file mode 100644 index 0000000..e03527d --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml @@ -0,0 +1,57 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-0 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-master-profile + instanceType: m4.xlarge + kind: AWSMachineProviderConfig + loadBalancers: + - name: {{ settings.clusterName }}-ext + type: network + - name: {{ settings.clusterName }}-int + type: network + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSRegion }}a + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-master-sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSRegion }}-1a + tags: + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: master-user-data + versions: + kubelet: "" +status: {} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml new file mode 100644 index 0000000..04cfec2 --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml @@ -0,0 +1,57 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-1 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ AWS.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-master-profile + instanceType: m4.xlarge + kind: AWSMachineProviderConfig + loadBalancers: + - name: {{ settings.clusterName }}-ext + type: network + - name: {{ settings.clusterName }}-int + type: network + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSRegion }}b + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-master-sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSRegion }}b + tags: + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: master-user-data + versions: + kubelet: "" +status: {} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml new file mode 100644 index 0000000..74af9c8 --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml @@ -0,0 +1,57 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-2 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-master-profile + instanceType: m4.xlarge + kind: AWSMachineProviderConfig + loadBalancers: + - name: {{ settings.clusterName }}-ext + type: network + - name: {{ settings.clusterName }}-int + type: network + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSRegion }}a + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-master-sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSRegion }}a + tags: + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: master-user-data + versions: + kubelet: "" +status: {} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml b/aws/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml new file mode 100644 index 0000000..edee210 --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: master-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.masterUserData }} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml b/aws/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml new file mode 100644 index 0000000..84d8c7c --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml @@ -0,0 +1,138 @@ +apiVersion: v1 +items: +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}a + namespace: openshift-machine-api + spec: + replicas: 2 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}a + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}a + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-worker-profile + instanceType: m4.large + kind: AWSMachineProviderConfig + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSRegion }}a + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-worker-sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSRegion }}a + tags: + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: worker-user-data + versions: + kubelet: "" + status: + replicas: 0 +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}b + namespace: openshift-machine-api + spec: + replicas: 1 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}b + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-{{ settings.AWSRegion }}b + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + ami: + id: {{ settings.AmiID }} + apiVersion: awsproviderconfig.openshift.io/v1beta1 + blockDevices: + - ebs: + iops: 0 + volumeSize: 120 + volumeType: gp2 + deviceIndex: 0 + iamInstanceProfile: + id: {{ settings.clusterName }}-worker-profile + instanceType: m4.large + kind: AWSMachineProviderConfig + metadata: + creationTimestamp: null + placement: + availabilityZone: {{ settings.AWSRegion }}b + region: {{ settings.AWSRegion }} + publicIp: null + securityGroups: + - filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-worker-sg + subnet: + filters: + - name: tag:Name + values: + - {{ settings.clusterName }}-private-{{ settings.AWSRegion }}b + tags: + - name: kubernetes.io/cluster/{{ settings.clusterName }} + value: owned + userDataSecret: + name: worker-user-data + versions: + kubelet: "" + status: + replicas: 0 +kind: List +metadata: {} diff --git a/aws/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml b/aws/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml new file mode 100644 index 0000000..e57fbc4 --- /dev/null +++ b/aws/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: worker-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.workerUserData }} diff --git a/aws/3-node/openshift/99_role-cloud-creds-secret-reader.yaml b/aws/3-node/openshift/99_role-cloud-creds-secret-reader.yaml new file mode 100644 index 0000000..35d5771 --- /dev/null +++ b/aws/3-node/openshift/99_role-cloud-creds-secret-reader.yaml @@ -0,0 +1,10 @@ +kind: Role +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + namespace: kube-system + name: aws-creds-secret-reader +rules: +- apiGroups: [""] + resources: ["secrets"] + resourceNames: ["aws-creds"] + verbs: ["get"] diff --git a/aws/sample_settings.yaml b/aws/sample_settings.yaml new file mode 100644 index 0000000..5f99ce8 --- /dev/null +++ b/aws/sample_settings.yaml @@ -0,0 +1,9 @@ +settings: + baseDomain: "devcluster.openshift.com" + clusterName: "kni-edge" + clusterCIDR: "10.128.0.0/14" + clusterSubnetLength: 9 + machineCIDR: "10.0.0.0/16" + serviceCIDR: "172.30.0.0/16" + SDNType: "OpenShiftSDN" + AWSRegion: "us-west-1" diff --git a/libvirt/1-node/install-config.yaml.go b/libvirt/1-node/install-config.yaml.go new file mode 100644 index 0000000..f17b519 --- /dev/null +++ b/libvirt/1-node/install-config.yaml.go @@ -0,0 +1,26 @@ +apiVersion: v1beta3 +baseDomain: {{ .baseDomain }} +compute: +- name: worker + platform: {} + replicas: 1 +controlPlane: + name: master + platform: {} + replicas: 1 +metadata: + creationTimestamp: null + name: {{ .clusterName }} +networking: + clusterNetworks: + - cidr: {{ .clusterCIDR }} + hostSubnetLength: {{ .clusterSubnetLength }} + machineCIDR: {{ .machineCIDR }} + serviceCIDR: {{ .serviceCIDR }} + type: {{ .SDNType }} +platform: + libvirt: + URI: {{ .libvirtURI }} +pullSecret: '{{ .pullSecret }}' +sshKey: | + {{ .SSHKey }} diff --git a/libvirt/1-node/manifests/04-openshift-machine-config-operator.yaml b/libvirt/1-node/manifests/04-openshift-machine-config-operator.yaml new file mode 100644 index 0000000..83c8515 --- /dev/null +++ b/libvirt/1-node/manifests/04-openshift-machine-config-operator.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-machine-config-operator + labels: + name: openshift-machine-config-operator + openshift.io/run-level: "1" diff --git a/libvirt/1-node/manifests/cluster-config.yaml b/libvirt/1-node/manifests/cluster-config.yaml new file mode 100644 index 0000000..11d9d03 --- /dev/null +++ b/libvirt/1-node/manifests/cluster-config.yaml @@ -0,0 +1,35 @@ +apiVersion: v1 +data: + install-config: | + apiVersion: v1beta3 + baseDomain: {{ settings.baseDomain }} + compute: + - name: worker + platform: {} + replicas: {{ settings.numWorkers }} + controlPlane: + name: master + platform: {} + replicas: 1 + metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + networking: + clusterNetworks: + - cidr: {{ settings.clusterCIDR }} + hostSubnetLength: {{ settings.hostSubnetLength }} + machineCIDR: {{ settings.machineCIDR }} + serviceCIDR: {{ settings.serviceCIDR }} + type: {{ settings.SDNType}} + platform: + libvirt: + URI: {{ settings.libvirtURI }} + network: + if: {{ settings.interface }} + pullSecret: '{{ settings.pullSecret }}' + sshKey: | + {{ settings.sshKey }} +kind: ConfigMap +metadata: + name: cluster-config-v1 + namespace: kube-system diff --git a/libvirt/1-node/manifests/cluster-dns-02-config.yml b/libvirt/1-node/manifests/cluster-dns-02-config.yml new file mode 100644 index 0000000..2482ab7 --- /dev/null +++ b/libvirt/1-node/manifests/cluster-dns-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: DNS +metadata: + creationTimestamp: null + name: cluster +spec: + baseDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} +status: {} diff --git a/libvirt/1-node/manifests/cluster-infrastructure-02-config.yml b/libvirt/1-node/manifests/cluster-infrastructure-02-config.yml new file mode 100644 index 0000000..27982e0 --- /dev/null +++ b/libvirt/1-node/manifests/cluster-infrastructure-02-config.yml @@ -0,0 +1,10 @@ +apiVersion: config.openshift.io/v1 +kind: Infrastructure +metadata: + creationTimestamp: null + name: cluster +spec: {} +status: + apiServerURL: https://api.{{ settings.clusterName}}.{{ settings.baseDomain }}:6443 + etcdDiscoveryDomain: {{ settings.clusterName}}.{{ settings.baseDomain }} + platform: Libvirt diff --git a/libvirt/1-node/manifests/cluster-ingress-02-config.yml b/libvirt/1-node/manifests/cluster-ingress-02-config.yml new file mode 100644 index 0000000..a72a0de --- /dev/null +++ b/libvirt/1-node/manifests/cluster-ingress-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: Ingress +metadata: + creationTimestamp: null + name: cluster +spec: + domain: apps.{{ settings.clusterName }}.{{ settings.BaseDomain }} +status: {} diff --git a/libvirt/1-node/manifests/cluster-network-01-crd.yml b/libvirt/1-node/manifests/cluster-network-01-crd.yml new file mode 100644 index 0000000..59076ce --- /dev/null +++ b/libvirt/1-node/manifests/cluster-network-01-crd.yml @@ -0,0 +1,21 @@ + +--- +# This is the advanced network configuration CRD +# Only necessary if you need to tweak certain settings. +# See https://github.com/openshift/cluster-network-operator#configuring +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networkconfigs.networkoperator.openshift.io +spec: + group: networkoperator.openshift.io + names: + kind: NetworkConfig + listKind: NetworkConfigList + plural: networkconfigs + singular: networkconfig + scope: Cluster + versions: + - name: v1 + served: true + storage: true diff --git a/libvirt/1-node/manifests/cluster-network-02-config.yml b/libvirt/1-node/manifests/cluster-network-02-config.yml new file mode 100644 index 0000000..a1ce3a3 --- /dev/null +++ b/libvirt/1-node/manifests/cluster-network-02-config.yml @@ -0,0 +1,17 @@ +apiVersion: config.openshift.io/v1 +kind: Network +metadata: + creationTimestamp: null + name: cluster +spec: + clusterNetwork: + - cidr: {{ settings.clusterCIDR }} + hostPrefix: 23 + networkType: {{ settings.SDNType }} + serviceNetwork: + - {{ settings.serviceNetworkCIDR }} +status: + clusterNetwork: null + clusterNetworkMTU: 0 + networkType: "" + serviceNetwork: null diff --git a/libvirt/1-node/manifests/cvo-overrides.yaml b/libvirt/1-node/manifests/cvo-overrides.yaml new file mode 100644 index 0000000..98bc7a8 --- /dev/null +++ b/libvirt/1-node/manifests/cvo-overrides.yaml @@ -0,0 +1,9 @@ +apiVersion: config.openshift.io/v1 +kind: ClusterVersion +metadata: + namespace: openshift-cluster-version + name: version +spec: + upstream: https://api.openshift.com/api/upgrades_info/v1/graph + channel: stable-4.0 + clusterID: 982757a4-76b7-4c4d-98f2-7f053599cb55 diff --git a/libvirt/1-node/manifests/etcd-service.yaml b/libvirt/1-node/manifests/etcd-service.yaml new file mode 100644 index 0000000..9a24566 --- /dev/null +++ b/libvirt/1-node/manifests/etcd-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + selector: + k8s-app: etcd + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/1-node/manifests/host-etcd-service-endpoints.yaml b/libvirt/1-node/manifests/host-etcd-service-endpoints.yaml new file mode 100644 index 0000000..86b77d2 --- /dev/null +++ b/libvirt/1-node/manifests/host-etcd-service-endpoints.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: host-etcd + namespace: kube-system + annotations: + alpha.installer.openshift.io/dns-suffix: {{ settings.clusterName }}.{{ settings.BaseDomain }} +subsets: +- addresses: + - ip: 192.0.2.1 + hostname: etcd-0 + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/1-node/manifests/host-etcd-service.yaml b/libvirt/1-node/manifests/host-etcd-service.yaml new file mode 100644 index 0000000..348a29b --- /dev/null +++ b/libvirt/1-node/manifests/host-etcd-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: host-etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + clusterIP: None + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/1-node/manifests/kube-cloud-config.yaml b/libvirt/1-node/manifests/kube-cloud-config.yaml new file mode 100644 index 0000000..b42fdad --- /dev/null +++ b/libvirt/1-node/manifests/kube-cloud-config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: kube-cloud-cfg + namespace: kube-system +type: Opaque +data: + config: "" diff --git a/libvirt/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml b/libvirt/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml new file mode 100644 index 0000000..973842f --- /dev/null +++ b/libvirt/1-node/manifests/kube-system-configmap-etcd-serving-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: etcd-serving-ca + namespace: kube-system +data: + ca-bundle.crt: | + {{ settings.caBundleCRT }} diff --git a/libvirt/1-node/manifests/kube-system-configmap-root-ca.yaml b/libvirt/1-node/manifests/kube-system-configmap-root-ca.yaml new file mode 100644 index 0000000..3591c21 --- /dev/null +++ b/libvirt/1-node/manifests/kube-system-configmap-root-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: root-ca + namespace: kube-system +data: + ca.crt: | + {{ settings.rootCRT }} diff --git a/libvirt/1-node/manifests/kube-system-secret-etcd-client.yaml b/libvirt/1-node/manifests/kube-system-secret-etcd-client.yaml new file mode 100644 index 0000000..dd068e1 --- /dev/null +++ b/libvirt/1-node/manifests/kube-system-secret-etcd-client.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: etcd-client + namespace: kube-system +type: SecretTypeTLS +data: + tls.crt: {{ settings.SecretTLSCRT }} + tls.key: {{ settings.SecretTLSKey }} diff --git a/libvirt/1-node/manifests/machine-config-server-tls-secret.yaml b/libvirt/1-node/manifests/machine-config-server-tls-secret.yaml new file mode 100644 index 0000000..854087a --- /dev/null +++ b/libvirt/1-node/manifests/machine-config-server-tls-secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: machine-config-server-tls + namespace: openshift-machine-config-operator +type: Opaque +data: + tls.crt: {{ settings.MachineTLSCRT }} + tls.key: {{ settings.MachineTLSKey }} diff --git a/libvirt/1-node/manifests/pull.json b/libvirt/1-node/manifests/pull.json new file mode 100644 index 0000000..100d7e2 --- /dev/null +++ b/libvirt/1-node/manifests/pull.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "v1", + "kind": "Secret", + "type": "kubernetes.io/dockerconfigjson", + "metadata": { + "namespace": "kube-system", + "name": "coreos-pull-secret" + }, + "data": { + ".dockerconfigjson": "{{ settings.pullSecret }}" + } +} diff --git a/libvirt/1-node/openshift/99_binding-discovery.yaml b/libvirt/1-node/openshift/99_binding-discovery.yaml new file mode 100644 index 0000000..79154a8 --- /dev/null +++ b/libvirt/1-node/openshift/99_binding-discovery.yaml @@ -0,0 +1,13 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: discovery +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:discovery +subjects: +- kind: Group + name: 'system:unauthenticated' +- kind: Group + name: 'system:authenticated' diff --git a/libvirt/1-node/openshift/99_kubeadmin-password-secret.yaml b/libvirt/1-node/openshift/99_kubeadmin-password-secret.yaml new file mode 100644 index 0000000..228b66d --- /dev/null +++ b/libvirt/1-node/openshift/99_kubeadmin-password-secret.yaml @@ -0,0 +1,7 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: kubeadmin +data: + kubeadmin: {{ settings.KubeAdminPassword }} diff --git a/libvirt/1-node/openshift/99_openshift-cluster-api_cluster.yaml b/libvirt/1-node/openshift/99_openshift-cluster-api_cluster.yaml new file mode 100644 index 0000000..9fd5ef1 --- /dev/null +++ b/libvirt/1-node/openshift/99_openshift-cluster-api_cluster.yaml @@ -0,0 +1,17 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Cluster +metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + namespace: openshift-machine-api +spec: + clusterNetwork: + pods: + cidrBlocks: + - {{ settings.clusterCIDR }} + serviceDomain: "" + services: + cidrBlocks: + - {{ settings.serviceCIDR }} + providerSpec: {} +status: {} diff --git a/libvirt/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml b/libvirt/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml new file mode 100644 index 0000000..8525e2c --- /dev/null +++ b/libvirt/1-node/openshift/99_openshift-cluster-api_master-machines-0.yaml @@ -0,0 +1,36 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-0 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 2048 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: master-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: 192.168.126.0/24 + networkInterfaceHostname: "" + networkInterfaceName: test + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/test-base + poolName: default + volumeName: "" + versions: + kubelet: "" +status: {} diff --git a/libvirt/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml b/libvirt/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml new file mode 100644 index 0000000..edee210 --- /dev/null +++ b/libvirt/1-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: master-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.masterUserData }} diff --git a/libvirt/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml b/libvirt/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml new file mode 100644 index 0000000..addc47f --- /dev/null +++ b/libvirt/1-node/openshift/99_openshift-cluster-api_worker-machineset.yaml @@ -0,0 +1,55 @@ +apiVersion: v1 +items: +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-0 + namespace: openshift-machine-api + spec: + replicas: 2 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-0 + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-0 + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 2048 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: worker-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: 192.168.126.0/24 + networkInterfaceHostname: "" + networkInterfaceName: test + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/test-base + poolName: default + volumeName: "" + versions: + kubelet: "" + status: + replicas: 0 +kind: List +metadata: {} diff --git a/libvirt/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml b/libvirt/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml new file mode 100644 index 0000000..e57fbc4 --- /dev/null +++ b/libvirt/1-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: worker-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: {{ settings.workerUserData }} diff --git a/libvirt/3-node/install-config.yaml.go b/libvirt/3-node/install-config.yaml.go new file mode 100644 index 0000000..e63178e --- /dev/null +++ b/libvirt/3-node/install-config.yaml.go @@ -0,0 +1,28 @@ +apiVersion: v1beta3 +baseDomain: {{ .baseDomain }} +compute: +- name: worker + platform: {} + replicas: 3 +controlPlane: + name: master + platform: {} + replicas: 3 +metadata: + creationTimestamp: null + name: {{ .clusterName }} +networking: + clusterNetworks: + - cidr: {{ .clusterCIDR }} + hostSubnetLength: {{ .clusterSubnetLength }} + machineCIDR: {{ .machineCIDR }} + serviceCIDR: {{ .serviceCIDR }} + type: {{ .SDNType }} +platform: + libvirt: + URI: {{ .libvirtURI }} + network: + if: tt0 +pullSecret: '{{ .pullSecret }}' +sshKey: | + {{ .SSHKey }} diff --git a/libvirt/3-node/manifests/04-openshift-machine-config-operator.yaml b/libvirt/3-node/manifests/04-openshift-machine-config-operator.yaml new file mode 100644 index 0000000..83c8515 --- /dev/null +++ b/libvirt/3-node/manifests/04-openshift-machine-config-operator.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-machine-config-operator + labels: + name: openshift-machine-config-operator + openshift.io/run-level: "1" diff --git a/libvirt/3-node/manifests/cluster-config.yaml b/libvirt/3-node/manifests/cluster-config.yaml new file mode 100644 index 0000000..8f63889 --- /dev/null +++ b/libvirt/3-node/manifests/cluster-config.yaml @@ -0,0 +1,35 @@ +apiVersion: v1 +data: + install-config: | + apiVersion: v1beta3 + baseDomain: {{ settings.baseDomain }} + compute: + - name: worker + platform: {} + replicas: 3 + controlPlane: + name: master + platform: {} + replicas: 3 + metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + networking: + clusterNetworks: + - cidr: {{ settings.clusterCIDR }} + hostSubnetLength: {{ settings.hostSubnetLength }} + machineCIDR: {{ settings.machineCIDR }} + serviceCIDR: {{ settings.serviceCIDR }} + type: {{ settings.SDNType }} + platform: + libvirt: + URI: {{ settings.libvirtURI }} + network: + if: tt0 + pullSecret: '{{ settings.pullSecret }}' + sshKey: | + {{ settings.sshKey }} +kind: ConfigMap +metadata: + name: cluster-config-v1 + namespace: kube-system diff --git a/libvirt/3-node/manifests/cluster-dns-02-config.yml b/libvirt/3-node/manifests/cluster-dns-02-config.yml new file mode 100644 index 0000000..2482ab7 --- /dev/null +++ b/libvirt/3-node/manifests/cluster-dns-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: DNS +metadata: + creationTimestamp: null + name: cluster +spec: + baseDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} +status: {} diff --git a/libvirt/3-node/manifests/cluster-infrastructure-02-config.yml b/libvirt/3-node/manifests/cluster-infrastructure-02-config.yml new file mode 100644 index 0000000..2b23549 --- /dev/null +++ b/libvirt/3-node/manifests/cluster-infrastructure-02-config.yml @@ -0,0 +1,10 @@ +apiVersion: config.openshift.io/v1 +kind: Infrastructure +metadata: + creationTimestamp: null + name: cluster +spec: {} +status: + apiServerURL: https://api.{{ settings.clusterName }}.{{ settings.baseDomain }}:6443 + etcdDiscoveryDomain: {{ settings.clusterName }}.{{ settings.baseDomain }} + platform: Libvirt diff --git a/libvirt/3-node/manifests/cluster-ingress-02-config.yml b/libvirt/3-node/manifests/cluster-ingress-02-config.yml new file mode 100644 index 0000000..a72a0de --- /dev/null +++ b/libvirt/3-node/manifests/cluster-ingress-02-config.yml @@ -0,0 +1,8 @@ +apiVersion: config.openshift.io/v1 +kind: Ingress +metadata: + creationTimestamp: null + name: cluster +spec: + domain: apps.{{ settings.clusterName }}.{{ settings.BaseDomain }} +status: {} diff --git a/libvirt/3-node/manifests/cluster-network-01-crd.yml b/libvirt/3-node/manifests/cluster-network-01-crd.yml new file mode 100644 index 0000000..59076ce --- /dev/null +++ b/libvirt/3-node/manifests/cluster-network-01-crd.yml @@ -0,0 +1,21 @@ + +--- +# This is the advanced network configuration CRD +# Only necessary if you need to tweak certain settings. +# See https://github.com/openshift/cluster-network-operator#configuring +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: networkconfigs.networkoperator.openshift.io +spec: + group: networkoperator.openshift.io + names: + kind: NetworkConfig + listKind: NetworkConfigList + plural: networkconfigs + singular: networkconfig + scope: Cluster + versions: + - name: v1 + served: true + storage: true diff --git a/libvirt/3-node/manifests/cluster-network-02-config.yml b/libvirt/3-node/manifests/cluster-network-02-config.yml new file mode 100644 index 0000000..a1ce3a3 --- /dev/null +++ b/libvirt/3-node/manifests/cluster-network-02-config.yml @@ -0,0 +1,17 @@ +apiVersion: config.openshift.io/v1 +kind: Network +metadata: + creationTimestamp: null + name: cluster +spec: + clusterNetwork: + - cidr: {{ settings.clusterCIDR }} + hostPrefix: 23 + networkType: {{ settings.SDNType }} + serviceNetwork: + - {{ settings.serviceNetworkCIDR }} +status: + clusterNetwork: null + clusterNetworkMTU: 0 + networkType: "" + serviceNetwork: null diff --git a/libvirt/3-node/manifests/cvo-overrides.yaml b/libvirt/3-node/manifests/cvo-overrides.yaml new file mode 100644 index 0000000..b7fdd56 --- /dev/null +++ b/libvirt/3-node/manifests/cvo-overrides.yaml @@ -0,0 +1,9 @@ +apiVersion: config.openshift.io/v1 +kind: ClusterVersion +metadata: + namespace: openshift-cluster-version + name: version +spec: + upstream: https://api.openshift.com/api/upgrades_info/v1/graph + channel: stable-4.0 + clusterID: 763dddad-2ced-488c-9c0f-4f925b4f7f47 diff --git a/libvirt/3-node/manifests/etcd-service.yaml b/libvirt/3-node/manifests/etcd-service.yaml new file mode 100644 index 0000000..9a24566 --- /dev/null +++ b/libvirt/3-node/manifests/etcd-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + selector: + k8s-app: etcd + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/3-node/manifests/host-etcd-service-endpoints.yaml b/libvirt/3-node/manifests/host-etcd-service-endpoints.yaml new file mode 100644 index 0000000..f094dcf --- /dev/null +++ b/libvirt/3-node/manifests/host-etcd-service-endpoints.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Endpoints +metadata: + name: host-etcd + namespace: kube-system + annotations: + alpha.installer.openshift.io/dns-suffix: {{ settings.clusterName }}.{{ settings.BaseDomain }} +subsets: +- addresses: + - ip: 192.0.2.1 + hostname: etcd-0 + - ip: 192.0.2.2 + hostname: etcd-1 + - ip: 192.0.2.3 + hostname: etcd-2 + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/3-node/manifests/host-etcd-service.yaml b/libvirt/3-node/manifests/host-etcd-service.yaml new file mode 100644 index 0000000..348a29b --- /dev/null +++ b/libvirt/3-node/manifests/host-etcd-service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: host-etcd + namespace: kube-system + labels: + # this label is used to indicate that it should be scraped by prometheus + k8s-app: etcd +spec: + clusterIP: None + ports: + - name: etcd + port: 2379 + protocol: TCP diff --git a/libvirt/3-node/manifests/kube-cloud-config.yaml b/libvirt/3-node/manifests/kube-cloud-config.yaml new file mode 100644 index 0000000..b42fdad --- /dev/null +++ b/libvirt/3-node/manifests/kube-cloud-config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: kube-cloud-cfg + namespace: kube-system +type: Opaque +data: + config: "" diff --git a/libvirt/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml b/libvirt/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml new file mode 100644 index 0000000..973842f --- /dev/null +++ b/libvirt/3-node/manifests/kube-system-configmap-etcd-serving-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: etcd-serving-ca + namespace: kube-system +data: + ca-bundle.crt: | + {{ settings.caBundleCRT }} diff --git a/libvirt/3-node/manifests/kube-system-configmap-root-ca.yaml b/libvirt/3-node/manifests/kube-system-configmap-root-ca.yaml new file mode 100644 index 0000000..3591c21 --- /dev/null +++ b/libvirt/3-node/manifests/kube-system-configmap-root-ca.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: root-ca + namespace: kube-system +data: + ca.crt: | + {{ settings.rootCRT }} diff --git a/libvirt/3-node/manifests/kube-system-secret-etcd-client.yaml b/libvirt/3-node/manifests/kube-system-secret-etcd-client.yaml new file mode 100644 index 0000000..dd068e1 --- /dev/null +++ b/libvirt/3-node/manifests/kube-system-secret-etcd-client.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: etcd-client + namespace: kube-system +type: SecretTypeTLS +data: + tls.crt: {{ settings.SecretTLSCRT }} + tls.key: {{ settings.SecretTLSKey }} diff --git a/libvirt/3-node/manifests/machine-config-server-tls-secret.yaml b/libvirt/3-node/manifests/machine-config-server-tls-secret.yaml new file mode 100644 index 0000000..854087a --- /dev/null +++ b/libvirt/3-node/manifests/machine-config-server-tls-secret.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: machine-config-server-tls + namespace: openshift-machine-config-operator +type: Opaque +data: + tls.crt: {{ settings.MachineTLSCRT }} + tls.key: {{ settings.MachineTLSKey }} diff --git a/libvirt/3-node/manifests/pull.json b/libvirt/3-node/manifests/pull.json new file mode 100644 index 0000000..100d7e2 --- /dev/null +++ b/libvirt/3-node/manifests/pull.json @@ -0,0 +1,12 @@ +{ + "apiVersion": "v1", + "kind": "Secret", + "type": "kubernetes.io/dockerconfigjson", + "metadata": { + "namespace": "kube-system", + "name": "coreos-pull-secret" + }, + "data": { + ".dockerconfigjson": "{{ settings.pullSecret }}" + } +} diff --git a/libvirt/3-node/openshift/99_binding-discovery.yaml b/libvirt/3-node/openshift/99_binding-discovery.yaml new file mode 100644 index 0000000..79154a8 --- /dev/null +++ b/libvirt/3-node/openshift/99_binding-discovery.yaml @@ -0,0 +1,13 @@ +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: discovery +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: system:discovery +subjects: +- kind: Group + name: 'system:unauthenticated' +- kind: Group + name: 'system:authenticated' diff --git a/libvirt/3-node/openshift/99_kubeadmin-password-secret.yaml b/libvirt/3-node/openshift/99_kubeadmin-password-secret.yaml new file mode 100644 index 0000000..228b66d --- /dev/null +++ b/libvirt/3-node/openshift/99_kubeadmin-password-secret.yaml @@ -0,0 +1,7 @@ +kind: Secret +apiVersion: v1 +metadata: + namespace: kube-system + name: kubeadmin +data: + kubeadmin: {{ settings.KubeAdminPassword }} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_cluster.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_cluster.yaml new file mode 100644 index 0000000..9fd5ef1 --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_cluster.yaml @@ -0,0 +1,17 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Cluster +metadata: + creationTimestamp: null + name: {{ settings.clusterName }} + namespace: openshift-machine-api +spec: + clusterNetwork: + pods: + cidrBlocks: + - {{ settings.clusterCIDR }} + serviceDomain: "" + services: + cidrBlocks: + - {{ settings.serviceCIDR }} + providerSpec: {} +status: {} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml new file mode 100644 index 0000000..7a15fdf --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-0.yaml @@ -0,0 +1,36 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-0 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 4096 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: master-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: {{ settings.machineCIDR }} + networkInterfaceHostname: "" + networkInterfaceName: {{ settings.clusterName }} + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/{{ settings.clusterName }}-base + poolName: default + volumeName: "" + versions: + kubelet: "" +status: {} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml new file mode 100644 index 0000000..ba3432a --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-1.yaml @@ -0,0 +1,36 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-1 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 4096 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: master-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: {{ settings.machineCIDR }} + networkInterfaceHostname: "" + networkInterfaceName: {{ settings.clusterName }} + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/{{ settings.clusterName }}-base + poolName: default + volumeName: "" + versions: + kubelet: "" +status: {} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml new file mode 100644 index 0000000..f28acb1 --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_master-machines-2.yaml @@ -0,0 +1,36 @@ +apiVersion: machine.openshift.io/v1beta1 +kind: Machine +metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }}-6glhp + sigs.k8s.io/cluster-api-machine-role: master + sigs.k8s.io/cluster-api-machine-type: master + name: {{ settings.clusterName }}-master-2 + namespace: openshift-machine-api +spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 4096 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: master-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: {{ settings.machineCIDR }} + networkInterfaceHostname: "" + networkInterfaceName: {{ settings.clusterName }}-6glhp + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/{{ settings.clusterName }}-base + poolName: default + volumeName: "" + versions: + kubelet: "" +status: {} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml new file mode 100644 index 0000000..e89e4f6 --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_master-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: master-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: eyJpZ25pdGlvbiI6eyJjb25maWciOnsiYXBwZW5kIjpbeyJzb3VyY2UiOiJodHRwczovL2FwaS50ZXN0LnR0LnRlc3Rpbmc6MjI2MjMvY29uZmlnL21hc3RlciIsInZlcmlmaWNhdGlvbiI6e319XX0sInNlY3VyaXR5Ijp7InRscyI6eyJjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzIjpbeyJzb3VyY2UiOiJkYXRhOnRleHQvcGxhaW47Y2hhcnNldD11dGYtODtiYXNlNjQsTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkZSRU5EUVdacFowRjNTVUpCWjBsSlQxTmhXV3AxUm10NVRHZDNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRLYWtWVFRVSkJSMEV4VlVVS1EzaE5TbUl6UW14aWJrNXZZVmRhTUUxU1FYZEVaMWxFVmxGUlJFVjNaSGxpTWprd1RGZE9hRTFDTkZoRVZFVTFUVVJOZDA1VVJYZE9WRmt4VDBadldBcEVWRWsxVFVSTmQwMXFSWGRPVkZreFQwWnZkMHBxUlZOTlFrRkhRVEZWUlVONFRVcGlNMEpzWW01T2IyRlhXakJOVWtGM1JHZFpSRlpSVVVSRmQyUjVDbUl5T1RCTVYwNW9UVWxKUWtscVFVNUNaMnR4YUd0cFJ6bDNNRUpCVVVWR1FVRlBRMEZST0VGTlNVbENRMmRMUTBGUlJVRjVhRk52VlVKbGRFbzJWMG9LUkV4RE5EQnlXR0pFUVhVclRsaHdiM0pNVlRCU1dTdEdlRlU1VGtWRlpUbENWMmRFWXpSc09URkRSVU5yYlhsMWIwbDVXVTl5ZWpaV2MwbGlNVFpxS3dwc1MwSkVaVXRrTmxSS2NYQjRkazkyYjNWRk5teHRTVUpvTTJ4eFZFZENRMEYyTmxkd2VHOWxXbWxGT0hKVGEyZ3dURFJsUVRkRWExaDFja2hZU0VkTUNqQkdVbTFYV21sVE9GRjRWMDE1YjBWUk4yaFhXak5GVUhweVlrVlhZV2Q0VlVzeFptMVZTVmswYm5Kd2VFdEdWMU5OT0RCdldqazVjWEZLVTJoNVdtUUthR1ZNU200NFZYQllNblUxVUhwYVZFaHVUbmt3VmtWSVdqUnVOUzh3WWxFeU1FSnZVRFJvZURBNVFscENTMEZGZFc5cFoyWjFVa3hZZUc5RmNXSnlOd3AxVEZabVFrZDFSekpFUzBJd1MweFlkVlk1T0RRNWFrSk1VRkJVTTBkbVJDOXpMMWg0WTBSMVIzUnZWSEZzZVhNcmJsWTNhbWczTkVGVlFVa3lUR3B0Q25WRlVVUlVkelZwYVZGSlJFRlJRVUp2TUVsM1VVUkJUMEpuVGxaSVVUaENRV1k0UlVKQlRVTkJjVkYzUkhkWlJGWlNNRlJCVVVndlFrRlZkMEYzUlVJS0wzcEJaRUpuVGxaSVVUUkZSbWRSVlU4NE1IZHVNRXhzU1c5cFlVbElUVVF4V0dab04wTm1TeXROUlhkRVVWbEtTMjlhU1doMlkwNUJVVVZNUWxGQlJBcG5aMFZDUVV0dVpFWlBWVFl4TmpkRVprOHlPU3RvZW5Cb1RsVlJWRk5QY1hoWFdWQklRbkp5TTJwVU5WZFpUbFV5Tkdwc1ZDdDRVV3B6Um5GMmIwcFFDa3BTZWxGTVNFOVZjWFFyTTJ0RlIwZEJWMVJLWldKSVlrMTFXSE5YYWpCaFptd3JWMWQ1ZVU1bFRrOXFTVXRQYTI5MmNraE5hblJUTkhGdmFEVjVlRFVLY1doQlRVSTJla0ZyYUdsdlEzcEJWV3BLTlhGNldHcEVkQ3RLYm5sWmFHVm1PV0U1Y1hsUFNqRmpNRXgzTDJOQk1ITnhkWGxhZW5GeE5HdE1OV0pNTUFwS1JGaDZhbTg0Tm1VNFRIVjNNVWwxV0ZsSFduUjJRVFZCYkdJMmNEQjBPVUpWVFRSWFEwMWpUMnBoTkV4T2NVRlZUMHRSTWpoaU0yTXlXbkp1VUdONENtRjJiVnA1WVhaUVowWnNOVFFyWVU0MlptSk9aRVJSWjFCSFVEZEtTVzlpZEc1aU5HUjVUek5FWlVoeFIxZzJZMGhtVDBGc1VtdEVhVXhXY0ZKamVrd0tNR1EwYzJaNU5VeHpNbWxVWnpjMU5raFRUQzg0UVdNelNESnZQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09IiwidmVyaWZpY2F0aW9uIjp7fX1dfX0sInRpbWVvdXRzIjp7fSwidmVyc2lvbiI6IjIuMi4wIn0sIm5ldHdvcmtkIjp7fSwicGFzc3dkIjp7fSwic3RvcmFnZSI6e30sInN5c3RlbWQiOnt9fQ== diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml new file mode 100644 index 0000000..41100ad --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_worker-machineset.yaml @@ -0,0 +1,55 @@ +apiVersion: v1 +items: +- apiVersion: machine.openshift.io/v1beta1 + kind: MachineSet + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + name: {{ settings.clusterName }}-worker-0 + namespace: openshift-machine-api + spec: + replicas: 3 + selector: + matchLabels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-0 + template: + metadata: + creationTimestamp: null + labels: + sigs.k8s.io/cluster-api-cluster: {{ settings.clusterName }} + sigs.k8s.io/cluster-api-machine-role: worker + sigs.k8s.io/cluster-api-machine-type: worker + sigs.k8s.io/cluster-api-machineset: {{ settings.clusterName }}-worker-0 + spec: + metadata: + creationTimestamp: null + providerSpec: + value: + apiVersion: libvirtproviderconfig.k8s.io/v1alpha1 + autostart: false + cloudInit: null + domainMemory: 4096 + domainVcpu: 2 + ignKey: "" + ignition: + userDataSecret: worker-user-data + kind: LibvirtMachineProviderConfig + networkInterfaceAddress: {{ settings.machineCIDR }} + networkInterfaceHostname: "" + networkInterfaceName: {{ settings.clusterName }} + networkUUID: "" + uri: {{ settings.libvirtURI }} + volume: + baseVolumeID: /var/lib/libvirt/images/{{ settings.clusterName }}-base + poolName: default + volumeName: "" + versions: + kubelet: "" + status: + replicas: 0 +kind: List +metadata: {} diff --git a/libvirt/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml b/libvirt/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml new file mode 100644 index 0000000..aeab5f6 --- /dev/null +++ b/libvirt/3-node/openshift/99_openshift-cluster-api_worker-user-data-secret.yaml @@ -0,0 +1,15 @@ + +kind: List +apiVersion: v1 +metadata: + resourceVersion: "" + selfLink: "" +items: +- apiVersion: v1 + kind: Secret + metadata: + name: worker-user-data + namespace: openshift-machine-api + type: Opaque + data: + userData: eyJpZ25pdGlvbiI6eyJjb25maWciOnsiYXBwZW5kIjpbeyJzb3VyY2UiOiJodHRwczovL2FwaS50ZXN0LnR0LnRlc3Rpbmc6MjI2MjMvY29uZmlnL3dvcmtlciIsInZlcmlmaWNhdGlvbiI6e319XX0sInNlY3VyaXR5Ijp7InRscyI6eyJjZXJ0aWZpY2F0ZUF1dGhvcml0aWVzIjpbeyJzb3VyY2UiOiJkYXRhOnRleHQvcGxhaW47Y2hhcnNldD11dGYtODtiYXNlNjQsTFMwdExTMUNSVWRKVGlCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2sxSlNVUkZSRU5EUVdacFowRjNTVUpCWjBsSlQxTmhXV3AxUm10NVRHZDNSRkZaU2t0dldrbG9kbU5PUVZGRlRFSlJRWGRLYWtWVFRVSkJSMEV4VlVVS1EzaE5TbUl6UW14aWJrNXZZVmRhTUUxU1FYZEVaMWxFVmxGUlJFVjNaSGxpTWprd1RGZE9hRTFDTkZoRVZFVTFUVVJOZDA1VVJYZE9WRmt4VDBadldBcEVWRWsxVFVSTmQwMXFSWGRPVkZreFQwWnZkMHBxUlZOTlFrRkhRVEZWUlVONFRVcGlNMEpzWW01T2IyRlhXakJOVWtGM1JHZFpSRlpSVVVSRmQyUjVDbUl5T1RCTVYwNW9UVWxKUWtscVFVNUNaMnR4YUd0cFJ6bDNNRUpCVVVWR1FVRlBRMEZST0VGTlNVbENRMmRMUTBGUlJVRjVhRk52VlVKbGRFbzJWMG9LUkV4RE5EQnlXR0pFUVhVclRsaHdiM0pNVlRCU1dTdEdlRlU1VGtWRlpUbENWMmRFWXpSc09URkRSVU5yYlhsMWIwbDVXVTl5ZWpaV2MwbGlNVFpxS3dwc1MwSkVaVXRrTmxSS2NYQjRkazkyYjNWRk5teHRTVUpvTTJ4eFZFZENRMEYyTmxkd2VHOWxXbWxGT0hKVGEyZ3dURFJsUVRkRWExaDFja2hZU0VkTUNqQkdVbTFYV21sVE9GRjRWMDE1YjBWUk4yaFhXak5GVUhweVlrVlhZV2Q0VlVzeFptMVZTVmswYm5Kd2VFdEdWMU5OT0RCdldqazVjWEZLVTJoNVdtUUthR1ZNU200NFZYQllNblUxVUhwYVZFaHVUbmt3VmtWSVdqUnVOUzh3WWxFeU1FSnZVRFJvZURBNVFscENTMEZGZFc5cFoyWjFVa3hZZUc5RmNXSnlOd3AxVEZabVFrZDFSekpFUzBJd1MweFlkVlk1T0RRNWFrSk1VRkJVTTBkbVJDOXpMMWg0WTBSMVIzUnZWSEZzZVhNcmJsWTNhbWczTkVGVlFVa3lUR3B0Q25WRlVVUlVkelZwYVZGSlJFRlJRVUp2TUVsM1VVUkJUMEpuVGxaSVVUaENRV1k0UlVKQlRVTkJjVkYzUkhkWlJGWlNNRlJCVVVndlFrRlZkMEYzUlVJS0wzcEJaRUpuVGxaSVVUUkZSbWRSVlU4NE1IZHVNRXhzU1c5cFlVbElUVVF4V0dab04wTm1TeXROUlhkRVVWbEtTMjlhU1doMlkwNUJVVVZNUWxGQlJBcG5aMFZDUVV0dVpFWlBWVFl4TmpkRVprOHlPU3RvZW5Cb1RsVlJWRk5QY1hoWFdWQklRbkp5TTJwVU5WZFpUbFV5Tkdwc1ZDdDRVV3B6Um5GMmIwcFFDa3BTZWxGTVNFOVZjWFFyTTJ0RlIwZEJWMVJLWldKSVlrMTFXSE5YYWpCaFptd3JWMWQ1ZVU1bFRrOXFTVXRQYTI5MmNraE5hblJUTkhGdmFEVjVlRFVLY1doQlRVSTJla0ZyYUdsdlEzcEJWV3BLTlhGNldHcEVkQ3RLYm5sWmFHVm1PV0U1Y1hsUFNqRmpNRXgzTDJOQk1ITnhkWGxhZW5GeE5HdE1OV0pNTUFwS1JGaDZhbTg0Tm1VNFRIVjNNVWwxV0ZsSFduUjJRVFZCYkdJMmNEQjBPVUpWVFRSWFEwMWpUMnBoTkV4T2NVRlZUMHRSTWpoaU0yTXlXbkp1VUdONENtRjJiVnA1WVhaUVowWnNOVFFyWVU0MlptSk9aRVJSWjFCSFVEZEtTVzlpZEc1aU5HUjVUek5FWlVoeFIxZzJZMGhtVDBGc1VtdEVhVXhXY0ZKamVrd0tNR1EwYzJaNU5VeHpNbWxVWnpjMU5raFRUQzg0UVdNelNESnZQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09IiwidmVyaWZpY2F0aW9uIjp7fX1dfX0sInRpbWVvdXRzIjp7fSwidmVyc2lvbiI6IjIuMi4wIn0sIm5ldHdvcmtkIjp7fSwicGFzc3dkIjp7fSwic3RvcmFnZSI6e30sInN5c3RlbWQiOnt9fQ== diff --git a/libvirt/sample_settings.yaml b/libvirt/sample_settings.yaml new file mode 100644 index 0000000..a3ebbc6 --- /dev/null +++ b/libvirt/sample_settings.yaml @@ -0,0 +1,9 @@ +settings: + baseDomain: "tt.testing" + clusterName: "test" + clusterCIDR: "10.128.0.0/14" + clusterSubnetLength: 9 + machineCIDR: "192.168.126.0/24" + serviceCIDR: "172.30.0.0/16" + SDNType: "OpenShiftSDN" + libvirtURI: "qemu+tcp://192.168.122.1/system" -- 2.16.6