diff --git a/resource/federated_deployment.yaml b/resource/federated_deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a5fb0dd5bf9134ef380c45c4fc3f6b30b76ab324 --- /dev/null +++ b/resource/federated_deployment.yaml @@ -0,0 +1,33 @@ +# federated_deployment.yaml +apiVersion: types.kubefed.io/v1beta1 +kind: FederatedDeployment +metadata: + name: fed-helloworld + namespace: fed-namespace +spec: + template: + metadata: + name: helloworld + spec: + replicas: 2 + selector: + matchLabels: + app: helloworld + template: + metadata: + labels: + app: helloworld + spec: + containers: + - image: docker.io/csdgarr/hello-world:v1 + name: helloworld + imagePullPolicy: IfNotPresent + placement: + clusters: + - name: member-cluster-1 + - name: member-cluster-2 + overrides: + - clusterName: member-cluster-2 + clusterOverrides: + - path: "/spec/replicas" + value: 3 diff --git a/resource/federated_ingress.yaml b/resource/federated_ingress.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6b98ae9f886a97b69a3109e7058618ebdfd59f9d --- /dev/null +++ b/resource/federated_ingress.yaml @@ -0,0 +1,25 @@ +# federated_ingress.yaml +apiVersion: types.kubefed.io/v1beta1 +kind: FederatedIngress +metadata: + name: fed-helloworld-ingress + namespace: fed-namespace +spec: + template: + metadata: + name: helloworld-ingress + labels: + app: helloworld + spec: + rules: + - host: helloworld.<domain> + http: + paths: + - path: / + backend: + serviceName: fed-helloworld-service + servicePort: 8080 + placement: + clusters: + - name: member-cluster-1 + - name: member-cluster-2 diff --git a/resource/federated_namespace.yaml b/resource/federated_namespace.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1374faa74041413fe0caedb789acba51fba68ebf --- /dev/null +++ b/resource/federated_namespace.yaml @@ -0,0 +1,11 @@ +# federated_namespace.yaml +apiVersion: types.kubefed.io/v1beta1 +kind: FederatedNamespace +metadata: + name: fed-namespace + namespace: fed-namespace +spec: + placement: + clusters: + - name: member-cluster-1 + - name: member-cluster-2 diff --git a/resource/federated_service.yaml b/resource/federated_service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4e95a1a878a1b53ccdd6c785d73d15c6c601025c --- /dev/null +++ b/resource/federated_service.yaml @@ -0,0 +1,25 @@ +# federated_service.yaml +apiVersion: types.kubefed.io/v1beta1 +kind: FederatedService +metadata: + name: fed-helloworld-service + namespace: fed-namespace +spec: + template: + metadata: + name: fed-helloworld-service + labels: + app: helloworld + spec: + selector: + app: helloworld + type: ClusterIP + ports: + - name: http + port: 8080 + targetPort: 8080 + protocol: TCP + placement: + clusters: + - name: member-cluster-1 + - name: member-cluster-2 diff --git a/resource/namespace.yaml b/resource/namespace.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d9411d98b0d41eb864df353663dabc68229a190a --- /dev/null +++ b/resource/namespace.yaml @@ -0,0 +1,5 @@ +# namespace.yaml file +apiVersion: v1 +kind: Namespace +metadata: + name: fed-namespace