import requests
url = "https://platform.ankra.app/api/v1/clusters/ovh"
payload = {
"credential_id": "<string>",
"name": "<string>",
"region": "<string>",
"ssh_key_credential_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
credential_id: '<string>',
name: '<string>',
region: '<string>',
ssh_key_credential_id: '<string>'
})
};
fetch('https://platform.ankra.app/api/v1/clusters/ovh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/clusters/ovh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"credential_id": "<string>",
"name": "<string>",
"region": "<string>",
"ssh_key_credential_id": "<string>"
}
'{
"cluster_id": "<string>",
"name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Create an OVH cluster
import requests
url = "https://platform.ankra.app/api/v1/clusters/ovh"
payload = {
"credential_id": "<string>",
"name": "<string>",
"region": "<string>",
"ssh_key_credential_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
credential_id: '<string>',
name: '<string>',
region: '<string>',
ssh_key_credential_id: '<string>'
})
};
fetch('https://platform.ankra.app/api/v1/clusters/ovh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/clusters/ovh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"credential_id": "<string>",
"name": "<string>",
"region": "<string>",
"ssh_key_credential_id": "<string>"
}
'{
"cluster_id": "<string>",
"name": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
3-AZ regions only: spread the cluster across these availability zones (e.g. eu-west-par-a/b/c). Control planes and etcd are distributed per role, workers per node group. Omitted leaves placement to OVH, which places the whole cluster in one zone. More than one zone requires at least 3 control planes for etcd quorum.
Container network. Omitted resolves to cilium on kubeadm (the default distribution) and flannel on k3s.
flannel, calico, cilium production, staging, development, disposable 1 - 50s, m, l, xl, 2xl, 3xl k3s packaged components to keep disabled (k3s --disable), for example ["traefik"] on a cluster that brings its own ingress. k3s distribution only: the list is rendered into the server config at install and re-asserted by the maintenance pass, so the entries stay off across restarts.
coredns, servicelb, traefik, local-storage, metrics-server, runtimes Show child attributes
Show child attributes