# PKS Basics

## Introduction

Pivotal Container Service (PKS) enables operators to provision, operate, and manage enterprise-grade Kubernetes clusters using BOSH and Pivotal Ops Manager.

## Architecture

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lb7SAstgE6Ae0BisAes%2Fuploads%2FjpPQr3dcx0rxRW2H4dNM%2Ffile.png?alt=media)

## **Terminology**

**PKS**: Pivotal Container Service (PKS) enables operators to provision, operate, and manage enterprise-grade Kubernetes clusters using BOSH and Pivotal Ops Manager.

**BOSH**: an open-source tool for release engineering, deployment, lifecycle management, and monitoring of distributed systems[https://bosh.io/docs/](https://bosh.io/docs/)

**BOSH Release**: A release is a versioned collection of configuration properties, configuration templates, start up scripts, source code, binary artifacts, and anything else required to build and deploy software in a reproducible way. Release could be a Git repo or a single tarball[https://bosh.io/docs/release/](https://bosh.io/docs/release/)

**BOSH Development**: A deployment is a collection of VMs, built from a stemcell, that has been populated with specific releases and disks that keep persistent data. These resources are created in the IaaS based on a deployment manifest and managed by the Director, a centralized management server.[https://bosh.io/docs/deployment/](https://bosh.io/docs/deployment/)

**BOSH Stemcell**: A stemcell is a versioned Operating System image wrapped with IaaS specific packaging.[https://bosh.io/docs/stemcell/](https://bosh.io/docs/stemcell/)

**CFCR**: a BOSH release that offers a uniform way to instantiate, deploy, and manage highly available Kubernetes clusters on a cloud platform using BOSH.[https://docs-cfcr.cfapps.io/](https://docs-cfcr.cfapps.io/)

What CFCR are providing:

*   Deploying Solutions:

    CFCR offers the following solutions to improve the experience of deploying Kubernetes clusters:

    * Repeatability and consistency when deploying “Kubernetes-as-a-service” within an organization
    * A single control plane to provision and manage Kubernetes services
*   Managing Solutions:

    CFCR offers the following solutions to improve the experience of managing Kubernetes clusters:

    * High-availability and multi-AZ support: BOSH can deploy multiple master/etcd/worker nodes across multiple availability zones, and monitor their health.
    * Scaling: BOSH allows the operator to scale the number of instances in the cluster up and down by modifying the manifest.
    * VM healing: BOSH continuously monitors the health of all VM instances and recreates VMs. Self-healing VMs and monitoring via BOSH.
    * Upgrades: BOSH manages the rolling upgrade process for a fleet of Kubernetes clusters.

**On-Demand Services SDK and the On-Demand Broker**:

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lb7SAstgE6Ae0BisAes%2Fuploads%2FretpcB8KX60gMVqBOsWJ%2Ffile.png?alt=media)

* The on-demand services SDK: provides a generic on-demand broker (ODB) that answers API calls from the Cloud Controller.
* Service authors: add service-specific functionality to the on-demand services SDK through an executable called a Service Adapter. These components combine to create a BOSH deployment.
* Tile authors customize the tile interface used by operators. The tile consumes the BOSH deployment to generate a BOSH manifest for deploying on-demand instances of the service

References:

* Official PKS website: [https://pivotal.io/platform/pivotal-container-service](https://pivotal.io/platform/pivotal-container-service)
* PKS documentation: [https://docs.pivotal.io/runtimes/pks/1-4/index.html](https://docs.pivotal.io/runtimes/pks/1-4/index.html)
