Generic nodeset for kubernetes
Switch branches/tags
Nothing to show
Clone or download
mrIncompetent Merge pull request #12 from guusvw/fix/gke-setup
update README & gke-replicaset.yaml
Latest commit 6a55101 Feb 7, 2018

README.md

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