Use
At this point, the developer is ready to request a cluster within PhoenixNAP. To get access to the environment, note that the developer
- Does not need to have any knowledge of Terraform or other IaC frameworks
- Does not need access to privileged credentials for PhoenixNAP
- Does not need any help from the Platform team to deploy their environment
Important
Ensure that the developer is assigned to a group that has the "Environment Template User role" in the project. This will provide the developer the ability to create the new cluster based environment via self-service.
Request Cluster¶
When a developer requests a cluster (based on Kubernetes, specifically PhoenixNAP), a series of steps are automatically performed to fulfil the request. The sequence diagram below describes the high level steps.
Important
Although the recommended workflow assumes and recommends using an Integration with an Identity Provider (IdP) to provide a Single Sign On (SSO) experience, organizations can also use locally managed users.
sequenceDiagram
participant dev as Developer
participant rafay as Rafay Platform
participant csp as PhoenixNAP
participant idp as Identity Provider
dev->>rafay: Login (Opt. SSO)
dev->>rafay: Deploys Environment
rafay->>rafay: Create Custom Blueprint
rafay->>csp: Create Cluster
rect rgba(0, 0, 255, .1)
opt SSO via Identity Provider
rafay-->>idp: Create Group for k8s cluster
rafay-->>idp: Add developer to Group
end
rafay->>rafay: Create Group in Rafay
rafay->>rafay: Add Cluster Admin <br>RBAC to Group
rafay->>rafay: Add User to Group
end
dev-->>app: Developer uses Cluster
Note
Once the developer logs into the Rafay Org after the the environment is created (SSO using Identity Provider recommended), they will automatically have access to their specific Cluster they have been authorized to use. The necessary RBAC to the assigned Kubernetes cluster is orchestrated automatically by Rafay Kubernetes Manager.
Step 1: Deploy Environment¶
The developer can now deploy the environment. Environment Manager will automatically create a cluster in phoenixNAP, configure the cluster with the specified policies and assign the proper RBAC to allow the developer with the privileges to manage resources in the newly created cluster.
- Developer logs in and navigates to the project
- Navigate to Environments -> Environments
- Click Launch on the Cluster as a Service on phoenixNAP card
- Enter a name for the environment
- Select the appropriate server settings
- Click Save & Deploy
The environment will begin to deploy. This step can take ~30 minutes to complete.
Once complete, you will see the name of the newly created cluster and the URL of the sample Wordpress application in the Results section of the page. This application URL can be entered into a web-browser to access the sample Wordpress application running on the cluster.
You can also see the cluster in the Rafay Kubernetes Management console under Infrastructure -> Clusters
Step 2: Use Cluster¶
Once the environment has finished deploying, the developer can use the newly deployed cluster. They can deploy and operate containerized applications to the newly created cluster. The typical steps are as follows
- Build a container image
- Upload the container image to a container registry (e.g. ECR or DockerHub)
- Create Kubernetes YAML for the container image
- Deploy the application using either Kubectl or Helm or Rafay workloads.
Summary¶
In summary, with Rafay, developers can now develop, deploy and validate their applications on PhoenixNAP Clusters that were provisioned for them in a "self-service" manner.