The Spring Cloud Deployer implementation for Kubernetes
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn Update kubernetes-client version Apr 21, 2017
src Fix reported javadoc errors Dec 5, 2018
.gitignore Initializing project Mar 15, 2016
.jdk8 Bump to jdk8 Oct 19, 2016
.settings.xml Initializing project Mar 15, 2016
LICENSE Initializing project Mar 15, 2016
NOTICE Add notice file Oct 19, 2018
README.md Update compat chart for 1.10 May 29, 2018
mvnw Initializing project Mar 15, 2016
mvnw.cmd Initializing project Mar 15, 2016
pom.xml Upgrade to Boot 2.1.x Dec 5, 2018

README.md

Spring Cloud Deployer Kubernetes

A Spring Cloud Deployer implementation for deploying long-lived streaming applications and short-lived tasks to Kubernetes.

Kubernetes Compatibility

Deployer \ Kubernetes 1.4 1.5 1.6 1.7 1.8 1.9 1.10
1.1 ?
1.2 ? ? ?
1.3  ✕   ✕   ✓    ✓   
HEAD
  • Fully supported version.
  • ? Due to breaking changes between Kubernetes API versions, some features might not work (e.g., ABAC vs RBAC). Also, we haven't thoroughly tested against this version.
  • Unsupported version.

Building

Build the project without running tests using:

./mvnw clean install -DskipTests

Integration tests

All testing is curently done against a GKE cluster. Minikube is no longer useful since we test some parts of the external IP features that a LoadBalancer service provides.

Google Container Engine

Create a test cluster and target it using something like (use your own project name, substitute --zone if needed):

gcloud container --project {your-project-name} clusters create "spring-test" --zone "us-central1-b" --machine-type "n1-highcpu-2" --scopes "https://www.googleapis.com/auth/compute","https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write" --network "default" --enable-cloud-logging --enable-cloud-monitoring
gcloud config set container/cluster spring-test
gcloud config set compute/zone us-central1-b
gcloud container clusters get-credentials spring-test

Running the tests

Once the test cluster has been created, you can run all integration tests.

As long as your kubectl config files are set to point to your cluster, you should be able to just run the tests. Verify your config using kubectl config get-contexts and check that your test cluster is the current context.

Now run the tests:

$ ./mvnw test

NOTE: if you get authentication errors, try setting basic auth credentials:

Navigate to your project and cluster on https://console.cloud.google.com/ and click on show credentials

$export KUBERNETES_AUTH_BASIC_PASSWORD=
$export KUBERNETES_AUTH_BASIC_USERNAME=