Skip to content
Qserv Operator creates/configures/manages Qserv clusters atop Kubernetes
Go Shell PLpgSQL TSQL Python Smarty Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
base Improve name management for secrets Jan 17, 2020
build
cmd/manager
configmap
deploy Add support for NCSA k8s cluster Jan 17, 2020
docs
kind
ncsa_storage
overlays
pkg
vendor
version
.gitignore
.travis.yml
README.md
TODO
build-all.sh
build.sh
create-operator.sh
deploy.sh
env.example.sh Improve name management for secrets Jan 17, 2020
go.mod
go.sum
install-operator-sdk.sh
push-image.sh
run-integration-tests.sh
tools.go INITIAL COMMIT Jun 20, 2019
undeploy.sh
wait-operator-ready.sh
wait-qserv-ready.sh Improve name management for secrets Jan 17, 2020
wait-wmgr.sh

README.md

qserv-operator

A qserv operator for Kubernetes based on operator-framework. You may be familiar with Operators from the concept’s introduction in 2016. An Operator is a method of packaging, deploying and managing a Kubernetes application.

operator-sdk version: v0.8.1, commit: 33b3bfe10176f8647f5354516fff29dea42b6342

Build Status

Deploy qserv

Quick start for Ubuntu LTS

sudo apt-get update
sudo apt-get install curl docker.io git vim
# then add current user to docker group and restart gnome session
sudo usermod -a -G docker $(id -nu)

WORKDIR="$HOME/src"
mkdir -p "$WORKDIR"

# Create single node k8s cluster with kind
cd "$WORKDIR"
git clone --depth 1 -b "v0.6.0" --single-branch https://github.com/k8s-school/kind-travis-ci
cd kind-travis-ci
./kind/k8s-create.sh -s

cd "$WORKDIR"
git clone  https://github.com/lsst/qserv-operator
cd qserv-operator
cp env.example.sh env.sh
./deploy.sh
./wait-operator-ready.sh
kubectl apply -k base
./wait-qserv-ready.sh
./run-integration-tests.sh

Prerequisites

For a local workstation

  • Ubuntu LTS is recommended
  • 8 cores, 16 GB RAM, 30GB for the partition hosting docker entities (images, volumes, containers, etc). Use df command as below to find its size.
sudo df –sh /var/lib/docker # or /var/snap/docker/common/var-lib-docker/
  • Internet access without proxy
  • sudo access
  • Install dependencies below:
sudo apt-get install curl docker.io git vim
  • Add current user to docker group and restart gnome session
sudo usermod -a -G docker <USER>

Generic to all setups

  • Access to a Kubernetes v1.14.2+ cluster via a valid KUBECONFIG file.
  • Dynamic volume provisionning need to be available on the Kubernetes cluster (for example kind for or GKE).

Deploy qserv-operator and a sample qserv instance

# Install qserv-operator
git clone https://github.com/lsst/qserv-operator.git
./deploy.sh

# OPTIONAL: Install a custom qserv instance
# Edit file below to customize this qserv instance
kubectl apply -f deploy/crds/qserv_v1alpha1_qserv_cr.yaml

Connect to the qserv instance

./run-integration-tests.sh

Build qserv-operator

Prerequisites

  • git
  • go version v1.12+.
  • docker version 17.03+.
  • kubectl version v1.11.3+.
  • Access to a Kubernetes v1.14.2+ cluster.

Build

git clone https://github.com/lsst/qserv-operator.git
cd qserv-operator
./build-all.sh

Test qserv-operator

./deploy.sh
./run-multinode-tests.sh
You can’t perform that action at this time.