Skip to content

Instantly share code, notes, and snippets.

@david-yu
Last active March 25, 2024 05:04
Show Gist options
  • Save david-yu/9a636d909bc45efe072968c37dc8c615 to your computer and use it in GitHub Desktop.
Save david-yu/9a636d909bc45efe072968c37dc8c615 to your computer and use it in GitHub Desktop.

OpenShift Install on Azure

Full instructions: https://docs.microsoft.com/en-us/azure/openshift/tutorial-create-cluster

Register the proper resource providers with your Azure subscription prior to installing OpenShfit.

az provider register -n Microsoft.RedHatOpenShift --wait
az provider register -n Microsoft.Compute --wait
az provider register -n Microsoft.Storage --wait
az provider register -n Microsoft.Authorization --wait

Get your oc client from: https://cloud.redhat.com/openshift/install/azure/aro-provisioned. Also download the pull-secret from the hybrid Cloud Console to pull Openshift images. If you need help getting access to cloud.readhat.com please reach out to Alex Cahn from the partner alliances team on Slack.

image

image

Install commands

export LOCATION=westus
export RESOURCEGROUP=dyu-openshift
export CLUSTER=consul
az group create \
  --name $RESOURCEGROUP \
  --location $LOCATION
  
az network vnet create \
   --resource-group $RESOURCEGROUP \
   --name aro-vnet \
   --address-prefixes 10.0.0.0/22
   
az network vnet subnet create \
  --resource-group $RESOURCEGROUP \
  --vnet-name aro-vnet \
  --name master-subnet \
  --address-prefixes 10.0.0.0/23 \
  --service-endpoints Microsoft.ContainerRegistry
  
az network vnet subnet create \
  --resource-group $RESOURCEGROUP \
  --vnet-name aro-vnet \
  --name worker-subnet \
  --address-prefixes 10.0.2.0/23 \
  --service-endpoints Microsoft.ContainerRegistry  

az network vnet subnet update \
  --name master-subnet \
  --resource-group $RESOURCEGROUP \
  --vnet-name aro-vnet \
  --disable-private-link-service-network-policies true
  
# Install OpenShift
  
az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet --pull-secret @pull-secret

Login to OpenShift

az aro list-credentials \
  --name $CLUSTER \
  --resource-group $RESOURCEGROUP
  
{
  "kubeadminPassword": "LoWT7-mo22Y-3AHXu-jVaxj",
  "kubeadminUsername": "kubeadmin"
}
  
az aro show \
    --name $CLUSTER \
    --resource-group $RESOURCEGROUP \
    --query "consoleProfile.url" -o tsv
    
https://console-openshift-console.apps.dgv8n46x.westus.aroapp.io/

Login via OpenShift CLI

Download CLI from OpenShift Console and strip oc CLI tool from quarantine

Make sure to download oc from https://cloud.redhat.com/openshift/install/azure/aro-provisioned and move to /usr/local/bin.

tar xvf openshift-client-mac-arm64.tar
sudo mv oc /usr/local/bin

Remove oc from Apple Quarantine and login to OpenShift via CLI.

xattr -dr com.apple.quarantine oc 
apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)
oc login $apiServer -u kubeadmin -p <kubeadmin password>

Install Consul

Below is an example on how to install Consul on Openshift. Please refer to Deploy Consul on RedHat Openshift for full instructions.

oc new-project consul
oc import-image hashicorp/consul:1.10.3-ubi --from=registry.connect.redhat.com/hashicorp/consul:1.10.3-ubi --confirm
oc import-image hashicorp/consul-k8s-control-plane:0.34.0-ubi --from=registry.connect.redhat.com/hashicorp/consul-k8s-control-plane:0.34.0-ubi --confirm

helm install -f config.yaml consul hashicorp/consul --version "0.34.1" --wait

Delete Cluster

az aro delete --resource-group $RESOURCEGROUP --name $CLUSTER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment