- Home
- Integration and extensions
- Drivers
- Kubernetes resource Drivers
- EKS Cluster
-
- Overview
-
- Overview
- Deploy your Application
- Manage your Java application
- Migrate an Application
- Provision Amazon S3 Buckets
- Deploy an Amazon S3 Resource to production
- Scaffold a new Workload and create staging and prod Environments
- Update Resource Definitions for related Applications
- Use existing Terraform modules
- Provision a Redis cluster on AWS using Terraform
- Perform daily developer activities (debug, rollback, diffs, logs)
- Deploy ephemeral Environments
-
-
EKS Cluster
Used to connect to an AWS’s Elastic Kubernetes Service (EKS) cluster.
Property | Description |
---|---|
Resource type | k8s-cluster |
Account type | aws , aws-role |
Inputs #
Values #
Name | Type | Description |
---|---|---|
name |
string | The name of the cluster. |
region |
string | The AWS region of the cluster. |
loadbalancer |
string | [Optional] The IP or DNS name representing the Load Balancer. |
loadbalancer_hosted_zone |
string | [Optional] The Load Balancer Hosted Zone. |
proxy_url |
string | [Optional] The Proxy URL if used. |
Secrets #
Name | Type | Description |
---|---|---|
credentials |
object | Provider’s credentials as JSON object. |
agent_url |
object | [Optional] The signed URL produced by the humanitec/agent driver. It is expected to be a reference to the url output of a Agent resource. |
Examples #
Following the instructions provided here, it should be possible to retrieve the secret inputs needed to configure the access to the cluster properly.
Set the following environment variables for the CLI and API commands:
Variable | Example | Description |
---|---|---|
HUMANITEC_TOKEN |
my-token |
The authentication token for accessing the Humanitec API. |
HUMANITEC_ORG |
my-org-id |
The unique identifier for the organization in Humanitec. |
Use the command below for the interface of your choice.
- Create a file defining the Resource Definition you want to create. Adjust or remove the
loadbalancer
and theloadbalancer_hosted_zone
items as needed.
cat << EOF > k8s-cluster.yaml
apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
id: my-eks-cluster
entity:
driver_type: humanitec/k8s-cluster-eks
name: My EKS Cluster
type: k8s-cluster
driver_inputs:
secrets:
credentials:
aws_access_key_id: AAABBBCCCDDDEEEFFFGGG
aws_secret_access_key: zZxXyY123456789aAbBcCdD
values:
name: my-cluster
region: eu-central-1
loadbalancer: 10.10.10.10
loadbalancer_hosted_zone: ABC0DEF5WYYZ00
criteria:
- env_type: development
EOF
- Use the
humctl create
command to create the Resource Definition in the Organization defined by your configured context:
humctl create -f k8s-cluster.yaml
rm k8s-cluster.yaml
curl https://api.humanitec.io/orgs/${HUMANITEC_ORG}/resources/defs \
-X POST \
-H "Authorization: Bearer ${HUMANITEC_TOKEN}" \
-H "Content-Type: application/json" \
-d '
{
"id": "my-eks-cluster",
"name": "My EKS Cluster",
"type": "k8s-cluster",
"criteria": [
{
"env_type": "development"
}
],
"driver_type": "humanitec/k8s-cluster-eks",
"driver_inputs": {
"values": {
"name": "my-cluster",
"region": "eu-central-1",
"loadbalancer": "10.10.10.10",
"loadbalancer_hosted_zone": "ABC0DEF5WYYZ00"
},
"secrets": {
"credentials": {
"aws_access_key_id": "AAABBBCCCDDDEEEFFFGGG",
"aws_secret_access_key": "zZxXyY123456789aAbBcCdD"
}
}
}
}'