apiVersion: v1 kind: Service metadata: name: constellation spec: selector: constellation: master ports: - name: constellation protocol: TCP port: 12321 targetPort: 12321 type: LoadBalancer --- apiVersion: apps/v1 kind: Deployment metadata: name: constellation spec: replicas: 1 selector: matchLabels: &labels constellation: master template: metadata: labels: *labels spec: containers: - name: constellation image: constellationrs/constellation:0.2.0-alpha.2 args: - kube - 0.0.0.0:32123 - 0.0.0.0:12321 - "1GiB" - "1" - "1" env: - name: CONSTELLATION_IP valueFrom: fieldRef: fieldPath: status.podIP ports: - name: constellation containerPort: 32123 - name: constellation-b containerPort: 12321 resources: requests: memory: "1Gi" cpu: "1" serviceAccountName: constellation-service-account terminationGracePeriodSeconds: 1 --- apiVersion: apps/v1 kind: ReplicaSet metadata: name: constellation spec: replicas: 0 selector: matchLabels: constellation: node template: metadata: labels: constellation: node spec: containers: - name: constellation image: constellationrs/constellation:0.2.0-alpha.2 args: - 0.0.0.0:32123 env: - name: CONSTELLATION_IP valueFrom: fieldRef: fieldPath: status.podIP ports: - name: constellation containerPort: 32123 resources: requests: memory: "1Gi" cpu: "1" serviceAccountName: constellation-service-account terminationGracePeriodSeconds: 1 --- apiVersion: v1 kind: ServiceAccount metadata: name: constellation-service-account --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: constellation-role rules: - apiGroups: - "" - apps resources: - pods verbs: ["list", "watch"] - apiGroups: - "" - apps resources: - replicasets/scale verbs: ["patch"] --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: constellation-role roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: constellation-role subjects: - kind: ServiceAccount name: constellation-service-account namespace: default