Coder Social home page Coder Social logo

gosoon / kubernetes-operator Goto Github PK

View Code? Open in Web Editor NEW
77.0 10.0 20.0 40.93 MB

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

License: Apache License 2.0

Shell 9.25% Go 89.97% Dockerfile 0.42% Makefile 0.36%
kubernetes operator cluster kube-on-kube kube-to-kube

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kubernetes-operator's Issues

在安装过程中,遇到报错。

你好,我按照你的 readme 的 Getting started,体验了一下,遇到如下报错。就其使用过程,您能否给出更多说明或文档,感谢。

  1. Error creating: pods "kubernetes-operator-578998f49-" is forbidden: error looking up service account ecs-system/kubernetes-operator: serviceaccount "kubernetes-operator" not found

  2. 在执行 test/create_ecs.sh 时,遇到如下报错。

http://127.0.0.1:8001/api/v1/region/default/cluster/test-cluster
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {
    
  },
  "status": "Failure",
  "message": "the server could not find the requested resource",
  "reason": "NotFound",
  "details": {
    
  },
  "code": 404

Screenshot from 01

制作镜像失败

some log:

Successfully built 1b932d70dcba
Successfully tagged ansibleinit:latest
GO111MODULE=on GOPROXY=https://mirrors.aliyun.com/goproxy/ GOOS=linux GOARCH=amd64 go build -ldflags "" -o output/kubernetes-operator cmd/kube-operator/app.go
# github.com/gosoon/kubernetes-operator/pkg/apis/installer/v1
pkg/apis/installer/v1/installer.pb.gw.go:74:16: undefined: runtime.AnnotateIncomingContext
pkg/apis/installer/v1/installer.pb.gw.go:155:77: too many arguments in call to runtime.NewPattern
pkg/apis/installer/v1/installer.pb.gw.go:155:160: undefined: runtime.AssumeColonVerbOpt
Makefile:24: recipe for target 'images' failed
make: *** [images] Error 2

步骤:

  1. make images

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.