travelping / cennsonic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cennsonic

License: Apache-2.0 GitHub Release Badge Unstable Badge

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.

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.

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.

About

License:Apache License 2.0


Languages

Language:Shell 82.6%Language:HCL 14.7%Language:Makefile 2.2%Language:Dockerfile 0.4%