Deploying Hawk Container Edition Containers on AWS Based Kubernetes Cluster

Hawk Container Edition can be deployed on AWS using the configuration files (YAML format), which contain the configuration details for deployment including environment variables.

Prerequisites

For deploying Hawk Container Edition cluster on AWS, you must first set up Kubernetes cluster on AWS and then upload your Docker image on AWS. For more information, see Running Hawk Container Edition on AWS Based Kubernetes Cluster.

Procedure

  1. Create Kubernetes resources, required for deploying Hawk Container Edition cluster, using the YAML files. These resources include deployment and services for the cluster. Thus, to deploy a Hawk Container Edition cluster, create:
    • a Hawk Cluster Manager node (pod) to start the cluster
    • a service to connect to Hawk Cluster Manager node
    • a Hawk agent node which connects to the Hawk Cluster Manager node service
    • a Hawk console node which connects to the Hawk Cluster Manager node service

    For more information on the YAML files configurations of Hawk Container Edition components, see Hawk Container Edition Components YAML Files.

  2. Run the create command of kubectl utility by using the YAML files to deploy the Hawk Container Edition cluster.
    kubectl create -f <component_file>.yml
    For example, the following are the YAML files for Hawk Container Edition components:
    • daemonstateful.yml - Hawk Cluster Manager
    • agentdaemonset.yml - Hawk Agent
    • consolepod.yml - Hawk Console
    Run the kubectl create command to deploy Hawk Container Edition cluster:
    kubectl create -f daemonstateful.yml
    kubectl create -f agentdaemonset.yml
    kubectl create -f consolepod.yml
  3. You can also get the external IP to the external service of the cluster by using the get services command. You can then use that IP to connect to the cluster. For example:
    kubectl get services hkce-console-service
  4. You can check the logs of individual Hawk component container pods using the following command:
    kubectl logs <pod>