presto-kubernetes-operator

module
v0.0.0-...-8b5ec9c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2021 License: Apache-2.0

README

Presto Kubernetes Operator

Kubernetes is an open source container orchestration engine for automating deployment, scaling, and management of containerized applications. Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. Operators follow Kubernetes principles, notably the control loop.

Use this operator to manage Presto clusters which are deployed as custom resources. In short, the task of configuring, creating, managing, automatically scaling up and scaling-in of Presto cluster(s) in a Kubernetes environment has been made simple, easy and quick.

Deploying Operator

Deploying Operator - Locally

Step 1: Enable metrics server for k8s, if not already enabled. See this. This is needed for horizontal pod autoscaling.

Step 2: Build the operator

$ go build  -o presto-kubernetes-operator cmd/manager/main.go 

Step 3: Deploy the CRD

$  kubectl apply -f    deploy/crds/prestodb.io_prestos_crd.yaml

Step 4: Start the controller with the right credentials

$ ./presto-kubernetes-operator -kubeconfig /home/hemant/.kube/config
Deploying Operator - GKE

Step 1: Enable metrics server for GKE, if not already enabled. See this. This is needed for horizontal pod autoscaling.

Step 2: Create Operator Image Using Google CloudBuild

$ docker/gcloudDockerBuild.sh

Step 3: Deploy the CRD

$  kubectl apply -f    deploy/crds/prestodb.io_prestos_crd.yaml

Step 4: Update the Operator yaml with image name

# Here gcr.io/fluid-tangent-249303/presto-kubernetes-operator is the name of image. 
# Replace it with your image name
$ sed -i 's/REPLACE_IMAGE/gcr.io\/fluid-tangent-249303\/presto-kubernetes-operator/g' deploy/operator.yaml

Step 5: Launch the operator

$ kubectl apply -f deploy/operator.yaml

Deploy Presto Cluster

Deploy the presto cluster

$ ## Deploy Presto
$ kubectl apply -f deploy/crds/prestodb.yaml  

Further Details

Community support

Slack Slack

Directories

Path Synopsis
cmd
pkg
apis/prestodb
Package prestodb contains Presto API versions.
Package prestodb contains Presto API versions.
apis/prestodb/v1alpha1
Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io
Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL