All Projects → SAP-archive → bosh-kubernetes-cpi-release

SAP-archive / bosh-kubernetes-cpi-release

Licence: Apache-2.0 license
The goal for this project is to provide a fully functional BOSH CPI. It will eventually allow to deploy any BOSH release to any Kubernetes cluster.

Programming Languages

haskell
3896 projects
shell
77523 projects

Projects that are alternatives of or similar to bosh-kubernetes-cpi-release

bosh-softlayer-cpi-release
An external BOSH CPI for the SoftLayer cloud written in Golang
Stars: ✭ 14 (-51.72%)
Mutual labels:  cloud-foundry, bosh-release, bosh, bosh-cpi
logsearch-boshrelease
A BOSH-scalable ELK release
Stars: ✭ 45 (+55.17%)
Mutual labels:  cloud-foundry, bosh-release, bosh
vault-boshrelease
No description or website provided.
Stars: ✭ 29 (+0%)
Mutual labels:  cloud-foundry, bosh-release, bosh
cf-rabbitmq-release
A BOSH Release of RabbitMQ
Stars: ✭ 29 (+0%)
Mutual labels:  cloud-foundry, bosh-release, bosh
stackdriver-tools
Stackdriver Nozzle for Cloud Foundry Loggregator, Host Monitoring Agents BOSH Release
Stars: ✭ 22 (-24.14%)
Mutual labels:  cloud-foundry, bosh-release
minio-boshrelease
MinIO release for http://bosh.io/
Stars: ✭ 31 (+6.9%)
Mutual labels:  cloud-foundry, bosh-release
bosh exporter
BOSH Prometheus Exporter
Stars: ✭ 22 (-24.14%)
Mutual labels:  cloud-foundry, bosh
btp-workflow-management-opensap
This repository contain the exercises for the openSAP course "Improve Business Processes with SAP Workflow Management."
Stars: ✭ 30 (+3.45%)
Mutual labels:  cloud-foundry
cf-nodejs-logging-support
Node.js Logging Support for Cloud Foundry provides the creation of structured log messages and the collection of request metrics
Stars: ✭ 39 (+34.48%)
Mutual labels:  cloud-foundry
app-autoscaler-release
Automated scaling for apps running on Cloud Foundry
Stars: ✭ 25 (-13.79%)
Mutual labels:  cloud-foundry
cf-cli-resource
Cloud Foundry CLI Concourse Resource
Stars: ✭ 46 (+58.62%)
Mutual labels:  cloud-foundry
Management
Management Endpoints used to allow insight into your applications
Stars: ✭ 31 (+6.9%)
Mutual labels:  cloud-foundry
watson-waste-sorter
Create an iOS phone application that sorts waste into three categories (landfill, recycling, compost) using a Watson Visual Recognition custom classifier
Stars: ✭ 45 (+55.17%)
Mutual labels:  cloud-foundry
spring-petclinic-cloud
Fork of the Spring Cloud Microservices project packaged to be deployed on several Cloud platforms: Kubernetes and Cloud Foundry
Stars: ✭ 106 (+265.52%)
Mutual labels:  cloud-foundry
paas-templates
Bosh, CFAR, CFCR and OSB services templates for use with COA (cf-ops-automation) framework
Stars: ✭ 16 (-44.83%)
Mutual labels:  bosh
cf-ops-automation
a collaboration framework for operating cloudfoundry and services at scale
Stars: ✭ 21 (-27.59%)
Mutual labels:  bosh
cloud-cap-multitenancy
SAP Cloud Application Programming Model (CAP) sample code project with multitenancy using service manager-created SAP HANA containers for tenant data isolation.
Stars: ✭ 33 (+13.79%)
Mutual labels:  cloud-foundry
bbr-pcf-pipeline-tasks
Collection of Concourse tasks for backing up a Tanzu Application Service (TAS) installation using BOSH Backup and Restore (BBR)
Stars: ✭ 39 (+34.48%)
Mutual labels:  bosh
Connectors
Connectors simplify connecting to standalone and CloudFoundry services
Stars: ✭ 28 (-3.45%)
Mutual labels:  cloud-foundry
consul-boshrelease
BOSH release for consul
Stars: ✭ 14 (-51.72%)
Mutual labels:  bosh-release

Important Notice

This public repository is read-only and no longer maintained.

BOSH Kubernetes CPI

NOTE: This documentation is currently valid for the upcoming release v6.

Description

This project aims to provide a fully functional BOSH CPI for Kubernetes.

There are limitations considering production readiness. However, you can in general use Kubernetes as yet another IaaS in the BOSH ecosystem.

You can find details on what is currently possible and what are known limitations below.

Prerequisites

Installation & Configuration

Get a cluster

Below are the installation steps for a Minikube and a GCE cluster. The same or similar steps should work on any other cluster.

Minikube

$ minikube start --cpus 3 --memory 4096 --disk-size 80g --vm-driver virtualbox
$ minikube ssh -- sudo ip link set docker0 promisc on
  • Prepare cluster
$ kubectl create -f deployment/minikube/assets/
  • Create a BOSH environment
$ ./deployment/minikube/scripts/create-env.sh
$ minikube ssh -- chmod 777 /mnt/sda1/hostpath-provisioner/*

GCE

  • Get an account
  • Install gcloud cli
  • Create a cluster
  • Prepare cluster
$ kubectl create -f deployment/gce/assets/
  • Wait for the loadbalancer to get an external IP
  • Create a BOSH environment
$ CLUSTER_NAME=<cluster name> ./deployment/gce/scripts/create-env.sh

Use the BOSH environment

  • Deploy e.g. zookeeper
$ cd ~/workspace
$ git clone https://github.com/cppforlife/zookeeper-release.git
$ cd ./deployments/minikube/bosh-env
$ bosh update-cloud-config ../bosh-deployment/kubernetes/cloud-config.yml
$ bosh upload-stemcell https://s3.eu-central-1.amazonaws.com/bosh-kubernetes-cpi-stemcells/bosh-stemcell-3445.11-kubernetes-ubuntu-trusty-go_agent.tgz

$ bosh -d zookeeper deploy ~/workspace/zookeeper-release/manifests/zookeeper.yml
$ bosh -d zookeeper deploy ~/workspace/zookeeper-release/manifests/zookeeper.yml
  • Verify Zookeeper deployment
$ bosh -d zookeeper run-errand smoke_tests

Mapping BOSH to Kubernetes

Virtual Machine

A Pod with a single container is used to represent a BOSH virtual machine.

Network

Kubernetes CPI currently only supports dynamic networks.

Persistent Disks

PersistentVolumeClaims are used to represent BOSH persistent disks.

Limitations

  • Only dynamic networks are supported, hence releases that require static IPs are out for now.
  • attach_disk is implemented by deleting the Pod and creating a new one with the required persistent disk attached.
    • there is currently an issue with BOSH DNS and the recreation of the Pod through attach_disk. #2
  • bosh agent requires to run in privileged containers
  • communication with Kubernetes is always insecure (i.e. no SSL verification)
  • legacy authorization
  • limited experimentation with nested containers. Installing Garden (and therefore Diego) is probably not possible at the moment
  • stemcell is currently taken from https://hub.docker.com/r/loewenstein/bosh-stemcell-kubernetes-ubuntu-trusty-go_agent/

Copyright and license

Copyright (c) 2017 SAP SE

Except as provided below, this software is licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].