Cennsonic
Cennso stands for Cloud ENabled Network Service Operations. Cennsonic is a Kubernetes based Cennso Network Integration Cluster.
Note. The Kubespray-based to deployment of Cennsonic is obsolete and has been removed from this repository. It is replaced with a Kubeadm based automation way -- Kube.
Rather than providing another turn-key automation tool for setting up Kubernetes clusters, this is meant to provide a framework, tools, and documentation to setup a cluster to run Cennso network services. Common tools are utilized to address the respective aspects of a cluster.
- Cloud Infrastrucutre Management with [Terraform]
- Configuration Mangement with [Ansible]
- Kubernetes Cluster Management based on kubeadm
- Supporting Cluster Components deployed with kubectl and [helm]
- Troubleshooting and FAQ
Infrastructure
The current approach assumes that every host purposed for the cluster should satisfy the following conditioins:
- Ubuntu 18.04 LTS OS upgraded after setup
- swap is turned off
- SSH access (either by password or by key)
- the hostname is set according to the node name (see recommendation below).
Optionally, sudo password could be disabled and needed SSH keys provisioned.
The recommended way of naming nodes is the following, assuming your cluster is named "cennsonic.example.net":
master-[01:XX].cennsonic.example.net
worker-[01:XX].cennsonic.example.net
Templates to mange infrastructure are available in the infra/
folder and
currently comprises
- IBM
- packet.net
- vshpere
Configuration Management
Ansible playbooks for different aspects of configuration are provided in
the ansible/
folder.
Required configurations:
Kubernetes Cluster
A Kubeadm-based tool kube
is used to deploy and maintain the Kubernets
mangement layer, which is acutally a shell script that executes kubeadm
on the remote hosts and takes care of some specific settings.
Components
After the plain Kubernetes cluster is set up, additional components could be installed to fulfill application and operational needs.
- Helm →
- Ingress →
- Network →
- Storage →
- Dashboard →
- Monitoring → NYI
- Load Balancer →
- Certificates Manager → WiP
Troubleshooting and FAQ
We will try to keep here known issues and the ways of it resolving.
License
Copyright 2018 Travelping GmbH
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file 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.