kubernetes-operator

command module
v0.0.0-...-ff55af6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2019 License: Apache-2.0 Imports: 1 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
apis/ecs/v1
Package v1 contains API Schema definitions for the ecs v1 API group +k8s:deepcopy-gen=package,register +groupName=ecs.yun.com
Package v1 contains API Schema definitions for the ecs v1 API group +k8s:deepcopy-gen=package,register +groupName=ecs.yun.com
apis/installer/v1
Package v1 is a reverse proxy.
Package v1 is a reverse proxy.
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/ecs/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/ecs/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
exec
Package exec contains an interface for executing commands, along with helpers
Package exec contains an interface for executing commands, along with helpers
fs
Package fs contains utilities for interacting with the host filesystem in a docker friendly way
Package fs contains utilities for interacting with the host filesystem in a docker friendly way
test/mock_service
Package mock_service is a generated GoMock package.
Package mock_service is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL