https://github.com/converged-computing/usernetes-azure

https://github.com/converged-computing/usernetes-azure

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: converged-computing
  • Language: Python
  • Default Branch: main
  • Size: 1.84 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme

README.md

usernetes-azure

Launching a cluster

The method described here to launch a cluster uses the Azure interface directly, not Terraform. After logging into the Azure portal, create a new VMSS with the following attributes (if not mentioned then not modified):

Basic menu: * name of the VMSS : flux-usernetes * Resource group : create a new one (flux-usernetes) * Region : US South Central US (choose a region you have quota for) * Availability zone: None * Orchestration mode : Uniform * Security type: Standard * Scaling mode: Manually update the capacity * Number of instances : 2 (or more) * Image : from local azure images ('My Images'), select flux-usernetes-ubuntu-2404 * Size: StandardHB120-96RSV3 96 Vcpu 456 gIb * SSH choose a pem key or make one * license type : Other * Ignore / nothing to change for: spot, disks, management, health * Networking: virtual network: allow to create new Vnet

When using SSH to connect to the instances, in Networking menu: * edit network interface to allow SSH * enable public IP address

Advanced menu: * enable user data * in user data, copy paste the start-script.sh file content * select a placement group (optional)

Once the VMSS is created, you can log into the first VM.

Installing Usernetes

If some VMs have uppercase letters in their hostname, change the Makefile to have : ``` HOSTNAME ?= $(shell hostname | tr 'A-Z' 'a-z')

flux archive create --name=makefile --mmap -C /home/azureuser/usernetes Makefile flux exec -r all -x 0 flux archive extract --overwrite --name=makefile -C /home/azureuser/usernetes ```

On the first VM, run the typical steps to install Usernetes:

```console

git commit we used 1d3956cdfc141bfab1c04a613fa4601ed2474418

cd usernetes make up make kubeadm-init make install-flannel make kubeconfig KUBECONFIG=$(pwd)/kubeconfig kubectl get nodes export KUBECONFIG=$(pwd)/kubeconfig make join-command ```

Copy the join-command file to all other VMs:

```bash flux archive create --name=join-command --mmap -C /home/azureuser/usernetes join-command

The -r refers to ranks, and you should only select the ones active for the instance (flux resource list)

flux exec -r 1 flux archive extract --overwrite --name=join-command -C /home/azureuser/usernetes ```

Launch Usernetes on the others VMs:

bash flux exec -r 1 --dir /home/azureuser/usernetes make up flux exec -r 1 --dir /home/azureuser/usernetes make kubeadm-join

Finalize installation of Usernetes, and install the Flux Operator:

console make sync-external-ip echo "export KUBECONFIG=/home/azureuser/usernetes/kubeconfig" >> ~/.bashrc export KUBECONFIG=/home/azureuser/usernetes/kubeconfig kubectl get nodes -o wide kubectl apply -f https://raw.githubusercontent.com/flux-framework/flux-operator/refs/heads/main/examples/dist/flux-operator.yaml (optional) On a 2 node cluster, allow pods to be scheduled to the controller node: kubectl taint node u7s-flux-user000000 node-role.kubernetes.io/control-plane:NoSchedule-

From here, we can use Usernetes as normal and create MiniClusters. Example of the minicluster definition I used in my tests is in minicluster.yaml.

kubectl apply -f minicluster.yaml kubectl get pods kubectl exec -ti flux-sample-XXX -- /bin/bash export FLUX_URI=local:///mnt/flux/view/run/flux/local

Owner

  • Name: Converged Computing
  • Login: converged-computing
  • Kind: organization

The best of cloud and high performance computing: technology and community combined.

GitHub Events

Total
  • Delete event: 1
  • Member event: 1
  • Push event: 126
  • Pull request event: 1
  • Create event: 3
Last Year
  • Delete event: 1
  • Member event: 1
  • Push event: 126
  • Pull request event: 1
  • Create event: 3

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • vsoch (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docker/kripke/Dockerfile docker
  • ghcr.io/converged-computing/flux-tutorials azure-2404-base build
docker/laghos/Dockerfile docker
  • ghcr.io/converged-computing/flux-tutorials azure-2404-base build
docker/lammps/Dockerfile docker
  • ghcr.io/converged-computing/flux-tutorials azure-2404-base build
docker/minife/Dockerfile docker
  • ghcr.io/converged-computing/flux-tutorials azure-2404-base build