Getting Started
Introduction¶
The Anvil Composable Subsystem is a Kubernetes based private cloud managed with Rancher that provides a platform for creating composable infrastructure on demand. This cloud-style flexibility provides researchers the ability to self-deploy and manage persistent services to complement HPC workflows and run container-based data analysis tools and applications.
New usage patterns have emerged in research computing that depend on the availability of custom services such as notebooks, databases, elastic software stacks, and science gateways alongside traditional batch HPC. Anvil Composable is the platform to host these services and provide access to HPC resources.
How to Access the Anvil Composable Subsystem¶
There are 3 options to accessing and working with Anvil Composable:
Rancher¶
The Anvil Composable Subsystem Rancher interface can be accessed via a web browser: https://composable.anvil.rcac.purdue.edu. Log in by choosing "log in with shibboleth" and using your ACCESS credentials at the ACCESS login screen.
kubectl¶
Configuring local kubectl access with Kubeconfig file:¶
kubectl can be installed and run on your local machine to perform various actions against the Kubernetes cluster using the API server.
These tools authenticate to Kubernetes using information stored in a kubeconfig file.
Note
A file that is used to configure access to a cluster is sometimes called a kubeconfig file. This is a generic way of referring to configuration files. It does not mean that there is a file named kubeconfig.
To authenticate to the Anvil cluster you can download a kubeconfig file that is generated by Rancher as well as the kubectl tool binary.
- From anywhere in the rancher UI navigate to the cluster dashboard by hovering over the box to the right of the cattle and selecting anvil under the "Clusters" banner.
- Click on kubeconfig file at the top right
- Click copy to clipboard
- Create a hidden folder called .kube in your home directory
- Copy the contents of your kubeconfig file from step 2 to a file called config in the newly create .kube directory
- You can now issue commands using kubectl against the Anvil Rancher cluster
- to look at the current config settings we just set use kubectl config view
- now let’s list the available resource types present in the API with kubectl api-resources
To see more options of kubectl review the cheatsheet found on Kubernetes' kubectl cheatsheet.
Accessing kubectl in the rancher web UI¶
You can launch a kubectl command window from within the Rancher UI by selecting the Launch kubectl button to the left of the Kubeconfig File button. This will deploy a container in the cluster with kubectl installed and give you an interactive window to use the command from.
Harbor¶
Logging into the Anvil Registry UI with ACCESS credentials¶
Harbor is configured to use ACCESS as an OpenID Connect (OIDC) authentication provider. This allows you to login using your ACCESS credentials.
To login to the harbor registry using your ACCESS credentials:
- Navigate to https://registry.anvil.rcac.purdue.edu in your favorite web browser.
- Click the Login via OIDC Provider button.
- This redirects you to the ACCESS account for authentication.
- If this is the first time that you are logging in to Harbor with OIDC, specify a user name for Harbor to associate with your OIDC username.
- This is the user name by which you are identified in Harbor, which is used when adding you to projects, assigning roles, and so on. If the username is already taken, you are prompted to choose another one.
- After the OIDC provider has authenticated you, you are redirected back to the Anvil Harbor Registry.