Chuyển tới nội dung chính

Liệt kê cluster template Kubernetes

GET/v1/clustertemplates

Liệt kê các cluster template hiện có.

Request​

Request mẫu​

Dùng curl​

curl -ks -H 'Content-Type: application/json' -H 'OpenStack-API-Version: container-infra 1.8' -H 'X-Auth-Token: gAAAAA<...>' \
https://<node_IP_addr>:9513/v1/clustertemplates

HTTP request​

GET https://<node_IP_addr>:9513/v1/clustertemplates

Response​

Tham số​

clustertemplatesarraybắt buộc

Danh sách tất cả cluster template trong Magnum.

insecure_registrystringbắt buộc

URL trỏ tới private docker registry (insecure) của chính người dùng, dùng để deploy và chạy container docker.

linksarraybắt buộc

Liên kết tới các tài nguyên liên quan.

updated_atstringbắt buộc

Ngày giờ cập nhật tài nguyên. Nếu tài nguyên chưa từng được cập nhật, field này là null. Định dạng timestamp là ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh (nếu có) là múi giờ lệch so với UTC. Trong ví dụ này, độ lệch là -05:00.

floating_ip_enabledbooleanbắt buộc

Có dùng floating IP của nhà cung cấp cloud hay không. Một số nhà cung cấp dùng floating IP, một số dùng public IP, nên Magnum cung cấp tuỳ chọn này để chỉ định việc dùng floating IP.

fixed_subnetstring

Subnet cố định dùng để cấp địa chỉ mạng cho các node trong bay/cluster.

master_flavor_idstring

Flavor của master node cho baymodel/cluster template này.

uuidUUIDbắt buộc

UUID của cluster template.

no_proxystring

Khi dùng proxy server, một số site không nên đi qua proxy mà nên được truy cập trực tiếp. Khi đó, bạn có thể chỉ định các site này dưới dạng danh sách IP phân tách bằng dấu phẩy. Mặc định là None.

https_proxystring

Địa chỉ IP của proxy dùng khi các server không thể truy cập HTTPS trực tiếp tới các site trên internet. Điều này có thể xảy ra ở một số quốc gia hoặc doanh nghiệp, và proxy cho phép server cùng container truy cập các site đó. Định dạng là URL kèm số port. Mặc định là None.

tls_disabledbooleanbắt buộc

Transport Layer Security (TLS) thường được bật để bảo vệ bay/cluster. Trong một số trường hợp, bạn có thể muốn tắt TLS trong bay/cluster, ví dụ khi phát triển hoặc để xử lý sự cố. Chỉ định tham số này sẽ tắt TLS để có thể truy cập endpoint của COE mà không cần chứng chỉ. Mặc định là bật TLS.

keypair_idstringbắt buộc

Tên SSH keypair được cấu hình trên các server của bay/cluster để truy cập ssh. Bạn cần key này để ssh vào các server trong bay/cluster. Tên đăng nhập phụ thuộc vào driver của bay/cluster, ví dụ với image fedora-atomic, tên đăng nhập mặc định là fedora.

publicbooleanbắt buộc

Quyền truy cập baymodel/cluster template thường chỉ giới hạn cho admin, owner hoặc người dùng cùng tenant với owner. Bật flag này sẽ đưa baymodel/cluster template thành public để người dùng khác cũng truy cập được. Mặc định là không public.

labelsarray

Các label tuỳ ý dưới dạng cặp key=value. Các key được chấp nhận và giá trị hợp lệ do driver của bay/cluster quy định. Label được dùng để truyền thêm tham số riêng cho từng driver.

docker_volume_sizeintegerbắt buộc

Dung lượng (GB) của storage cục bộ trên mỗi server để Docker daemon cache image và chạy container. Storage do volume Cinder cung cấp. Mặc định là 25 GB. Với storage driver devicemapper, giá trị tối thiểu là 3 GB. Với storage driver overlay, giá trị tối thiểu là 1 GB.

server_typestringbắt buộc

Các server trong bay/cluster có thể là vm hoặc baremetal. Tham số này chọn loại server tạo cho bay/cluster. Mặc định là vm.

external_network_idstringbắt buộc

Tên hoặc network ID của một mạng Neutron dùng để kết nối bay/cluster ra internet. Mạng này phải là external network, tức thuộc tính router phải là True. Các server trong bay/cluster sẽ kết nối vào một private network và Magnum sẽ tạo router giữa private network này với external network. Nhờ đó server có thể tải image, truy cập discovery service..., còn container có thể cài package... Ở chiều ngược lại, floating IP sẽ được cấp từ external network để truy cập từ internet vào server và các container service chạy trong bay/cluster.

cluster_distrostringbắt buộc

Hiển thị thuộc tính os_distro được định nghĩa làm metadata phù hợp trong image cho driver của bay/cluster.

image_idstringbắt buộc

Tên hoặc UUID của base image trong Glance dùng để boot server cho bay/cluster. Image phải có thuộc tính os_distro được định nghĩa phù hợp với driver của bay/cluster.

volume_driverstringbắt buộc

Tên volume driver dùng để quản lý lưu trữ bền vững (persistent storage) cho container. Tính năng hỗ trợ tuỳ từng driver.

registry_enabledboolean

Mặc định Docker image được pull từ Docker registry public, nhưng đôi khi bạn muốn dùng private registry. Tuỳ chọn này cung cấp registry thay thế dựa trên Registry V2: Magnum sẽ tạo một registry cục bộ trong bay/cluster, dùng swift làm backend, để chứa image. Mặc định là dùng registry public.

docker_storage_driverstringbắt buộc

Tên driver quản lý storage cho image và lớp ghi (writable layer) của container. Mặc định là devicemapper.

