55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
| ## Prerequisites:
 | |
| 
 | |
| In order to run the Postgres operator locally in minikube you need to install the following tools:
 | |
| 
 | |
| * [minikube](https://github.com/kubernetes/minikube/releases)
 | |
| * [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl)
 | |
| 
 | |
| Note that you can also use built-in Kubernetes support in the Docker Desktop
 | |
| for Mac to follow the steps of this tutorial. You would have to replace
 | |
| `minikube start` and `minikube delete` with your launch actionsfor the Docker
 | |
| built-in Kubernetes support.
 | |
| 
 | |
| ## Local execution
 | |
| 
 | |
| ```bash
 | |
| git clone https://github.com/zalando-incubator/postgres-operator.git
 | |
| cd postgres-operator
 | |
| 
 | |
| minikube start
 | |
| 
 | |
| # start the operator; may take a few seconds
 | |
| kubectl create -f manifests/configmap.yaml  # configuration
 | |
| kubectl create -f manifests/operator-service-account-rbac.yaml  # identity and permissions
 | |
| kubectl create -f manifests/postgres-operator.yaml  # deployment
 | |
| 
 | |
| # create a Postgres cluster
 | |
| kubectl create -f manifests/minimal-postgres-manifest.yaml
 | |
| 
 | |
| # connect to the Postgres master via psql
 | |
| # operator creates the relevant k8s secret
 | |
| export HOST_PORT=$(minikube service acid-minimal-cluster --url | sed 's,.*/,,')
 | |
| export PGHOST=$(echo $HOST_PORT | cut -d: -f 1)
 | |
| export PGPORT=$(echo $HOST_PORT | cut -d: -f 2)
 | |
| export PGPASSWORD=$(kubectl get secret postgres.acid-minimal-cluster.credentials -o 'jsonpath={.data.password}' | base64 -d)
 | |
| psql -U postgres
 | |
| 
 | |
| # tear down cleanly
 | |
| minikube delete
 | |
| ```
 | |
| 
 | |
| We have automated starting the operator and submitting the `acid-minimal-cluster` for you:
 | |
| ```bash
 | |
| cd postgres-operator
 | |
| ./run_operator_locally.sh
 | |
| ```
 | |
| 
 | |
| ## Running and testing the operator
 | |
| 
 | |
| The best way to test the operator is to run it in [minikube](https://kubernetes.io/docs/getting-started-guides/minikube/).
 | |
| Minikube is a tool to run Kubernetes cluster locally.
 | |
| 
 | |
| ### Configuration Options
 | |
| 
 | |
| The operator can be configured with the provided ConfigMap (`manifests/configmap.yaml`).
 |