This repo is part of the Istio gRPC Golang Demo, please refer to that project for documentation.
Clone the repo:
$ git clone https://github.com/drhelius/grpc-demo-operator.git
$ cd grpc-demo-operatorBuild the operator and the Docker image:
$ make docker-buildMake sure you are working with the right namespace. The operator will run in the grpc-demo namespace by default:
$ oc project grpc-demo
Run this to build and deploy the operator, the CRDs and all required manifests like RBAC configuration:
$ make install
$ make deploy IMG=quay.io/isanchez/grpc-demo-operator:v0.0.1Make sure the operator is running fine:
$ kubectl get deployment grpc-demo-operator-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE
grpc-demo-operator-controller-manager 1/1 1 1 2m56sThe operator is watching custom resources with kind demoservices.grpcdemo.example.com.
Write a sample custom resource:
apiVersion: grpcdemo.example.com/v1
kind: DemoServices
metadata:
name: example-services
spec:
services:
- name: account
image: quay.io/isanchez/grpc-demo-account
version: v1.0.0
replicas: 1
limits:
memory: 200Mi
cpu: "0.5"
requests:
memory: 100Mi
cpu: "0.1"
- name: order
image: quay.io/isanchez/grpc-demo-order
version: v1.0.0
replicas: 1
limits:
memory: 200Mi
cpu: "0.5"
requests:
memory: 100Mi
cpu: "0.1"
- name: product
image: quay.io/isanchez/grpc-demo-product
version: v1.0.0
replicas: 1
limits:
memory: 200Mi
cpu: "0.5"
requests:
memory: 100Mi
cpu: "0.1"
- name: user
image: quay.io/isanchez/grpc-demo-user
version: v1.0.0
replicas: 1
limits:
memory: 200Mi
cpu: "0.5"
requests:
memory: 100Mi
cpu: "0.1"Create the custom resource in your cluster;
$ kubectl apply -f config/samples/grpcdemo_v1_demoservices.yaml
demoservices.grpcdemo.example.com/example-services createdAfter a few minutes the operator should have created all the required objects and the services should be up an running:
$ kubectl get deployment
NAME READY UP-TO-DATE AVAILABLE AGE
account 1/1 1 1 2m14s
grpc-demo-operator-controller-manager 1/1 1 1 14m
order 1/1 1 1 2m14s
product 1/1 1 1 2m13s
user 1/1 1 1 2m13s