Containers
Last updated
Last updated
/compute/containers/kubernetes
Names, example: resource01,!resource02,resource42
Environments, example: PRODUCTION,DEVELOPMENT
Status, example: ACTIVE,INACTIVE
Tags, example: agkey:mytagvalue,application:itcare
Filter list by monitoring status
Filter list by monitoring on call status
Filter list by backup status
Filter list by DRP status
Filter list by patch party status
Topology, example: Standard, HA
Version, example: v1.26.15, v1.28.13, etc...
Region, example: EB,ET
Results page you want to retrieve (0..N)
Number of records per page.
Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria is not supported.
This method allows to create a cluster.
You will have to know at the minimum :
area
attribute)networkId
attribute)name
attribute)nodeSizing
attribute)instanceCount
attribute)serviceId
attribute)This method is asynchronous (status code 202
) and you'll have to wait for async action to be completed by checking its status.
POST /clusters
{
"name": "PCLUSTER01",
"area": "EB",
"networkId": "ED145",
"serviceId": 123,
"nodeSizing":, "1cpu2gb"
"instanceCount": 2
}
/compute/containers/kubernetes
Area. Refer to an Area of a Region, that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.
Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.
BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.
Kubernetes Container Ingress Providers
NGINX
, ISTIO
, TRAEFIK
, NGINX,ISTIO,TRAEFIK
Number of instances to create in k8s cluster
Indicates if alerting should be activated. If absent, set to false.
Indicates if monitoring will be setup. If absent, it will be automatically be setup if this is an production environment, or if backup is enabled.
Name of k8s cluster
[a-z0-9\-]+
The network Id of the ELS cluster
Indicates why a production resource is not under backup.
Indicates why a production resource is not under monitoring.
Indicates why a production resource is not replicated.
Node sizing for cluster
Indicates if on call teams will be called on non business hours if an incident occurs on instance. If absent, set to false.
Product platform of the cluster
Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.
Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.
Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment
BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.
id of service to put instance in.
This method allows to delete a K8s Cluster Container.
This method is asynchronous (status code 202
) and you'll have to wait for async action to be completed by checking its status.
DELETE /k8s-clusters/123
DELETE /k8s-clusters/123
{
"changeReference": "rfc nunmber 456"
}
/compute/containers/kubernetes/{id}
id, example: 123
Optional reference for change
This method allows to update a cluster.
Structure of payload is generic and describes :
operation
you want to be performedoptions
data relative to the operation performed - see details.Below are different operations currently implemented.
Create Nodes
Use the create_nodes
operation to create the nodes of a cluster.
Create nodes operation will add the new nodes in the cluster by availability zone. You can specify the availability zone you need in the request.
This method is synchronous (status code 202
).
Example :
PATCH /containers/kubernetes/1234
{
"operation": "create_nodes",
"options": {
"nodes": [
{
"nodesNb": 1,
"nodeSizing": "2cpu4gb",
"az": "EB-A"
},
{
"nodesNb": 2,
"nodeSizing": "4cpu8gb",
"az": "EB-B"
}
]
}
}
Delete Nodes
Use the delete_nodes
operation to delete the nodes of a cluster.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
PATCH /containers/kubernetes/1234
{
"operation":"delete_nodes",
"options":{
"nodes": ["11112","11113","11114"]
}
}
Enable High Availability - HA
Use the enable_ha
operation to enable the HA of a cluster.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
PATCH /containers/kubernetes/1234
{
"operation":"enable_ha"
}
Update Monitoring
Use the update_monitoring
operation to update the monitoring state of the cluster.
Use the state
option to turn on/off monitoring.
Use the on_call
option to turn on/off 24/7 monitoring.
This method is synchronous (status code 202
).
PATCH /containers/kubernetes/1234
{
"operation": "update_monitoring",
"options": {
"state": true,
"on_call": true
}
}
Update Patch Party
Use the update_patch_party
operation to update the patch party scheduled plan of the cluster.
excluded
option to turn on/off patch party.patchGroup
option to select the patching group, the patchGroup
is optional, and is only allowed when the farm has one member.exclusionReason
option to explain the reason of excluding the resource from patch part.This method is synchronous (status code 202
).
PATCH /containers/kubernetes/1234
{
"operation": "update_patch_party",
"options": {
"patchParty": {
"excluded": false,
"patchGroup": "3"
}
}
}
PATCH /containers/kubernetes/1234
{
"operation": "update_patch_party",
"options": {
"patchParty": {
"excluded": true,
"exclusionReason": "I want to handle this by myself"
}
}
}
Upgrade
Use the upgrade
operation to upgrade the cluster.
version
option to set the target version to be installed.The requirements are :
/compute/platform/products?type=KUBERNETES
to list all versions available for the cluster.This method is synchronous (status code 202
).
PATCH /containers/kubernetes/1234
{
"operation": "upgrade",
"options": {
"version": "1.24"
}
}
/compute/containers/kubernetes/{id}
K8s Cluster Id, example: 123
/compute/containers/kubernetes/{id}/loadbalancers
K8sCluster Id, example: 123
Area. Refer to an Area of a Region, that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.
Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.
certificate of the load balancer., example: wildcard_cegedim.com
BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.
healtcheck of load balancer., example: http
Indicates if alerting should be activated. If absent, set to false.
Indicates if monitoring will be setup. If absent, it will be automatically be setup if this is an production environment, or if backup is enabled.
Network id. Refer to networks available in List Networks method. If absent, a default network of AZ will be used.
Indicates why a production resource is not under backup.
Indicates why a production resource is not under monitoring.
Indicates why a production resource is not replicated.
Indicates if on call teams will be called on non business hours if an incident occurs on instance. If absent, set to false.
port member of load balancer., example: 80, 443, ...
profile name of load balancer.
Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.
Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.
Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment
BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.
id of service to put instance in.
Indicates if a DNS record is to be set. If absent, set to false.
ssl profile of the load balancer., example: profile_wildcard.cegedim.com_secure
url of load balancer. Must be unique, and fit naming rules convention., example: url.cegedim.com
^(https?:\\/\\/)?(www\\.)?[a-zA-Z][a-zA-Z0-9.-]{2,63}+$
port of load balancer in case of TCP VS Profile
/compute/containers/kubernetes/{id}/metrics
K8sCluster Id, example: 123
type, example: az-distribution | dc-distribution
This method allows to delete a Kubernetes cluster node.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
To delete a Kubernetes node, the id of the Kubernetes cluster and the id of the node to delete must be specified.
To list the nodes of the Kubernetes cluster, use the endpoint : GET /containers/kubernetes/{kuberneteId}/nodes/{nodeId}.
Use the following to delete a node of a Kubernetes cluster.
DELETE /containers/kubernetes/1234/nodes/4567
To keep consistency on the Kubernetes cluster, please note that :
All nodes cannot be deleted.
All ingress nodes cannot be deleted.
API users will have a BAD_REQUEST
when trying to break one of the rule above.
/compute/containers/kubernetes/{id}/nodes/{nodeId}
id, example: 123
id, example: 456