Apple ARM-based Support

How to create VMs on ARM-based nodes. Features and limitations.

📘

Quick Navigation

Jump to: Overview | Limitations

Overview

Starting with Orka 2.0, it is now possible to deploy an Orka cluster of Apple ARM-based nodes and run your CI/CD workflows there. The Apple ARM-based nodes can also be added to an existing cluster with Intel-based nodes. Then, it will have both Intel-based and Apple ARM-based nodes. A prerequisite for that is to upgrade to Orka 2.0 before adding the new Apple ARM-based nodes.

Orka 2.0 allows to perform all the basic VM operations that are needed to run your CI/CD workflows on Apple ARM-based nodes. This includes create, purge and list VM configs, deploy, delete and list VMs as well as connecting to a VM via SSH or Screenshare.

VMs deployed on Apple ARM-based nodes use Apple Silicon images (with extension .orkasi). A VM is deployed on an Apple ARM-based or Intel node depending on the chosen image. VMs based on Intel images (with extension .img) are deployed on Intel nodes and VMs based on Apple Silicon images (with extension .orkasi) are deployed on Apple ARM-based nodes.

2048

List containing both Intel and Apple Silicon images

600

Create a VM using an ARM-based image on an Apple ARM-based node

🚧

Deployment on Apple ARM-based Nodes

When a VM is deployed on an Apple ARM-based node and this is the first time the image is used on the node, the deployment takes longer - about 4 minutes. Further deployments of VMs using the same image on the same node happen almost immediately and take about 5 seconds.

NOTE: To keep deployment times fast, you might want to make sure you deploy a VM on all nodes every time you create a new image. Have in mind though, that images are cached on the nodes. If you try to deploy a VM from an image that is not cached and there is not enough space on the node, the oldest cached image(s) will be deleted to free space for the new one.

🚧

Apple ARM-based Node Limitation

You can deploy up to 2 VMs per Apple ARM-based node.

Below is a full list of features included in the Apple ARM-based support:

Orka 2.2:

  • VMs - VM metadata
  • Images - resize
  • Integration with TeamCity

Orka 2.1:

  • VM port mappings
  • VM Internet Isolation
  • VM Network Isolation
  • Images - copy, rename
  • Storage - shared attached disk, secondary storage
  • Integration with Tekton

Orka 2.0:

  • VM configs - create, get, purge
  • VMs - deploy, delete, list, check status, connect via SSH, connect via Screenshare
  • Nodes - list, check status, list ports, dedicate
  • Images - list, rename, list remote, pull, delete, commit, save
  • Kube accounts - list, create, delete, regenerate, download kube-config
  • Users - all operations
  • Tokens - all operations
  • Logs - all operations
  • Environment checks - all operations
  • Integration with Jenkins, Gitlab, Buildkite, Github Actions, Packer

📘

GPU Passthrough and IO Boost

With VMs baed on Apple Silicon images, GPU Passthrough and IO Boost come out of the box. Therefore, the corresponding options --gpu and --io-boost are not applicable to them and will be ignored.

Limitations

  1. The Apple ARM-based Support includes all the features needed to run your CI/CD workflows on Apple ARM-based nodes. Below is a full list of the ones that are still not there and will be considered in the future versions of Orka:
  • VMs - stop, start, suspend, resume, connect via VNC
  • Images - download, upload

Below is a list of the ones that are not applicable to Apple ARM-based VMs:

  • Images - generate empty storage
  • Nodes - un/sandbox
  • Kube accounts - deploy resources via kubectl
  • ISOs - all operations
  • Storage - list disks, attached disk
  1. You can deploy up to 2 VMs per Apple ARM-based node.

  2. If you deploy a VM on an Apple ARM-based node and try to login to your iCloud account you might receive an error 'The action could not be completed'. This is a limitation of the Apple Virtualization Framework. As a workaround, you can download the needed software via a web browser and install it manually.

  3. Monitoring Apple ARM-based nodes in your Orka cluster will be delayed due to an issue in the monitoring solution we use. We are actively working with the monitoring solution provider on a resolution. This does not affect the Orka functionality and applies only to the Apple ARM-nodes hardware in an Orka cluster.

  4. There are cases reported by customers that some VMs might not be accessed via ScreenShare, but only SSH. Further investigation shows that this is caused by a failed GPU module under the new Apple Silicon architecture. There are also some external bug reports related to the issue here and here.

  5. Deploying more that 253 VMs on the same node for the period of 24h might results in a VM not accessible. This is caused by the lack of free IPs left on the node and the VM cannot be assigned an IP address. The IP range is reset every 24h, so after a while you should be able to deploy new VMs to the node.

  6. VM revert and VM save/delete/use state features are not supported due to limitations of the Apple Virtualization Framework.


© 2019-2023 Copyright MacStadium, Inc. – Documentation built with readme.com. Orka is a registered trademark of MacStadium, Inc.