Skip to content

This repository contains the Rancher Node Driver for provisioning hosts on Oxide that can be used by Rancher to deploy Kubernetes clusters.

License

Notifications You must be signed in to change notification settings

oxidecomputer/rancher-machine-driver-oxide

Repository files navigation

Oxide Rancher Machine Driver

This repository contains the Oxide Rancher machine driver, also known as a node driver in Rancher parlance. Rancher uses this node driver to provision virtual machines on Oxide and install Kubernetes on those virtual machines.

Build

Build the binary using make.

make build

Deployment

Upload a built binary somewhere accessible from Rancher. The binary name must match the format docker-machine-driver-* otherwise Rancher will error when trying to create a new node driver.

Ensure your kubectl context is configured to use your Rancher Kubernetes cluster.

Create the following Kubernetes manifest.

oxide-nodedriver.yaml
---
apiVersion: management.cattle.io/v3
kind: NodeDriver
metadata:
  name: oxide
  annotations:
    privateCredentialFields: token
    publicCredentialFields: host,project
  finalizers:
  - controller.cattle.io/node-driver-controller
spec:
  active: true
  addCloudCredential: true
  builtin: false
  checksum: <SHA256SUM_OF_BINARY>
  description: "Oxide Rancher node driver."
  displayName: oxide
  externalId: ""
  uiUrl: ""
  url: "https://example.com/docker-machine-driver-oxide"

Apply the Kubernetes manifest to create the Oxide Rancher node driver.

kubectl apply -f oxide-nodedriver.yaml

Rancher UI Extensions

The default user interface is sufficient for most use cases.

In the future, Rancher UI Extensions can be used to extend the node driver UI.

About

This repository contains the Rancher Node Driver for provisioning hosts on Oxide that can be used by Rancher to deploy Kubernetes clusters.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published