Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/interconnectedcloud/qdr-operator
https://github.com/interconnectedcloud/qdr-operator
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/interconnectedcloud/qdr-operator
- Owner: interconnectedcloud
- License: apache-2.0
- Created: 2019-05-03T18:19:02.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-08-26T17:45:05.000Z (almost 3 years ago)
- Last Synced: 2024-02-11T10:09:47.280Z (5 months ago)
- Language: Go
- Size: 15.9 MB
- Stars: 9
- Watchers: 7
- Forks: 15
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-operators - interconnectedcloud/qdr-operator
README
# QDR Operator
A Kubernetes operator for managing Layer 7 (e.g. Application Layer) addressing and routing within and across clusters. The operator manages *interior* and *edge* QDR deployments automating resource creation and administration.
## Introduction
This operator provides an `Interconnect` [Custom Resource Definition](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
(CRD) that describes a deployment of [Apache Qpid Dispatch Router](https://qpid.apache.org/components/dispatch-router/index.html) allowing developers to expertly
deploy routers for their infrastructure and middle-ware oriented messaging requirements. The number of messaging routers, the deployment topology, address
semantics and other desired options can be specified through the CRD.## Usage
Deploy the QDR Operator into the Kubernetes cluster where it will manage requests for the `Interconnect` resource. The QDR Operator will watch for create, update and delete resource requests and perform the necessary steps to ensure the present cluster state matches the desired state.
### Deploy QDR Operator
The `deploy` directory contains the manifests needed to properly install the
Operator.Create the service account for the operator.
```
$ kubectl create -f deploy/service_account.yaml
```Create the RBAC role and role-binding that grants the permissions
necessary for the operator to function.```
$ kubectl create -f deploy/role.yaml
$ kubectl create -f deploy/role_binding.yaml
```Deploy the CRD to the cluster that defines the Interconnect resource.
```
$ kubectl create -f deploy/crds/interconnectedcloud_v1alpha1_interconnect_crd.yaml
```Next, deploy the operator into the cluster.
```
$ kubectl create -f deploy/operator.yaml
```This step will create a pod on the Kubernetes cluster for the QDR Operator.
Observe the `qdr-operator` pod and verify it is in the running state.```
$ kubectl get pods -l name=qdr-operator
```If for some reason, the pod does not get to the running state, look at the
pod details to review any event that prohibited the pod from starting.```
$ kubectl describe pod -l name=qdr-operator
```You will be able to confirm that the new CRD has been registered in the cluster and you can review its details.
```
$ kubectl get crd
$ kubectl describe crd interconnects.interconnectedcloud.github.io
```To create a router deployment, you must create a `Interconnect` resource representing the desired specification of the deployment. For example, to create a 3-node router mesh deployment you may run:
```console
$ cat <