JovianX Platform for SaaS
  • ⛅Introduction to JovianX
  • 🔰Getting Started with JovianX
  • ✨Release Notes
  • Product Documentation
    • Dashboard
    • Accounts
    • Blueprints
    • Plans
    • Settings
      • Infrastructure
      • Customer Console
        • Emails Blacklist
      • Email Notifications
      • Automation
      • Payments
      • Members
  • Guides
    • Integrations
      • PagerDuty + JovianX Integration
    • Adding Clusters to JovianX
    • New Cluster Considerations
    • Creating AWS ELK Cluster
    • Creating Azure AKS Cluster
    • Kubernetes Cluster System Components
Powered by GitBook
On this page
  • Kubeconfig Kubernetes Cluster Access File
  • Step 1 - Prepare an administrative Kubeconfig file
  • Step 2 - Upload Kubeconfig files
  • Step 3 - Add Kubernetes Context to the blueprint

Was this helpful?

  1. Guides

Adding Clusters to JovianX

PreviousPagerDuty + JovianX IntegrationNextNew Cluster Considerations

Last updated 5 years ago

Was this helpful?

JovianX supports management of multiple Kubernentes clusters, allowing to run and manage workloads on multiple cloud providers in multiple regions simultaneously.

Kubeconfig Kubernetes Cluster Access File

Step 1 - Prepare an administrative Kubeconfig file

Create a new kubeconfig file, which will be used for controlling the Kubernetes cluster.

The kubecofnig files should include configuration for context, which should define a cluster and auser . User is a Kubernetes service account that has the cluster-admin role.

Example Kubeconfig file

$ cat kubeconfig-example.yaml
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: <CA-CERT>
    server: https://<KUBERNETES-CLUSTER-IP>
  name: <CLUSTER-NAME>
contexts:
- context:
    cluster: <CLUSTER-NAME>
    user: <SERVICE-ACCOUNT>
  name: <CONTEXT-NAME>
kind: Config
preferences: {}
users:
- name: <SERVICE-ACCOUNT>
  user:
    token: <ACCESS-TOKEN>

$ ./kubeconfig-create.sh Generate administrative Kubeconfig file for your cluster

This script generates a Kubeconfig file that allows full administrative access to your cluster Please note that this creates a Kubernetes service account 'jovianx-admin' with CLUSTER-ADMIN role in the 'jovianx-system' namespace.

Proceed?[Y/n] ...

Step 2 - Upload Kubeconfig files

JovianX uses Kubeconfig files to interact with a Kubernetes cluster. To upload a Kubeconfig file:

  1. navigate to Settings > General > Application

  2. Open Kubernetes configuratio

  3. Click on Select Kubeconfig file

Once you upload a Kubeconfig file, all cluster details are visible in the main dashboard.

JovianX allows uploading multiple Kubeconfig files, and supports one context per file.

Step 3 - Add Kubernetes Context to the blueprint

JovianX allows defining what context to use for each component, thus, to define where to deploy component's Helm Chart.

The definition can be set in the components section, making it a static definition. Or by setting the context by settings_descriptors, which allows the user to provide input(option selection) that results in setting context for a component.

You can add context in the component directly, or set it by settings_descriptors.

Set the context by component:

To set the context in the components section, making it a static setting, add the kube_context directive:

  - name: node-component
    version: 1.0.0
    provider: helm_chart 
    helm_chart_name: node-chart
    kube_context: <KUBERNETES-CONTEXT-NAME> # <---------------------
    ...

Set the context by settings_descriptors:

To set context by a user input for a setting descriptor, add the kube_context directive in the components section:

  - name: choose_cloud_region
    display: 'Choose cloud provider region'
    input_type: radio
    default: 'us-west-1'
    select_options:
      - name: 'us-west-1'
        display: 'US West (N. California)'
        components:
          - name: node-component
            kube_context: <us-west-1 KUBERNETES-CONTEXT-NAME> # <-----------
            ...
      - name: 'us-east-1'
        display: 'US East (N. Virginia)	'
        components:
          - name: node-component
            kube_context: <us-east-1 KUBERNETES-CONTEXT-NAME> # <-----------
            ...

kube_context is a supported directive for settings_descriptors of the following descriptor types: radio, select and checkbox

Kubernetes uses a YAML file called to store cluster authentication information. JovianX uses kubeconfig files to access the Kubernetes clusters. The kubeconfig file contains a list of contexts to which JovianX can refer when running Kubernetes operations.

Read more about Kubeconfig in the official

You can generate an administrative Kubeconfig file using the Generate-Kubeconfig script .

Note: The Kubeconfig file should specify a service account with cluster-admin role, and should include an authentication token, as show in

kubeconfig
Kubernetes documentation.
https://github.com/JovianX/Generate-Kubeconfig
example above.
Kubernetes Multi-Cluster Management