Skip to content

brianphan/ascender-install

 
 

Repository files navigation

The Ascender installer is a script that makes for relatively easy install of Ascender Automation Platform on Kubernetes platforms of multiple flavors. The installer is being expanded to new Kubernetes platforms as users/contributors allow, and if you have specific needs for a platform not yet supported, please submit an issue to this Github repository.

While Ascender installs on Kubernetes, you don't need to be a guru in Kubernetes, or even have a Kubernetes cluster up and working! For each specified Kubernetes platform, the installer will set up a Kubernetes cluster on your behalf, and set up the cluster access file at its default location of ~/.kube/config. Windows and Network admins rejoice!

Table of Contents

General Prerequisites

  • On the local server (on which the installer script will run), you will need the following prerequisites met:
    • The ansible inventory file file needs to be changed to:
      • ascender_host
        • ansible_host needs to be a set to a server that has kubernetes cluster access or that you want kubernetes installed on
        • ansible_user needs to set to a user that can escalate to root with become (if different than your logged in user)
        • A port needs to be open for SSH access (typically TCP port 22). If you choose to have SSH accept connections on a different port, you need to specify this port with the built-in host variable ansible_port.
    • ansible-core will have to be installed, but the setup script will install it if it is not already there.
  • On ascender_host, the following is required:
    • If Kubernetes is already installed. You will need the kubeconfig file, located at ~/.kube/config. The server IP address in the cluster section of this file will determine the cluster where Ascender will be installed. This cluster must be up and running at the time of install.
    • If Kubernetes is to be installed, then it will create the kubeconfig for you automatically.
    • Minimal System Requirements:
      • CPUs: 2
      • Memory: 8Gb (if installing both Ascender and Ledger)

Optional Components

  • An external PostgreSQL server that the Ascender application can access. If not specified, the AWX Operator responsible for installing Ascender will create a managed PostgreSQL server.

Configuration File

There is a default configuration file that will hold all of the options required to set up your installation properly. While this file is comprehensive, you can find more platform-specific config file templates in the respective Kubernetes platform install instructions directory.

The Uninstall section of this tutorial references two of the variables that need to be set:

  • k8s_platform: The Kubernetes platform Ascender is being installed on. This could be K3s, EKS, GKE, or AKS.
  • tmp_dir: The directory on the server running the install script, where temporary artifacts will be stored.

All of the variables and flags in these files have their description/proper usage directly present in the comments.

Installation Instructions by Kubernetes Platform

Uninstall

After running setup.sh, tmp_dir will contain timestamped kubernetes manifests for:

  • ascender-deployment-{{ k8s_platform }}.yml
  • ledger-{{ k8s_platform }}.yml (if you installed Ledger)
  • kustomization.yml.

Remove the timestamp from the filename and then run the following commands from within `tmp_dir``:

  • $ kubectl delete -f ascender-deployment-{{ k8s_platform }}.yml
  • $ kubectl delete -f ledger-{{ k8s_platform }}.yml
  • $ kubectl delete -k .

Running the Ascender deletion will remove all related deployments and statefulsets, however, persistent volumes and secrets will remain. To enforce secrets also getting removed, you can use ascender_garbage_collect_secrets: true in the default.config.yml file.

Reporting Issues

If you're experiencing a problem that you feel is a bug in the installer or have ideas for improving the installer, we encourage you to open a Github issue and share your feedback.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 81.8%
  • Jinja 18.2%