55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
# Kubernetes-control-plane
|
|
|
|
[Kubernetes](http://kubernetes.io/) 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](https://kubernetes.io/docs/home/).
|
|
|
|
This charm is an encapsulation of the Kubernetes control plane processes and the
|
|
operations to run on any cloud for the entire lifecycle of the cluster except for
|
|
etcd, which is available in a separate charm.
|
|
|
|
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 control-plane processes.
|
|
|
|
# Charmed Kubernetes
|
|
|
|
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](https://coreos.com/etcd/) and the
|
|
kubernetes-worker charm which delivers the Kubernetes node services. A cluster
|
|
also requires a Software Defined Network (SDN), a Container Runtime such as
|
|
[containerd](https://charmhub.io/containerd), and Transport Layer
|
|
Security (TLS) so the components in a cluster communicate securely.
|
|
|
|
Please take a look at the [Charmed Kubernetes](https://charmhub.io/charmed-kubernetes)
|
|
or the [Kubernetes core](https://charmhub.io/kubernetes-core) bundles for
|
|
examples of complete models of Kubernetes clusters.
|
|
|
|
For full install instructions, please see the [Charmed Kubernetes documentation](https://ubuntu.com/kubernetes/docs/quickstart).
|
|
|
|
For details on configuring and operating this charm, see the [kubernetes-control-plane documentation](https://ubuntu.com/kubernetes/docs/charm-kubernetes-master) on the same site.
|
|
|
|
# Developers
|
|
|
|
## Building the charm
|
|
|
|
```
|
|
make charm
|
|
```
|
|
|
|
## Testing the charm
|
|
|
|
```
|
|
tox
|
|
```
|
|
|
|
Note that the unit tests use [`charms.unit_test`](https://pypi.org/project/charms.unit-test/)
|
|
so all charms.reactive helpers are automatically patched with fakes and little manual
|
|
patching needs to be done. Things like `set_flag` and `is_flag_set` can be used directly.
|