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 that can then be used to deploy Kubernetes clusters.

Build

Build the binary using make.

make

Deployment

Upload the built binary somewhere accessible from Rancher. The binary name must match the format docker-machine-driver-* (e.g., docker-machine-driver-oxide) otherwise Rancher will error when trying to activate the 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

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