diff options
author | earrage <eddie.arrage@huawei.com> | 2018-11-01 21:04:15 -0700 |
---|---|---|
committer | earrage <eddie.arrage@huawei.com> | 2018-11-06 22:08:18 -0800 |
commit | c2d93ffefcd337c8125d3efb289dd488c9cbbaae (patch) | |
tree | 81d3127dad53f561962244fa465865c70fb250dc /clover/cloverctl/src/cloverctl/yaml/controller | |
parent | 9bdb6dc9353992219721acba6b9c4576dbb38ece (diff) |
Add create/delete of clover-system services from CLI
- Improve usability when deploying or deleting various
Clover components using cloverctl
- Add yaml for each of the clover-system services
including controller, collector, spark, redis, cassandra,
clovisor and jmeter separated by k8s resource and available
under a single yaml directory
- Deploy/delete yaml for services in various subsets including:
- visibility(controller, collector, spark, redis, cassandra)
- datastore(redis, cassandra)
- validation(jmeter master/slaves(4))
- clovisor (individually)
- collector (individually)
- controller (individually)
Ex. cloverctl create system controller
Ex. cloverctl create system visibility
- Ability to add nodeport for controller separately
(cloverctl create system controller nodeport)
- Use native client-go methods to create/delete all k8s resources
used by Clover including:
- pods, deployments, statefulsets, daemonsets, services
- serviceaccounts, clusterrolebindings
- Above allows yaml override of values such as image value specified
in deployment or daemonset. This is broken down by:
- tag (ex. latest, opnfv-7.0.0) or repo'(ex. opnfv, localhost:5000)
that can be added with CLI flags as shown below:
(cloverctl create system visibility -t latest -r localhost:5000)
- defaults to -r opnfv -t latest
- Creates/deletes clover-system namespace
- Also added ability to create/delete lb service for controller
external access when running on environment such as GKE
(cloverctl <create/delete> system controller lb)
Change-Id: I2a3c6c80035d4663fa38368b3ff13e9a14090a47
Signed-off-by: earrage <eddie.arrage@huawei.com>
Diffstat (limited to 'clover/cloverctl/src/cloverctl/yaml/controller')
4 files changed, 76 insertions, 0 deletions
diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml new file mode 100644 index 0000000..4f15b51 --- /dev/null +++ b/clover/cloverctl/src/cloverctl/yaml/controller/deployment.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: clover-controller + namespace: clover-system + labels: + app: "clover-controller" +spec: + template: + metadata: + labels: + app: "clover-controller" + spec: + containers: + - name: clover-controller + image: opnfv/clover-controller:latest + ports: + - containerPort: 50052 + - containerPort: 50054 + - containerPort: 6379 + - containerPort: 9042 + - containerPort: 80 diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml new file mode 100644 index 0000000..8be95ee --- /dev/null +++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_internal.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: clover-controller-internal + namespace: clover-system + labels: + app: clover-controller +spec: + ports: + - name: http + port: 80 + - name: grpc + port: 50052 + - name: grpc-server + port: 50054 + - name: redis + port: 6379 + - name: cassandra + port: 9042 + selector: + app: clover-controller diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml new file mode 100644 index 0000000..2dcf5d1 --- /dev/null +++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_lb.yaml @@ -0,0 +1,14 @@ +kind: Service +apiVersion: v1 +metadata: + name: clover-controller + namespace: clover-system +spec: + selector: + app: clover-controller + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 80 + type: LoadBalancer diff --git a/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml b/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml new file mode 100644 index 0000000..a719204 --- /dev/null +++ b/clover/cloverctl/src/cloverctl/yaml/controller/service_nodeport.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: clover-controller + labels: + app: clover-controller +spec: + type: NodePort + ports: + - name: http + port: 80 + targetPort: 80 + nodePort: 32044 + protocol: TCP + selector: + app: clover-controller |