Skip to content

Instantly share code, notes, and snippets.

@nmasse-itix
Last active October 11, 2023 07:31
Show Gist options
  • Save nmasse-itix/25470c75506288c5ea9e323e057671a8 to your computer and use it in GitHub Desktop.
Save nmasse-itix/25470c75506288c5ea9e323e057671a8 to your computer and use it in GitHub Desktop.
Create a metal / GPU cluster on AWS

Demande d'un environnement AWS Blank Open Environment sur demo.redhat.com.

Infos reçues :

  • Console: https://REDACTED.signin.aws.amazon.com/console
  • AWS_ACCESS_KEY_ID: AKIA...QWCB
  • AWS_SECRET_ACCESS_KEY: 9vW9...YSfC
  • Top level route53 domain: .REDACTED.opentlc.com
  • Web Console Credentials: nmasse@redhat.com-REDACTED-admin / REDACTED

Création d'un utilisateur IAM en suivant les instructions d'AWS et documentation OpenShift.

  • Login: openshift-installer
  • Mot de passe: REDACTED
  • Access Key: AKIA...Y5YM
  • Secret Key: /4y7...sYrB
$ curl -SsfL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.13.11/openshift-install-linux.tar.gz | tar -zx -C /usr/local/bin openshift-install

$ openshift-install version
openshift-install 4.13.11
built from commit 9d43921e58363189333373aec9d76f74004e3499
release image quay.io/openshift-release-dev/ocp-release@sha256:e1c2377fdae1d063aaddc753b99acf25972b6997ab9a0b7e80cfef627b9ef3dd
release architecture amd64

$ mkdir /tmp/demo-aws
$ cd /tmp/demo-aws
$ aws configure
AWS Access Key ID []: AKIA...Y5YM
AWS Secret Access Key []: /4y7...sYrB
Default region name [eu-west-3]: 
Default output format [json]:

$ openshift-install create install-config --dir cluster 
? SSH Public Key /home/nmasse/.ssh/id_ed25519.pub
? Platform aws
INFO Credentials loaded from the "default" profile in file "/home/nmasse/.aws/credentials" 
? Region eu-west-3
? Base Domain REDACTED.opentlc.com
? Cluster Name summitconnect
? Pull Secret [? for help] *********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
INFO Install-Config created in: cluster

$ cat > cluster/install-config.yaml <<"EOF"
additionalTrustBundlePolicy: Proxyonly
apiVersion: v1
baseDomain: REDACTED.opentlc.com
compute:
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  platform:
    aws:
      type: m5.metal
      zones:
      - eu-west-3a
      - eu-west-3b
  replicas: 2
- architecture: amd64
  hyperthreading: Enabled
  name: worker
  platform:
    aws:
      type: g4dn.12xlarge
      zones:
      - eu-west-3c
  replicas: 1
controlPlane:
  architecture: amd64
  hyperthreading: Enabled
  name: master
  platform:
    aws:
      rootVolume:
        iops: 4000
        size: 500
        type: io1 
      type: m5.2xlarge
      zones:
      - eu-west-3a
      - eu-west-3b
      - eu-west-3c
  replicas: 3
metadata:
  creationTimestamp: null
  name: demo
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
  networkType: OVNKubernetes
  serviceNetwork:
  - 172.30.0.0/16
platform:
  aws:
    region: eu-west-3
publish: External
pullSecret: 'PULL SECRET HERE'
sshKey: |
  ssh-ed25519 AAAA...REDACTED...nQui nmasse@localhost.localdomain
EOF

$ openshift-install create cluster --dir cluster --log-level info
INFO Credentials loaded from the "default" profile in file "/home/nmasse/.aws/credentials"
INFO Consuming Install Config from target directory
INFO Creating infrastructure resources...
INFO Waiting up to 20m0s (until 6:34PM) for the Kubernetes API at https://api.demo.REDACTED.opentlc.com:6443... 
INFO API v1.26.7+0ef5eae up                       
INFO Waiting up to 30m0s (until 6:44PM) for bootstrapping to complete... 
INFO Destroying the bootstrap resources...        
INFO Waiting up to 40m0s (until 6:54PM) for the cluster at https://api.demo.REDACTED.opentlc.com:6443 to initialize... 
INFO Checking to see if there is a route at openshift-console/console... 
INFO Install complete!                            
INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/tmp/demo-aws/cluster/auth/kubeconfig' 
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.demo.REDACTED.opentlc.com 
INFO Login to the console with user: "kubeadmin", and password: "REDACTED" 
INFO Time elapsed: 7s                             

$ oc login -u kubeadmin -p REDACTED https://api.demo.REDACTED.opentlc.com:6443

$ oc get node -o custom-columns="NAME:.metadata.name,CPU:.status.capacity.cpu,RAM:.status.capacity.memory" 
NAME                                         CPU   RAM
ip-10-0-145-104.eu-west-3.compute.internal   96    395846468Ki
ip-10-0-150-98.eu-west-3.compute.internal    8     32037804Ki
ip-10-0-170-57.eu-west-3.compute.internal    8     32381868Ki
ip-10-0-185-77.eu-west-3.compute.internal    96    395846468Ki
ip-10-0-202-228.eu-west-3.compute.internal   96    395846468Ki
ip-10-0-204-250.eu-west-3.compute.internal   8     32037804Ki
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment