All Projects → sapcc → Kubernetes Operators

sapcc / Kubernetes Operators

Licence: apache-2.0
Operators that automate common tasks for managing Openstack on Kubernetes.

Programming Languages

go
31211 projects - #10 most used programming language
operators
16 projects

Projects that are alternatives of or similar to Kubernetes Operators

Terraform Openstack Rke
Terraform Openstack RKE
Stars: ✭ 23 (-79.82%)
Mutual labels:  openstack
Devops Exercises
Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization. DevOps Interview Questions
Stars: ✭ 20,905 (+18237.72%)
Mutual labels:  openstack
Kubernikus
Kubernetes as a Service for Openstack
Stars: ✭ 97 (-14.91%)
Mutual labels:  openstack
Fortistacks
Project gathering how to use Fortinet product as VNFs, with examples, MANO, VIM etc.. see website for details
Stars: ✭ 26 (-77.19%)
Mutual labels:  openstack
Docker Swarm
🐳🐳🐳 This repository is part of a blog series on Docker Swarm example using VirtualBox, OVH Openstack, Azure and Amazon Web Services AWS
Stars: ✭ 43 (-62.28%)
Mutual labels:  openstack
Openstack Helm
PROJECT HAS MOVED TO OPENSTACK
Stars: ✭ 67 (-41.23%)
Mutual labels:  openstack
Haproxy Wi
Web interface for managing Haproxy, Nginx and Keepalived servers
Stars: ✭ 823 (+621.93%)
Mutual labels:  openstack
Linchpin
ansible based multicloud orchestrator
Stars: ✭ 107 (-6.14%)
Mutual labels:  openstack
Elektra
An opinionated openstack Web UI for consumer self service and operations.
Stars: ✭ 47 (-58.77%)
Mutual labels:  openstack
Mimir
Fast and minimal shell prompt
Stars: ✭ 90 (-21.05%)
Mutual labels:  openstack
Otc Tools
(Deprecated) Simple bash/curl/jq based command line tool using the OpenStack and OTC specific REST APIs.
Stars: ✭ 26 (-77.19%)
Mutual labels:  openstack
Openstack Policy Editor
A Casbin Policy Editor for OpenStack
Stars: ✭ 28 (-75.44%)
Mutual labels:  openstack
Labs
Research on distributed system
Stars: ✭ 73 (-35.96%)
Mutual labels:  openstack
Openstack Exporter
Prometheus openstack exporter written in Golang.
Stars: ✭ 23 (-79.82%)
Mutual labels:  openstack
Pythonstudy
Python related technologies used in work: crawler, data analysis, timing tasks, RPC, page parsing, decorator, built-in functions, Python objects, multi-threading, multi-process, asynchronous, redis, mongodb, mysql, openstack, etc.
Stars: ✭ 103 (-9.65%)
Mutual labels:  openstack
F5 Openstack Lbaasv1
OpenStack Neutron LBaaSv1 plugin and agent to control F5 BIG-IP devices
Stars: ✭ 6 (-94.74%)
Mutual labels:  openstack
Manageiq
ManageIQ Open-Source Management Platform
Stars: ✭ 1,089 (+855.26%)
Mutual labels:  openstack
K8s On Openstack
An opinionated way to deploy a Kubernetes cluster on top of an OpenStack cloud.
Stars: ✭ 108 (-5.26%)
Mutual labels:  openstack
Mist Ce
Mist is an open source, multi-cloud management platform
Stars: ✭ 1,391 (+1120.18%)
Mutual labels:  openstack
Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (-24.56%)
Mutual labels:  openstack

Kubernetes Openstack Operators

This repository holds operators that automate common tasks for managing Openstack on Kubernetes.

We define an operator as piece of software that uses Kubernetes primitives to model domain specific operational tasks. It extends Kubernetes using best practices and controller concepts to remote control the system through the API on behalf of a Kubernetes user. Using the third party resource mechanismm, this allows us to detangle configuration changes and offloads the burden of generating and reconfiguring the system into a dynamic runtime component.

See also: CoreOS - Introducing Operators

Example

As an example, a ThirdPartyResource BuildingBlock drives the creation of a set of Nova-Agents through a DeploymentSpec. The operator will watch for changes on BuildingBlock events and create/update the specs for the nova agents. Additionally, it could remote control auxiliary systems, like sending a status notification when a builing block goes into maintenance mode.

Now that building block configuration can be manages as Kubernetes spec, we have a standarized way of changing the system's configuration - through Kubernetes. This decoupling reduces the churn on the redeployment of the whole system and makes changes easy and documentable.

Additionally, "change" is now easy to compose even across system boundaries. A new building block can be onboarded with an automated process, directly from a build pipeline, triggered by a Git commit. Even auto-registration is a thinkable scenario now. The building block could come with an agent that talks directly to Kubernetes.

Design Principles

Operators are build in Go. They use kubernetes/client-go to interface with the Kubernetes API. They follow the Kubernetes controller best practices and programatically manage resources.

Operators have one job and do that job well. They are easy to reason about.

Prior Art

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].