Giter VIP home page Giter VIP logo

kubernetes-operator's Introduction

kubernetes-operator

License Go Report Card

kubernetes-operator is a control plane and manage all kubernetes cluster lifecycle.

Introduce

kubernetes-operator contains several large parts

  • kubernetes-proxy: is a proxy and all requests pass through,look like a gateway.
  • kube-operator: is a kubernetes operator deploy in meta kubernetes and manage all kubernetes clusters(create、scale、delete).
  • cluster deploy: At present, the main focus is on kube-on-kube,and use ansible deploy kubernetes cluster and multiple kubernetes cluster applications, eg: metric-server、 promethus、log-polit、helm...
  • node-operator: Manage cluster upgrade, fault self-healing, etc.

The kubernetes-operator goal

  • kube-on-kube:Similar to Ant Financial kube-on-kube-operator.
  • kube-to-kube:The difference with kube-on-kube is that the master component of the business cluster is not in the meta cluster.
  • kube-to-cloud-kube : Manage clusters on multiple cloud environments.

Getting started

First you need to make two images,one is kubernetes-operator,the other one is ansibleinit。And deploy kubernetes-operator in your kubernetes-cluster,if you don't have a kubernetes cluster,please see scripts/REAEME.md and deploy one.

$ make images
// update your image address and deploy kubernetes-operator
$ kubectl create -f  deploy/
namespace/ecs-system created
customresourcedefinition.apiextensions.k8s.io/kubernetesclusters.ecs.yun.com created
deployment.apps/kubernetes-operator created
clusterrole.rbac.authorization.k8s.io/kubernetes-operator created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-operator created
serviceaccount/kubernetes-operator created


// CustomResources is KubernetesCluster,"ecs" for short in the kubernetes-operator
$ kubectl get crd
NAME                                  CREATED AT
kubernetesclusters.ecs.yun.com        2019-08-05T12:23:52Z

// update operator server in create_ecs.sh and create a cluster
$ bash test/create_ecs.sh  

$ kubectl get ecs
NAME           STATUS        AGE
test-cluster   Prechecking   45m

Development Plan

  1. support deploy k3s、kubeedge cluster
  2. support use kops deploy cluster
  3. support for multiple version deploy
  4. development node-operator
  5. support admission control

Detailed instructions

kubernetes-operator's People

Contributors

gosoon avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.