-
Notifications
You must be signed in to change notification settings - Fork 0
Feat demo #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat demo #63
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,154 @@ | ||||||||||||
| --- | ||||||||||||
| title: Virtual Machine | ||||||||||||
| description: Create and provision a Virtual Machine within the OtterScale cluster. | ||||||||||||
| --- | ||||||||||||
|
|
||||||||||||
| import { Steps, Aside, LinkCard } from '@astrojs/starlight/components'; | ||||||||||||
|
|
||||||||||||
| This guide demonstrates how to create and provision a Virtual Machine (VM) within the OtterScale cluster for running workloads. | ||||||||||||
|
|
||||||||||||
| ## Create a Virtual Machine | ||||||||||||
|
|
||||||||||||
| <Aside type="tip"> | ||||||||||||
| Virtual Machines allow you to provision compute instances within your OtterScale cluster. You can configure hardware profiles, attach storage volumes, and customize network ports to meet your specific needs. | ||||||||||||
| </Aside> | ||||||||||||
|
|
||||||||||||
| <Steps> | ||||||||||||
|
|
||||||||||||
| 1. Navigate to the Compute section: | ||||||||||||
|
|
||||||||||||
| Open your browser and go to: | ||||||||||||
| ``` | ||||||||||||
| <url>/scope/<scope-name>/compute | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
| 2. Create a new Virtual Machine: | ||||||||||||
|
|
||||||||||||
| - Click the **Create** button (plus icon) at the top of the Compute page | ||||||||||||
| - A modal window titled "Create Virtual Machine" will appear | ||||||||||||
|
|
||||||||||||
| 3. Configure Basic Settings: | ||||||||||||
|
|
||||||||||||
| - **Name**: Enter a unique name for the VM (e.g., `my-demo-vm`) | ||||||||||||
| - **Namespace**: Specify the Kubernetes namespace (defaults to `default`) | ||||||||||||
| - **Instance Type**: Select a hardware profile from the dropdown list (displays CPU cores and Memory size) | ||||||||||||
| - **Data Volume**: Select the bootable Data Volume (PVC) to use as the OS disk | ||||||||||||
|
|
||||||||||||
| 4. Configure Advanced Settings (Optional): | ||||||||||||
|
|
||||||||||||
| - Expand the "Advanced" section to configure a **Startup Script** (Cloud-Init user data) | ||||||||||||
| - This allows you to bootstrap the instance with custom initialization commands | ||||||||||||
| - Example configuration for user setup and SSH access: | ||||||||||||
|
|
||||||||||||
| ``` | ||||||||||||
| #cloud-config | ||||||||||||
| users: | ||||||||||||
| - name: phison | ||||||||||||
| sudo: ['ALL=(ALL) NOPASSWD:ALL'] | ||||||||||||
| groups: sudo | ||||||||||||
| shell: /bin/bash | ||||||||||||
| chpasswd: | ||||||||||||
| list: | | ||||||||||||
| phison:phison_8299 | ||||||||||||
| expire: false | ||||||||||||
| ssh_pwauth: true | ||||||||||||
| ``` | ||||||||||||
|
|
||||||||||||
|
||||||||||||
| <Aside type="warning"> | |
| This example uses hardcoded credentials and passwordless sudo for demonstration purposes only. For any production or externally accessible environment, configure unique strong credentials (or SSH key-based authentication), restrict or remove passwordless sudo, and review SSH exposure (for example, NodePort access) to meet your security requirements. | |
| </Aside> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The LinkCard title is inconsistent with the actual page title. Since the page title was changed to "Coder" (without " Demo"), this LinkCard title should also be "Coder" for consistency.
| <LinkCard title="Coder Demo" href="/demos/02-coder/" description="Deploy Coder for cloud-based VS Code IDE environments." /> | |
| <LinkCard title="Coder" href="/demos/02-coder/" description="Deploy Coder for cloud-based VS Code IDE environments." /> |
Copilot
AI
Jan 7, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The LinkCard title is inconsistent with the actual page title. Since the page title was changed to "JupyterHub" (without " Demo"), this LinkCard title should also be "JupyterHub" for consistency.
| <LinkCard title="JupyterHub Demo" href="/demos/03-jupyterhub/" description="Learn how to deploy JupyterHub for collaborative Jupyter notebook environments." /> | |
| <LinkCard title="JupyterHub" href="/demos/03-jupyterhub/" description="Learn how to deploy JupyterHub for collaborative Jupyter notebook environments." /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
cloud-configexample contains a hardcoded weak password (phison_8299) and grants passwordless sudo (NOPASSWD:ALL). This is a significant security risk and promotes insecure practices, even in a demo environment.Please update this section to guide users to create a strong password and to remove passwordless sudo. I've provided a suggestion to fix this. It's also good practice to add a note recommending SSH keys for production environments.