Ubuntu | Container Linux | CentOS | Flatcar | RHEL | SLES | Amazon Linux 2 | |
---|---|---|---|---|---|---|---|
AWS | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Azure | ✓ | ✓ | ✓ | ✓ | ✓ | x | x |
Digitalocean | ✓ | ✓ | ✓ | x | x | x | x |
Google Cloud Platform | ✓ | ✓ | x | x | ✓ | x | x |
Hetzner | ✓ | x | ✓ | x | x | x | x |
Packet | ✓ | ✓ | ✓ | x | x | x | x |
Openstack | ✓ | ✓ | ✓ | x | ✓ | x | x |
The operating system to use can be set via machine.spec.providerConfig.operatingSystem
.
Allowed values:
amzn2
centos
rhel
sles
ubuntu
OS specific settings can be set via machine.spec.providerConfig.operatingSystemSpec
.
Note that the table below lists the OS versions that we are validating in our automated tests. Machine controller may work with other OS versions that are not listed in the table but support won’t be provided.
Versions | |
---|---|
AmazonLinux2 | 2.x |
CentOS | 7.4.x, 7.6.x, 7.7.x |
RHEL | 8.0, 8.1 |
SLES | SLES 15 SP1 |
Ubuntu | 18.04 LTS |
apiVersion: "cluster.k8s.io/v1alpha1"
kind: MachineDeployment
metadata:
name: machine1
namespace: kube-system
spec:
paused: false
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
minReadySeconds: 0
selector:
matchLabels:
foo: bar
template:
metadata:
labels:
foo: bar
spec:
providerConfig:
value:
...
operatingSystem: "ubuntu"
operatingSystemSpec:
# do a apt-get dist-upgrade on start and reboot if required
distUpgradeOnBoot: true
apiVersion: "cluster.k8s.io/v1alpha1"
kind: MachineDeployment
metadata:
name: machine1
namespace: kube-system
spec:
paused: false
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
minReadySeconds: 0
selector:
matchLabels:
foo: bar
template:
metadata:
labels:
foo: bar
spec:
providerConfig:
value:
...
operatingSystem: "flatcar"
operatingSystemSpec:
# disable auto update
disableAutoUpdate: true
apiVersion: "cluster.k8s.io/v1alpha1"
kind: MachineDeployment
metadata:
name: machine1
namespace: kube-system
spec:
paused: false
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
minReadySeconds: 0
selector:
matchLabels:
foo: bar
template:
metadata:
labels:
foo: bar
spec:
providerConfig:
value:
...
operatingSystem: "centos"