k3s/cluster/juju/layers/kubernetes-master
Kubernetes Submit Queue c7758debda
Merge pull request #66523 from hyperbolic2346/mwilson/ceph
Automatic merge from submit-queue (batch tested with PRs 67661, 67497, 66523, 67622, 67632). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Updating ceph to use CSI for k8s >= 1.10

**What this PR does / why we need it**:
Updates the ceph charms to use CSI if the k8s version is >= 1.10
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
Kubernetes juju charms will now use CSI for ceph.
```
2018-08-21 13:00:05 -07:00
..
actions Updating ceph to use CSI for k8s >= 1.10 2018-07-23 18:36:40 -04:00
debug-scripts Update CDK charms to use snaps 2017-04-14 10:43:00 -05:00
exec.d/vmware-patch Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
lib/charms/kubernetes Add extra-args configs to kubernetes-worker charm 2017-11-08 12:49:37 -06:00
reactive Merge pull request #66523 from hyperbolic2346/mwilson/ceph 2018-08-21 13:00:05 -07:00
templates Use the updated (RBAC enabled) cdk-addons 2017-10-09 11:04:47 +03:00
README.md Use the updated (RBAC enabled) cdk-addons 2017-10-09 11:04:47 +03:00
actions.yaml Changing ceph CSI to use cdk-addons for template rendering 2018-08-01 11:05:32 -04:00
config.yaml Merge pull request #66523 from hyperbolic2346/mwilson/ceph 2018-08-21 13:00:05 -07:00
copyright
icon.svg
layer.yaml Add support for OpenStack integrator charm 2018-06-07 12:48:54 -04:00
metadata.yaml Add bionic series (not default) 2018-06-29 13:44:17 -04:00
metrics.yaml Fix: PV metric is not namespaced 2017-07-21 13:55:17 +03:00
tox.ini Remove makefile and use tox.ini from basic layer to pin it 2017-05-08 19:19:18 +03:00

README.md

Kubernetes-master

Kubernetes is an open source system for managing application containers across a cluster of hosts. The Kubernetes project was started by Google in 2014, combining the experience of running production workloads combined with best practices from the community.

The Kubernetes project defines some new terms that may be unfamiliar to users or operators. For more information please refer to the concept guide in the getting started guide.

This charm is an encapsulation of the Kubernetes master processes and the operations to run on any cloud for the entire lifecycle of the cluster.

This charm is built from other charm layers using the Juju reactive framework. The other layers focus on specific subset of operations making this layer specific to operations of Kubernetes master processes.

Deployment

This charm is not fully functional when deployed by itself. It requires other charms to model a complete Kubernetes cluster. A Kubernetes cluster needs a distributed key value store such as Etcd and the kubernetes-worker charm which delivers the Kubernetes node services. A cluster requires a Software Defined Network (SDN) and Transport Layer Security (TLS) so the components in a cluster communicate securely.

Please take a look at the Canonical Distribution of Kubernetes or the Kubernetes core bundles for examples of complete models of Kubernetes clusters.

Resources

The kubernetes-master charm takes advantage of the Juju Resources feature to deliver the Kubernetes software.

In deployments on public clouds the Charm Store provides the resource to the charm automatically with no user intervention. Some environments with strict firewall rules may not be able to contact the Charm Store. In these network restricted environments the resource can be uploaded to the model by the Juju operator.

Configuration

This charm supports some configuration options to set up a Kubernetes cluster that works in your environment:

dns_domain

The domain name to use for the Kubernetes cluster for DNS.

enable-dashboard-addons

Enables the installation of Kubernetes dashboard, Heapster, Grafana, and InfluxDB.

enable-rbac

Enable RBAC and Node authorisation.

DNS for the cluster

The DNS add-on allows the pods to have a DNS names in addition to IP addresses. The Kubernetes cluster DNS server (based off the SkyDNS library) supports forward lookups (A records), service lookups (SRV records) and reverse IP address lookups (PTR records). More information about the DNS can be obtained from the Kubernetes DNS admin guide.

Actions

The kubernetes-master charm models a few one time operations called Juju actions that can be run by Juju users.

create-rbd-pv

This action creates RADOS Block Device (RBD) in Ceph and defines a Persistent Volume in Kubernetes so the containers can use durable storage. This action requires a relation to the ceph-mon charm before it can create the volume.

restart

This action restarts the master processes kube-apiserver, kube-controller-manager, and kube-scheduler when the user needs a restart.

More information

Contact

The kubernetes-master charm is free and open source operations created by the containers team at Canonical.

Canonical also offers enterprise support and customization services. Please refer to the Kubernetes product page for more details.