- Home
- Integration and extensions
- Drivers
- Kubernetes resource Drivers
- AKS Cluster
AKS Cluster
Used to connect to a Kubernetes Azure cluster.
Property | Description |
---|---|
Resource type | k8s-cluster |
Account type | None |
Inputs #
Values #
Name | Type | Description |
---|---|---|
name |
string | The name of the cluster. |
resource_group |
string | The Azure Resource Group. |
subscription_id |
string | The Azure Subscription ID. |
loadbalancer |
string | [Optional] The IP address or hostname that ingress should be configured for in the cluster. |
server_app_id |
string | [Optional] AAD server application ID. Needed for clusters with Microsoft EntraID (former AAD) authentication enabled. In that case, set it to the value 6dae42f8-4368-4678-94ff-3960e28e3630 (see the
AKS documentation
). |
proxy_url |
string | [Optional] The Proxy URL if used. |
Secrets #
Name | Type | Description |
---|---|---|
credentials |
object | Contains appId , displayName , password and tenant of the Service Principal to access the cluster. |
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 theserver_app_id
items as needed.
cat << EOF > k8s-cluster.yaml
apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
id: my-aks-cluster
entity:
driver_type: humanitec/k8s-cluster-aks
name: My AKS Cluster
type: k8s-cluster
driver_inputs:
secrets:
credentials:
appId: my-app-id
displayName: my-service-principal-name
password: my-service-password
tenant: my-tenant-id
values:
loadbalancer: 10.10.10.10
name: my-cluster
resource_group: my-azure-resource-group
subscription_id: 123456-1234-1234-1234-123456789
server_app_id: 6dae42f8-4368-4678-94ff-3960e28e3630
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-aks-cluster",
"name": "My AKS Cluster",
"type": "k8s-cluster",
"criteria": [
{
"env_type": "development"
}
],
"driver_type": "humanitec/k8s-cluster-aks",
"driver_inputs": {
"values": {
"loadbalancer": "10.10.10.10",
"name": "my-cluster",
"resource_group": "my-azure-resource-group",
"subscription_id": "123456-1234-1234-1234-123456789",
"server_app_id": "6dae42f8-4368-4678-94ff-3960e28e3630"
},
"secrets": {
"credentials": {
"appId": "my-app-id",
"displayName": "my-service-principal-name",
"password": "my-service-password",
"tenant": "my-tenant-id"
}
}
}
}'