This topic describes the features of Alibaba Cloud Genomics Compute Service (AGS) and how to download and configure AGS. By default, AGS calls Alibaba Cloud services by using Alibaba Cloud access keys. AGS works with Log Service to collect pod logs. To use this function, you must select to enable Log Service when you create a cluster.

Features

  • Fully compatible to argo commands
  • Works with Log Service, allowing you to view logs after a pod is deleted
  • Compatible to kubectl commands, allowing you to manage clusters by using kubectl
  • Provides install and uninstall commands, allowing you to install or uninstall resources as needed
    Note
    • You can run the ags install command to install resources.
    • You can run the ags uninstall command to uninstall resources.
  • Provides the get workflow command, allowing you to view the resource usage
  • Provides YAML templates that allow special characters such as underscores (_)
  • Provides security contexts
  • Synchronizes pod status (such as pending and failed) with workflows
  • Uses YAML templates to customize retries
  • Retries an entire workflow when the workflow fails at any point
  • Supports ECI Serverless Kubernetes architecture

Download and installation

To install AGS and configure relevant permissions, run the following command:

wget http://ags-hub.oss-cn-hangzhou.aliyuncs.com/ags-linux && chmod +x ags-linux && mv ags-linux  /usr/local/bin/ags 
Note
  • You can run the ags config init command to enter required information in the CLI. After the system is initialized, the configuration files are saved to the ~/.ags/config file. You can run theags config show command to display the configured information. In the configured information, the AccessKeySecret is encrypted.
  • To collect logs by using Log Service, you must first configure ags config. We recommend that you create an access key for the CLI and grant relevant permissions for Log Service.

If you are using a managed Kubernetes cluster, you can connect to the Kubernetes cluster by using kubectl and run the following command to use AGS through Cloud Shell:

wgethttp://ags-hub.oss-cn-hangzhou.aliyuncs.com/ags-linux&& chmod +x ags-linux && mv ags-linux  /usr/local/bin/ags

Available commands in AGS CLI

The available commands in AGS CLI are as follows:

[root@iZwz92q9h36kv8posr0i6uZ ~]# ags
ags is the command line interface to Alibaba Cloud Genomics Compute Service

Usage:
 ags [flags]
 ags [command]

Available Commands:
 completion  output shell completion code for the specified shell (bash or zsh)
 config      setup ags client necessary info
 delete      delete a workflow and its associated pods
 get         display details about a workflow
 help        Help about any command
 install     install ags
 kubectl     kubectl command
 lint        validate a file or directory of workflow manifests
 list        list workflows
 logs        view logs of a workflow
 resubmit    resubmit a workflow
 resume      resume a workflow
 retry       retry a workflow
 submit      submit a workflow
 suspend     suspend a workflow
 terminate   terminate a workflow
 uninstall   uninstall ags
 version     Print version information
 wait        waits for a workflow to complete
 watch       watch a workflow until it completes

Flags:
     --as string                      Username to impersonate for the operation
     --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
     --certificate-authority string   Path to a cert file for the certificate authority
     --client-certificate string      Path to a client certificate file for TLS
     --client-key string              Path to a client key file for TLS
     --cluster string                 The name of the kubeconfig cluster to use
     --context string                 The name of the kubeconfig context to use
 -h, --help                           help for ags
     --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
     --kubeconfig string              Path to a kube config. Only required if out-of-cluster
 -n, --namespace string               If present, the namespace scope for this CLI request
     --password string                Password for basic authentication to the API server
     --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
     --server string                  The address and port of the Kubernetes API server
     --token string                   Bearer token for authentication to the API server
     --user string                    The name of the kubeconfig user to use
     --username string                Username for basic authentication to the API server

Use "ags [command] --help" for more information about a command.