- Home
- Integration and extensions
- Drivers
- Kubernetes resource Drivers
- EKS Cluster
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"
}
}
}
}'