apiserver_portintegerbắt buộc

Port được mở của COE API server.

namestringbắt buộc

Tên của tài nguyên.

created_atstringbắt buộc

Ngày giờ tạo tài nguyên. Định dạng timestamp là ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh (nếu có) là múi giờ lệch so với UTC. Trong ví dụ này, độ lệch là -05:00.

network_driverstringbắt buộc

Tên network driver cung cấp mạng cho container. Lưu ý đây là driver riêng, khác với mạng Neutron của bay/cluster. Cách hoạt động và mô hình mạng tuỳ từng driver.

fixed_networkstring

Tên hoặc network ID của một mạng Neutron dùng để kết nối vào mạng nội bộ của bay/cluster.

coestringbắt buộc

Chỉ định Container Orchestration Engine (COE) sử dụng. Các COE được hỗ trợ gồm kubernetes, swarm, mesos. Nếu môi trường của bạn cài thêm driver bay/cluster, xem tài liệu driver để biết tên COE mới.

flavor_idstringbắt buộc

ID hoặc tên nova flavor dùng để boot các node server. Mặc định là m1.small.

master_lb_enabledbooleanbắt buộc

Vì một bay/cluster có thể có nhiều master, một load balancer Neutron được tạo để cung cấp API endpoint cho bay/cluster và điều hướng request tới các master. Trong một số trường hợp, ví dụ khi không có LBaaS, có thể đặt tuỳ chọn này là false để tạo bay/cluster không có load balancer. Khi đó một trong các master sẽ làm API endpoint. Mặc định là true, tức tạo load balancer cho bay.

dns_nameserverstringbắt buộc

DNS nameserver mà server và container trong bay/cluster sử dụng. Được cấu hình trong private Neutron network của bay/cluster. Mặc định là 8.8.8.8.

hiddenboolean

Cho biết ClusterTemplate có bị ẩn hay không, giá trị mặc định là false.

Response mẫu​

Response body
{
"clustertemplates": [
{
"uuid": "6bde0752-643f-46b0-be7e-4fc97573d6c0",
"name": "kub01_template",
"coe": "kubernetes",
"image_id": "d275727a-a1c9-4d71-8180-adadc7fc266b",
"flavor_id": null,
"master_flavor_id": null,
"dns_nameserver": null,
"keypair_id": null,
"external_network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"fixed_network": "87aa2b20-580c-420c-9ca0-15f20144024b",
"fixed_subnet": "916164bc-66cb-4f99-8f41-2e13ad898b15",
"network_driver": "cilium",
"apiserver_port": null,
"docker_volume_size": 10,
"cluster_distro": "fedora-coreos",
"links": [
{
"href": "https://api.vietnix.cloud:9513/v1/clustertemplates/6bde0752-643f-46b0-be7e-4fc97573d6c0",
"rel": "self"
},
{
"href": "https://api.vietnix.cloud:9513/clustertemplates/6bde0752-643f-46b0-be7e-4fc97573d6c0",
"rel": "bookmark"
}
],
"http_proxy": null,
"https_proxy": null,
"no_proxy": null,
"volume_driver": "cinder",
"registry_enabled": false,
"labels": {},
"tls_disabled": false,
"public": false,
"server_type": "vm",
"insecure_registry": null,
"docker_storage_driver": "overlay2",
"master_lb_enabled": false,
"floating_ip_enabled": true,
"project_id": "f33507157a634f1cac71e06a70fb558e",
"user_id": "64166c7effeb4a89b59c073588099640",
"hidden": false,
"tags": null,
"created_at": "2025-09-25T02:52:57.463094+00:00",
"updated_at": null
},
{
"uuid": "389ecf86-46ce-4cdd-b7f3-889b0603b7ed",
"name": "kubApi_template",
"coe": "kubernetes",
"image_id": "d275727a-a1c9-4d71-8180-adadc7fc266b",
"flavor_id": null,
"master_flavor_id": null,
"dns_nameserver": null,
"keypair_id": null,
"external_network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"fixed_network": "87aa2b20-580c-420c-9ca0-15f20144024b",
"fixed_subnet": "916164bc-66cb-4f99-8f41-2e13ad898b15",
"network_driver": "cilium",
"apiserver_port": null,
"docker_volume_size": 10,
"cluster_distro": "fedora-coreos",
"links": [
{
"href": "https://api.vietnix.cloud:9513/v1/clustertemplates/389ecf86-46ce-4cdd-b7f3-889b0603b7ed",
"rel": "self"
},
{
"href": "https://api.vietnix.cloud:9513/clustertemplates/389ecf86-46ce-4cdd-b7f3-889b0603b7ed",
"rel": "bookmark"
}
],
"http_proxy": null,
"https_proxy": null,
"no_proxy": null,
"volume_driver": "cinder",
"registry_enabled": false,
"labels": {},
"tls_disabled": false,
"public": false,
"server_type": "vm",
"insecure_registry": null,
"docker_storage_driver": "overlay2",
"master_lb_enabled": false,
"floating_ip_enabled": true,
"project_id": "f33507157a634f1cac71e06a70fb558e",
"user_id": "64166c7effeb4a89b59c073588099640",
"hidden": false,
"tags": null,
"created_at": "2025-09-25T03:04:36.198050+00:00",
"updated_at": null
}
]
}

Mã trạng thái​

Thành công​

Mã trạng tháiMô tả
200 - OKRequest thành công.

Lỗi​

Mã trạng tháiMô tả
401 - UnauthorizedCần xác thực trước khi gửi request.
403 - ForbiddenPolicy không cho phép user hiện tại thực hiện thao tác này.