nodeset

module
v0.0.0-...-6a55101 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2018 License: Apache-2.0

README

Kube-Node / NodeSet

kube-node is a minimalistic API which enables Kubernetes to manage its nodes by itself. The goal is to have a higher abstraction layer for managed k8s nodes and to be able to integrate Kubernetes with different providers in a generic way. It is intended to live outside of core Kubernetes and add optional node management features to Kubernetes clusters.

API Proposal

here

Deployment

here

Examples

NodeSet
apiVersion: nodeset.k8s.io/v1alpha1
kind: NodeSet
metadata:
  name: my-nodeset
spec:
  nodeClass: "nodeclass-do-2gb"
  nodeSetController: "default"
  replicas: 5
  maxUnavailable: 0
  maxSurge: 1
NodeClass (For Kube-Machine)
apiVersion: nodeset.k8s.io/v1alpha1
kind: NodeClass
metadata:
  name: nodeclass-do-2gb
nodeController: kube-machine
config:
  dockerMachineFlags:
    digitalocean-access-token: YOUR-DO-TOKEN
    digitalocean-image: coreos-stable
    digitalocean-private-networking: "true"
    digitalocean-region: fra1
    digitalocean-size: 2gb
    digitalocean-ssh-user: core
  provider: digitalocean
  provisioning:
    commands:
    - sudo chmod +x /opt/bin/bootstrap.sh && sudo /opt/bin/bootstrap.sh
    - sudo systemctl enable kubelet && sudo systemctl start kubelet
    files:
    - content: |-
        YOUR-BOOTSTRAP-KUBECONFIG
      owner: root
      path: /etc/kubernetes/bootstrap.kubeconfig
      permissions: "0640"
    - content: |-
        SOME-BOOTSTRAP-BASH-SCRIPT
      owner: root
      path: /opt/bin/bootstrap.sh
      permissions: "0750"
    - content: |-
        THE-KUBELET-SYSTEMD-UNIT-FILE
      owner: root
      path: /etc/systemd/system/kubelet.service
      permissions: "0640"
    users:
    - name: apiserver
      ssh_keys:
      - SOME-SSH-PUBLIC-KEY
      sudo: true

Directories

Path Synopsis
cmd
nodeset-controller/app/options
Package options provides the flags used for the controller manager.
Package options provides the flags used for the controller manager.
pkg
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/nodeset/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/nodeset/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
nodeset/v1alpha1
+k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=nodeset.k8s.io Copyright 2017 The Kubernetes Authors.
+k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=nodeset.k8s.io Copyright 2017 The Kubernetes Authors.

Jump to

Keyboard shortcuts

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