Code Monkey home page Code Monkey logo

ascender-install's Introduction

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 The OS family must be Rocky, Fedora or CentOS and the major version must be 8 or 9.
    • 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.

ascender-install's People

Contributors

anderbubble avatar cigamit avatar gmkurtzer avatar michaelford85 avatar wsoyinka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.