Skip to content

gosoon/kubernetes-operator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ff55af6 · Dec 2, 2019

History

88 Commits
Aug 8, 2019
Aug 15, 2019
Sep 30, 2019
Oct 24, 2019
Nov 5, 2019
Aug 7, 2019
Sep 28, 2019
Nov 5, 2019
Aug 5, 2019
Nov 5, 2019
Aug 5, 2019
Aug 8, 2019
Jul 18, 2019
Jun 25, 2019
Nov 5, 2019
Nov 5, 2019
Sep 30, 2019
Sep 30, 2019
Aug 8, 2019

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages