Quay on Power
RedHat Quay container registry platform is a container image registry for storing and building container images as well as distributing other OCI artifacts. You can utilize Quay.io to automate container builds, with integration to GitHub, Bitbucket, and more. Robot accounts allow you to lock down automated access and audit each deployment. Quay continually scans your containers for vulnerabilities, giving you complete visibility into known issues and how to fix them.
Well, here’s a great news for Power community! Quay has been recently added official support for ppc64le architecture. Recently, I worked on contributing Power support to Quay and the latest upstream image 3.9-unstable is now multi-arch with ppc64le architecture support. Soon, the next official release v3.8 will have Power support as well. In this blog, we will go through steps for deploying Quay on Power.
Pre-requisites:
- IBM Power resource for installing docker compose
You can use the PowerVS service at IBM Cloud or Minicloud to get your ppc64le virtual machine. This example uses a Centos 8 ppc64le VM.
- Install Docker engine on Power VM
mkdir /root/docker; cd /root/dockerwget https://download.docker.com/linux/centos/8/ppc64le/stable/Packages/docker-ce-20.10.10-3.el8.ppc64le.rpmwget https://download.docker.com/linux/centos/8/ppc64le/stable/Packages/docker-ce-cli-20.10.10-3.el8.ppc64le.rpmwget https://download.docker.com/linux/centos/8/ppc64le/stable/Packages/docker-ce-rootless-extras-20.10.10-3.el8.ppc64le.rpmwget https://download.docker.com/linux/centos/8/ppc64le/stable/Packages/containerd.io-1.4.11-3.1.el8.ppc64le.rpmyum localinstall containerd.io-1.4.11-3.1.el8.ppc64le.rpm docker-ce-cli-20.10.10-3.el8.ppc64le.rpm docker-ce-20.10.10-3.el8.ppc64le.rpm docker-ce-rootless-extras-20.10.10-3.el8.ppc64le.rpmservice docker start
- Install Docker Compose on Power VM
curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-ppc64le" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
- Install Python 3.9
wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgztar xvf Python-3.9.13.tgzcd Python-3.9*/./configure --enable-optimizationssudo make altinstall
- Install Nodejs on Power VM
yum install nodejs -y
Deploy Quay on Power
- Get Quay source code
git clone https://github.com/quay/quay.gitcd quay
2. Update docker compose files to use Power image
Update quay service in docker-compose.yaml and docker-compose.static to use multi-arch image that has Power support: quay.io/projectquay/quay:3.9-unstable
3. Start Quay
make local-dev-up
This will deploy quay on localhost:8080
. You can access Quay UI on your browser at either https://localhost:8080
or https://<Power-VM-IP>:8080
.
You can test it by pushing any image to your quay server. Refer these steps or follow tutorial section on your Quay UI.
That’s all folks! Thanks for reading. Hope you found this tutorial helpful :)