GithubHelp home page GithubHelp logo

alexxnica / kubo-deployment Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cloudfoundry-incubator/kubo-deployment

0.0 1.0 0.0 11.14 MB

Contains scripts and configuration files used to build and deploy Kubo (Kubernetes on Bosh)

Home Page: https://pivotal.io/kubo

License: Apache License 2.0

Shell 34.31% Go 65.69%

kubo-deployment's Introduction

kubo-deployment

Kubo is a BOSH release for Kubernetes. It provides a solution for deploying and managing Kubernetes with BOSH

This repository contains the documentation and manifests for deploying kubo-release with BOSH.

Slack: #kubo on https://slack.cloudfoundry.org Pivotal Tracker: https://www.pivotaltracker.com/n/projects/2093412

CI Status

Build Kubo Release status Build Kubo Release Badge

IaaS specific jobs

Job GCP with CF routing pipeline Status GCP with load balancer status vSphere status
Install BOSH BOSH GCP Badge BOSH GCP LB Badge BOSH vSphere Badge
Deploy K8s Deploy K8s GCP Badge Deploy K8s GCP LB Badge Deploy K8s vSphere Badge
Run smoke tests Run smoke tests GCP Badge Run smoke tests GCP LB Badge Run smoke tests vSphere Badge

See the complete pipeline for more details. The CI pipeline definitions are stored in the kubo-ci repository.

Table of Contents

Design

Components

A specialized BOSH director manages the virtual machines for the Kubo instance. This involves VM creation, health checking, and resurrection of missing or unhealthy VMs. The BOSH director includes CredHub and PowerDNS to handle certificate generation within the kubo clusters. Additionally, Credhub is used to store the auto-generated passwords.

Networking Topology - using IaaS Load Balancers

Diagram describing how traffic is routed to Kubo

The nodes that run the Kubernetes API (master nodes) are exposed through an IaaS specific load balancer. The load balancer will have an external static IP address that is used as a public and internal endpoint for traffic to the Kubernetes API.

Kubernetes services can be exposed using a second IaaS specific load balancer which forwards traffic to the Kubernetes worker nodes.

Networking Topology - using Cloud Foundry routing

Diagram describing how traffic is routed to Kubo using CF

The nodes that run the Kubernetes API (master nodes) register themselves with the Cloud Foundry TCP router. The TCP Router acts as both public and internal endpoint for the Kubernetes API to route traffic to the master nodes of a Kubo instance. All traffic to the API goes through the Cloud Foundry TCP router and then to a healthy node.

The Cloud Foundry subnet must be able to route traffic directly to the Kubo subnet. It is recommended to keep them in separate subnets when possible to avoid the BOSH directors from trying to provision the same addresses. This diagram specifies CIDR ranges for demonstration purposes as well as a public router in front of the Cloud Foundry gorouter and tcp-router which is typical.

Glossary

  • Kubo - Kubernetes on BOSH
  • Bastion - A server within the kubo network that provides secure access to kubo.
  • Kubo environment Configuration - Folder that contains all configuration files needed to deploy BOSH and Kubo, as well as all configuration files that are generated during deployment. Also called <KUBO_ENV>
  • Creds - Credentials that are generated during BOSH deployment process and stored in <KUBO_ENV>/creds.yml
  • Service - stands for K8s service, which represents a logical collection of Kubernetes pods and a way to access them without needing information about the specific pods

Installation

Please follow the install guide for installation instructions.

Troubleshooting

Please refer to the troubleshooting guide to look for solutions to the most common issues.

Documentation

Review the following documentation to get a better understanding of Cloud Foundry and Kubernetes architectures.

Contributing

For instructions on contributing to this project, please see CONTRIBUTING.md.

kubo-deployment's People

Contributors

akshaymankar avatar alex-slynko avatar bentarnoff avatar bsnchan avatar christianang avatar christopherclark avatar cppforlife avatar cunnie avatar danjahner avatar dpb587-pivotal avatar drnic avatar freynca avatar greg-patricio avatar iainsproat avatar jaimegag avatar jamiemonserrate avatar jfmyers9 avatar jhvhs avatar johnsonj avatar karampok avatar manifaust avatar mattcui avatar mkjelland avatar mordebites avatar opusdude avatar semanticallynull avatar srm09 avatar tvs avatar voelzmo avatar xtreme-sameer-vohra avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.