기본 정보
API URL
https://nks.apigw.ntruss.com/vnks
API Header
항목 | Mandatory | 설명 |
---|
Content-Type | Mandatory | 요청 Body Content Type을 application/json으로 지정 |
x-ncp-apigw-timestamp | Mandatory | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 나타냄 API Gateway 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-iam-access-key | Mandatory | 포탈 또는 Sub Account에서 발급받은 Access Key ID |
x-ncp-apigw-signature-v2 | Mandatory | 위 예제의 Body를 Access Key Id와 맵핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 |
Ncloud Kubernetes Service API V2
Cluster 목록 조회
Cluster 목록을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters [JPN]
Content-Type: application/json; charset=utf-8
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
응답 Body
{
"clusters": [
{
"uuid": "string",
"acgName": "string",
"acgNo": "integer",
"name": "string",
"capacity": "string",
"clusterType": "string",
"hypervisorCode": "string",
"nodeCount": "integer",
"nodeMaxCount": "integer",
"cpuCount": "integer",
"memorySize": "integer",
"createdAt": "string",
"endpoint": "string",
"k8sVersion": "string",
"regionCode": "string",
"status": "string",
"kubeNetworkPlugin": "string",
"subnetLbName": "string",
"subnetLbNo": "integer",
"lbPrivateSubnetNo": "integer",
"lbPublicSubnetNo": "integer",
"subnetName": "string",
"subnetNoList": [
"integer"
],
"updatedAt": "string",
"vpcName": "string",
"vpcNo": "integer",
"zoneCode": "string",
"zoneNo": "integer",
"initScriptNo": "integer",
"initScriptName": "string",
"podSecurityPolicyEnabled": "boolean",
"loginKeyName": "string",
"nodePool": [
{
"instanceNo": "integer",
"isDefault": "boolean",
"name": "string",
"nodeCount": "integer",
"subnetNoList": [
"integer"
],
"subnetNameList": [
"string"
],
"status": "string",
"autoscale": {
"enabled": "boolean",
"max": "integer",
"min": "integer"
},
"softwareCode": "string",
"productCode": "string",
"k8sVersion": "string",
"serverSpecCode": "string",
"storageSize": "integer",
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverRoleId": "string"
}
],
"log": {
"audit": "boolean"
},
"publicNetwork": "boolean",
"returnProtection": "boolean"
}
]
}
Category | Type | Description | Note |
---|
clusters[] | array | 클러스터 목록 | |
clusters[].uuid | string | 클러스터 uuid | |
clusters[].acgName | string | 클러스터 acg 이름 | |
clusters[].acgNo | integer | 클러스터 acg no | |
clusters[].name | string | 클러스터 이름 | |
clusters[].capacity | string | 클러스터 용량 | |
clusters[].clusterType | string | 클러스터 타입 | |
clusters[].hypervisorCode | string | Hypervisor Code | |
clusters[].nodeCount | integer | 등록된 노드 총 개수 | |
clusters[].nodeMaxCount | integer | 사용할 수 있는 노드의 최대 개수 | |
clusters[].cpuCount | integer | cpu 개수 | |
clusters[].memorySize | integer | 메모리 용량 | |
clusters[].createdAt | string | 생성 일자 | |
clusters[].endpoint | string | Control Plane API 주소 | |
clusters[].k8sVersion | string | 쿠버네티스 버전 | |
clusters[].regionCode | string | region의 코드 | |
clusters[].status | string | 클러스터 상태 | |
clusters[].kubeNetworkPlugin | string | CNI Plugin Code | |
clusters[].subnetLbName | string | @deprecated 로드밸런서 전용 서브넷 이름 | |
clusters[].subnetLbNo | integer | @deprecated 로드밸런서 전용 Private Subnet No | |
clusters[].lbPrivateSubnetNo | integer | 로드밸런서 전용 Private Subnet No | |
clusters[].lbPublicSubnetNo | integer | 로드밸런서 전용 Public Subnet No | |
clusters[].subnetName | string | @deprecated 서브넷 이름 | |
clusters[].subnetNoList[] | array | 서브넷 No 목록 | |
clusters[].updatedAt | string | 최근 업데이트 일자 | |
clusters[].vpcName | string | vpc 이름 | |
clusters[].vpcNo | integer | vpc 번호 | |
clusters[].zoneCode | string | zone 코드 | |
clusters[].zoneNo | integer | zone 번호 | |
clusters[].initScriptNo | integer | @deprecated InitScript 번호 | |
clusters[].initScriptName | string | @deprecated InitScript 이름 | |
clusters[].podSecurityPolicyEnabled | boolean | @deprecated Pod Security Policy 설정 여부 | |
clusters[].loginKeyName | string | 로그인 키 이름 | |
clusters[].nodePool[] | array | 노드풀 | |
clusters[].nodePool[].instanceNo | integer | 인스턴스 번호 | |
clusters[].nodePool[].isDefault | boolean | @deprecated default pool 여부 | |
clusters[].nodePool[].name | string | 노드풀 이름 | |
clusters[].nodePool[].nodeCount | integer | 노드 개수 | |
clusters[].nodePool[].subnetNoList[] | array | Subnet 번호 목록 | |
clusters[].nodePool[].subnetNameList[] | array | @deprecated Subnet 이름 목록 | |
clusters[].nodePool[].status | string | 노드풀 상태 | |
clusters[].nodePool[].autoscale | | 오토스케일 | |
clusters[].nodePool[].autoscale.enabled | boolean | 오토스케일 가능여부 | |
clusters[].nodePool[].autoscale.max | integer | 오토스케일 가능 최대 노드 수 | |
clusters[].nodePool[].autoscale.min | integer | 오토스케일 가능 최소 노드 수 | |
clusters[].nodePool[].softwareCode | string | Software Code(OS) | |
clusters[].nodePool[].productCode | string | 상품 코드 | |
clusters[].nodePool[].k8sVersion | string | 쿠버네티스 버전 | |
clusters[].nodePool[].serverSpecCode | string | 서버 스펙 코드 | |
clusters[].nodePool[].storageSize | integer | 스토리지 크기 | |
clusters[].nodePool[].labels[] | array | | |
clusters[].nodePool[].labels[].key | string | | |
clusters[].nodePool[].labels[].value | string | | |
clusters[].nodePool[].taints[] | array | | |
clusters[].nodePool[].taints[].key | string | | |
clusters[].nodePool[].taints[].value | string | | |
clusters[].nodePool[].taints[].effect | string | | |
clusters[].nodePool[].serverRoleId | string | | |
clusters[].log | | | |
clusters[].log.audit | boolean | Audit Log 설정 | |
clusters[].publicNetwork | boolean | Public Network | |
clusters[].returnProtection | boolean | | |
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
Cluster 조회
단일 Cluster 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid} [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid} [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid} [JPN]
Content-Type: application/json; charset=utf-8
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | 조회할 클러스터의 uuid |
Headers
응답 Body
{
"cluster": {
"uuid": "string",
"acgName": "string",
"acgNo": "integer",
"name": "string",
"capacity": "string",
"clusterType": "string",
"hypervisorCode": "string",
"nodeCount": "integer",
"nodeMaxCount": "integer",
"cpuCount": "integer",
"memorySize": "integer",
"createdAt": "string",
"endpoint": "string",
"k8sVersion": "string",
"regionCode": "string",
"status": "string",
"kubeNetworkPlugin": "string",
"subnetLbName": "string",
"subnetLbNo": "integer",
"lbPrivateSubnetNo": "integer",
"lbPublicSubnetNo": "integer",
"subnetName": "string",
"subnetNoList": [
"integer"
],
"updatedAt": "string",
"vpcName": "string",
"vpcNo": "integer",
"zoneCode": "string",
"zoneNo": "integer",
"initScriptNo": "integer",
"initScriptName": "string",
"podSecurityPolicyEnabled": "boolean",
"loginKeyName": "string",
"nodePool": [
{
"instanceNo": "integer",
"isDefault": "boolean",
"name": "string",
"nodeCount": "integer",
"subnetNoList": [
"integer"
],
"subnetNameList": [
"string"
],
"status": "string",
"autoscale": {
"enabled": "boolean",
"max": "integer",
"min": "integer"
},
"softwareCode": "string",
"productCode": "string",
"k8sVersion": "string",
"serverSpecCode": "string",
"storageSize": "integer",
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverRoleId": "string"
}
],
"log": {
"audit": "boolean"
},
"publicNetwork": "boolean",
"returnProtection": "boolean"
}
}
Category | Type | Description | Note |
---|
cluster | | 클러스터 | |
cluster.uuid | string | 클러스터 uuid | |
cluster.acgName | string | 클러스터 acg 이름 | |
cluster.acgNo | integer | 클러스터 acg no | |
cluster.name | string | 클러스터 이름 | |
cluster.capacity | string | 클러스터 용량 | |
cluster.clusterType | string | 클러스터 타입 | |
cluster.hypervisorCode | string | Hypervisor Code | |
cluster.nodeCount | integer | 등록된 노드 총 개수 | |
cluster.nodeMaxCount | integer | 사용할 수 있는 노드의 최대 개수 | |
cluster.cpuCount | integer | cpu 개수 | |
cluster.memorySize | integer | 메모리 용량 | |
cluster.createdAt | string | 생성 일자 | |
cluster.endpoint | string | Control Plane API 주소 | |
cluster.k8sVersion | string | 쿠버네티스 버전 | |
cluster.regionCode | string | region의 코드 | |
cluster.status | string | 클러스터 상태 | |
cluster.kubeNetworkPlugin | string | CNI Plugin Code | |
cluster.subnetLbName | string | @deprecated 로드밸런서 전용 서브넷 이름 | |
cluster.subnetLbNo | integer | @deprecated 로드밸런서 전용 Private Subnet No | |
cluster.lbPrivateSubnetNo | integer | 로드밸런서 전용 Private Subnet No | |
cluster.lbPublicSubnetNo | integer | 로드밸런서 전용 Public Subnet No | |
cluster.subnetName | string | @deprecated 서브넷 이름 | |
cluster.subnetNoList[] | array | 서브넷 No 목록 | |
cluster.updatedAt | string | 최근 업데이트 일자 | |
cluster.vpcName | string | vpc 이름 | |
cluster.vpcNo | integer | vpc 번호 | |
cluster.zoneCode | string | zone 코드 | |
cluster.zoneNo | integer | zone 번호 | |
cluster.initScriptNo | integer | @deprecated InitScript 번호 | |
cluster.initScriptName | string | @deprecated InitScript 이름 | |
cluster.podSecurityPolicyEnabled | boolean | @deprecated Pod Security Policy 설정 여부 | |
cluster.loginKeyName | string | 로그인 키 이름 | |
cluster.nodePool[] | array | 노드풀 | |
cluster.nodePool[].instanceNo | integer | 인스턴스 번호 | |
cluster.nodePool[].isDefault | boolean | @deprecated default pool 여부 | |
cluster.nodePool[].name | string | 노드풀 이름 | |
cluster.nodePool[].nodeCount | integer | 노드 개수 | |
cluster.nodePool[].subnetNoList[] | array | Subnet 번호 목록 | |
cluster.nodePool[].subnetNameList[] | array | @deprecated Subnet 이름 목록 | |
cluster.nodePool[].status | string | 노드풀 상태 | |
cluster.nodePool[].autoscale | | 오토스케일 | |
cluster.nodePool[].autoscale.enabled | boolean | 오토스케일 가능여부 | |
cluster.nodePool[].autoscale.max | integer | 오토스케일 가능 최대 노드 수 | |
cluster.nodePool[].autoscale.min | integer | 오토스케일 가능 최소 노드 수 | |
cluster.nodePool[].softwareCode | string | Software Code(OS) | |
cluster.nodePool[].productCode | string | 상품 코드 | |
cluster.nodePool[].k8sVersion | string | 쿠버네티스 버전 | |
cluster.nodePool[].serverSpecCode | string | 서버 스펙 코드 | |
cluster.nodePool[].storageSize | integer | 스토리지 크기 | |
cluster.nodePool[].labels[] | array | | |
cluster.nodePool[].labels[].key | string | | |
cluster.nodePool[].labels[].value | string | | |
cluster.nodePool[].taints[] | array | | |
cluster.nodePool[].taints[].key | string | | |
cluster.nodePool[].taints[].value | string | | |
cluster.nodePool[].taints[].effect | string | | |
cluster.nodePool[].serverRoleId | string | | |
cluster.log | | | |
cluster.log.audit | boolean | Audit Log 설정 | |
cluster.publicNetwork | boolean | Public Network | |
cluster.returnProtection | boolean | | |
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
Cluster 생성
Cluster를 생성합니다.
요청 URL
POST https://nks.apigw.ntruss.com/vnks/v2/clusters [KR]
POST https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters [SGN]
POST https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 Body
{
"name": "string",
"clusterType": "string",
"k8sVersion": "string",
"loginKeyName": "string",
"hypervisorCode": "string",
"regionCode": "string",
"zoneCode": "string",
"zoneNo": "integer",
"publicNetwork": "boolean",
"kubeNetworkPlugin": "string",
"vpcNo": "integer",
"subnetNoList": [
"integer"
],
"subnetLbNo": "integer",
"lbPrivateSubnetNo": "integer",
"lbPublicSubnetNo": "integer",
"log": {
"audit": "boolean"
},
"defaultNodePool": {
"name": "string",
"nodeCount": "integer",
"subnetNo": "integer",
"subnetNoList": [
"integer"
],
"softwareCode": "string",
"productCode": "string",
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverSpecCode": "string",
"storageSize": "integer",
"serverRoleId": "string"
},
"nodePool": [
{
"name": "string",
"nodeCount": "integer",
"subnetNo": "integer",
"subnetNoList": [
"integer"
],
"softwareCode": "string",
"productCode": "string",
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverSpecCode": "string",
"storageSize": "integer",
"serverRoleId": "string"
}
]
}
Category | Mandatory | Type | Description | Note |
---|
name | Mandatory | string | 클러스터 이름 | |
clusterType | Mandatory | string | 클러스터 타입 | |
k8sVersion | | string | 쿠버네티스 버전 Version 조회 API | |
loginKeyName | Mandatory | string | 로그인 키 이름 | |
hypervisorCode | | string | Hypervisor Code | |
regionCode | Mandatory | string | Region의 코드 | |
zoneCode | | string | Zone 코드 | |
zoneNo | | integer | Zone 번호 | |
publicNetwork | | boolean | Public network | |
kubeNetworkPlugin | | string | CNI Plugin Code (ncloud-vpc-cni or cilium) | |
vpcNo | Mandatory | integer | VPC 번호 | |
subnetNoList[] | Mandatory | array | 서브넷 번호 목록 | |
subnetLbNo | | integer | @deprecated 로드밸런서 전용 Private Subnet 번호 | |
lbPrivateSubnetNo | | integer | 로드밸런서 전용 Private Subnet 번호 | |
lbPublicSubnetNo | | integer | 로드밸런서 전용 Public Subnet 번호 | |
log | | | log | |
log.audit | | boolean | Audit Log 설정 | |
defaultNodePool | | | @deprecated 기본 노드풀 | |
defaultNodePool.name | | string | 노드풀 이름 | |
defaultNodePool.nodeCount | | integer | 노드 개수 | |
defaultNodePool.subnetNo | | integer | @deprecated Subnet 번호 | |
defaultNodePool.subnetNoList[] | | array | Subnet 번호 | |
defaultNodePool.softwareCode | | string | Server image code | |
defaultNodePool.productCode | | string | 상품 코드 | |
defaultNodePool.labels[] | | array | | |
defaultNodePool.labels[].key | | string | | |
defaultNodePool.labels[].value | | string | | |
defaultNodePool.taints[] | | array | | |
defaultNodePool.taints[].key | | string | | |
defaultNodePool.taints[].value | | string | | |
defaultNodePool.taints[].effect | | string | | |
defaultNodePool.serverSpecCode | | string | Server spec code | |
defaultNodePool.storageSize | | integer | Storage size | |
defaultNodePool.serverRoleId | | string | | |
nodePool[] | | array | 추가 노드풀 | |
nodePool[].name | | string | 노드풀 이름 | |
nodePool[].nodeCount | | integer | 노드 개수 | |
nodePool[].subnetNo | | integer | @deprecated Subnet 번호 | |
nodePool[].subnetNoList[] | | array | Subnet 번호 | |
nodePool[].softwareCode | | string | Server image code | |
nodePool[].productCode | | string | 상품 코드 | |
nodePool[].labels[] | | array | | |
nodePool[].labels[].key | | string | | |
nodePool[].labels[].value | | string | | |
nodePool[].taints[] | | array | | |
nodePool[].taints[].key | | string | | |
nodePool[].taints[].value | | string | | |
nodePool[].taints[].effect | | string | | |
nodePool[].serverSpecCode | | string | Server spec code | |
nodePool[].storageSize | | integer | Storage size | |
nodePool[].serverRoleId | | string | | |
참고
vpcNo
, subnetNoList
, subnetLbNo
파라미터는 각 리소스에 상세 페이지에서 ID 값을 확인할 수 있습니다.loginKeyName
파라미터는 서버 관리 및 설정 > 인증키 관리메뉴에서 인증키 이름을 확인할 수 있습니다.
응답 Body
{
"uuid": "string"
}
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster 업그레이드
Cluster를 업그레이드합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/upgrade [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/upgrade [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/upgrade [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
k8sVersion | query | Y | string | kubernetes version |
maxSurge | query | N | integer | maxSurge |
maxUnavailable | query | N | integer | maxUnavailable |
응답 Body
{
"uuid": "string"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster Audit Log 설정
Cluster의 Audit Log를 설정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/log [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/log [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/log [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
요청 Body
{
"audit": "boolean"
}
Category | Mandatory | Type | Description | Note |
---|
audit | Mandatory | boolean | | |
응답 Body
{
"uuid": "string"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster Subnet 추가
Cluster의 Subnet을 추가합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/add-subnet [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/add-subnet [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/add-subnet [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
요청 Body
{
"subnets": [
{
"number": "integer"
}
]
}
Category | Mandatory | Type | Description | Note |
---|
subnets[] | Mandatory | array | | |
subnets[].number | | integer | | |
참고
- Subnet은 최대 5개까지 설정할 수 있습니다.
응답 Body
{
"uuid": "string"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster OIDC 설정
Cluster의 OIDC를 설정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/oidc [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/oidc [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/oidc [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
요청 Body
{
"clientId": "string",
"issuerURL": "string",
"status": "boolean",
"groupsClaim": "string",
"groupsPrefix": "string",
"usernameClaim": "string",
"usernamePrefix": "string",
"requiredClaim": "string"
}
Category | Mandatory | Type | Description | Note |
---|
clientId | Mandatory | string | | |
issuerURL | Mandatory | string | | |
status | Mandatory | boolean | | |
groupsClaim | | string | | |
groupsPrefix | | string | | |
usernameClaim | | string | | |
usernamePrefix | | string | | |
requiredClaim | | string | | |
응답 Body
{
"uuid": "string"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster OIDC 조회
Cluster의 OIDC 설정을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/oidc [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/oidc [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/oidc [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
응답 Body
{
"clientId": "string",
"groupsClaim": "string",
"groupsPrefix": "string",
"issuerURL": "string",
"requiredClaim": "string",
"status": "boolean",
"usernameClaim": "string",
"usernamePrefix": "string"
}
Category | Type | Description | Note |
---|
clientId | string | | |
groupsClaim | string | | |
groupsPrefix | string | | |
issuerURL | string | | |
requiredClaim | string | | |
status | boolean | | |
usernameClaim | string | | |
usernamePrefix | string | | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster IP ACL 설정
Cluster의 IP ACL를 설정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/ip-acl [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/ip-acl [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/ip-acl [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
요청 Body
{
"defaultAction": "string",
"entries": [
{
"action": "string",
"address": "string",
"comment": "string"
}
]
}
Category | Mandatory | Type | Description | Note |
---|
defaultAction | Mandatory | string | | |
entries[] | | array | | |
entries[].action | | string | | |
entries[].address | | string | | |
entries[].comment | | string | | |
응답 Body
{
"uuid": "string"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster IP ACL 조회
Cluster의 IP ACL 설정을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/ip-acl [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/ip-acl [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/ip-acl [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
응답 Body
{
"defaultAction": "string",
"entries": [
{
"action": "string",
"address": "string",
"comment": "string"
}
]
}
Category | Type | Description | Note |
---|
defaultAction | string | | |
entries[] | array | | |
entries[].action | string | | |
entries[].address | string | | |
entries[].comment | string | | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster Load Balancer Subnet 수정
클러스터 내 Load Balancer Subnet이 삭제된 경우 이 설정을 수정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/lb-subnet [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/lb-subnet [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/lb-subnet [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
Item | Location | Required | Type | Description |
---|
uuid | path | string | Cluster uuid | - |
lbSubnetNo | query | integer | Load Balancer Subnet Instance No. | - |
요청 Body
없음
응답 Body
{
"uuid": "string"
}
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Cluster 반납보호 설정
Cluster의 반납보호를 설정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/return-protection [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/return-protection [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/return-protection [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
요청 Body
{
"returnProtection": "boolean"
}
Category | Mandatory | Type | Description | Note |
---|
returnProtection | Mandatory | boolean | | |
응답 Body
{
"uuid": "string"
}
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
Cluster 삭제
특정 Cluster를 삭제합니다.
요청 URL
DELETE https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid} [KR]
DELETE https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid} [SGN]
DELETE https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid} [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | 삭제할 클러스터의 uuid |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
WorkerNode 조회
Cluster 내 등록된 WorkerNode들의 목록을 반환합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/nodes [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/nodes [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/nodes [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | 클러스터의 uuid |
Headers
요청 Body
없음
응답 Body
{
"nodes": [
{
"id": "integer",
"name": "string",
"serverName": "string",
"serverSpec": "string",
"privateIp": "string",
"publicIp": "string",
"returnProtectionYn": "string",
"status": "string",
"statusCode": "string",
"statusIcon": "string",
"statusColor": "string",
"statusName": "string",
"serverImageName": "string",
"cpuCount": "integer",
"memorySize": "integer",
"softwareCode": "string",
"specCode": "string",
"productCode": "string",
"loginKeyName": "string",
"k8sStatus": "string",
"dockerVersion": "string",
"kernelVersion": "string",
"providerID": "string",
"nodePoolId": "integer",
"nodePoolName": "string"
}
]
}
Category | Type | Description | Note |
---|
nodes[] | array | 워커노드 목록 | |
nodes[].id | integer | 워커노드 id | |
nodes[].name | string | 워커노드 이름 | |
nodes[].serverName | string | 워커노드 서버이름 | |
nodes[].serverSpec | string | 워커노드 서버 스펙 | |
nodes[].privateIp | string | 비 공인 IP | |
nodes[].publicIp | string | 공인 IP | |
nodes[].returnProtectionYn | string | 반납 보호 설정 | |
nodes[].status | string | 워커노드 현재 상태 | |
nodes[].statusCode | string | 상태 코드 | |
nodes[].statusIcon | string | 상태 아이콘 | |
nodes[].statusColor | string | 상태 색깔 | |
nodes[].statusName | string | 상태 이름 | |
nodes[].serverImageName | string | 서버 이미지 이름 | |
nodes[].cpuCount | integer | cpu 수 | |
nodes[].memorySize | integer | 총 메모리 용량 | |
nodes[].softwareCode | string | 서버 이미지 코드 | |
nodes[].specCode | string | @deprecated 스펙 코드 | |
nodes[].productCode | string | 스펙 코드 | |
nodes[].loginKeyName | string | 로그인 키 이름 | |
nodes[].k8sStatus | string | 쿠버네티스 상태 | |
nodes[].dockerVersion | string | 도커 버전 | |
nodes[].kernelVersion | string | 커널 버전 | |
nodes[].providerID | string | providerID | |
nodes[].nodePoolId | integer | 노드풀 ID | |
nodes[].nodePoolName | string | 노드풀 이름 | |
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
WorkerNode 삭제
WorkerNode를 삭제합니다.
요청 URL
DELETE https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/nodes/{instanceNo} [KR]
DELETE https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/nodes/{instanceNo} [SGN]
DELETE https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/nodes/{instanceNo} [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | 제거할 WorkerNode의 클러스터 uuid | - |
instanceNo | Mandatory | integer | WorkerNode instance 번호 | - |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool 조회
클러스터 내 등록 된 NodePool을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | 조회할 노드풀의 클러스터 uuid |
Headers
요청 Body
없음
응답 Body
{
"nodePool": [
{
"instanceNo": "integer",
"isDefault": "boolean",
"name": "string",
"nodeCount": "integer",
"subnetNoList": [
"integer"
],
"subnetNameList": [
"string"
],
"status": "string",
"autoscale": {
"enabled": "boolean",
"max": "integer",
"min": "integer"
},
"softwareCode": "string",
"productCode": "string",
"k8sVersion": "string",
"serverSpecCode": "string",
"storageSize": "integer",
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverRoleId": "string"
}
]
}
Category | Type | Description | Note |
---|
nodePool[] | array | 노드풀 | |
nodePool[].instanceNo | integer | 인스턴스 번호 | |
nodePool[].isDefault | boolean | @deprecated default pool 여부 | |
nodePool[].name | string | 노드풀 이름 | |
nodePool[].nodeCount | integer | 노드 개수 | |
nodePool[].subnetNoList[] | array | Subnet 번호 목록 | |
nodePool[].subnetNameList[] | array | @deprecated Subnet 이름 목록 | |
nodePool[].status | string | 노드풀 상태 | |
nodePool[].autoscale | | 오토스케일 | |
nodePool[].autoscale.enabled | boolean | 오토스케일 가능여부 | |
nodePool[].autoscale.max | integer | 오토스케일 가능 최대 노드 수 | |
nodePool[].autoscale.min | integer | 오토스케일 가능 최소 노드 수 | |
nodePool[].softwareCode | string | Software Code(OS) | |
nodePool[].productCode | string | 상품 코드 | |
nodePool[].k8sVersion | string | 쿠버네티스 버전 | |
nodePool[].serverSpecCode | string | 서버 스펙 코드 | |
nodePool[].storageSize | integer | 스토리지 크기 | |
nodePool[].labels[] | array | | |
nodePool[].labels[].key | string | | |
nodePool[].labels[].value | string | | |
nodePool[].taints[] | array | | |
nodePool[].taints[].key | string | | |
nodePool[].taints[].value | string | | |
nodePool[].taints[].effect | string | | |
nodePool[].serverRoleId | string | | |
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool 생성
Cluster 내에 NodePool을 생성합니다.
요청 URL
POST https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool [KR]
POST https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool [SGN]
POST https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | 생성할 노드풀의 클러스터 uuid |
Headers
요청 Body
{
"name": "string",
"nodeCount": "integer",
"subnetNo": "integer",
"subnetNoList": [
"integer"
],
"softwareCode": "string",
"productCode": "string",
"serverSpecCode": "string",
"storageSize": "integer",
"autoscale": {
"enabled": "boolean",
"max": "integer",
"min": "integer"
},
"labels": [
{
"key": "string",
"value": "string"
}
],
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
],
"serverRoleId": "string"
}
Category | Mandatory | Type | Description | Note |
---|
name | Mandatory | string | 노드풀 이름 | |
nodeCount | Mandatory | integer | 등록 될 노드 개수 | |
subnetNo | | integer | Subnet 번호 | |
subnetNoList[] | | array | Subnet 번호 | |
softwareCode | | string | Server image code | |
productCode | | string | 상품 코드 서버 스펙 목록 | |
serverSpecCode | | string | Server spec code | |
storageSize | | integer | Storage size | |
autoscale | | | 오토스케일 | |
autoscale.enabled | | boolean | 오토스케일 가능여부 | |
autoscale.max | | integer | 오토스케일 가능 최대 노드 수 | |
autoscale.min | | integer | 오토스케일 가능 최소 노드 수 | |
labels[] | | array | | |
labels[].key | | string | | |
labels[].value | | string | | |
taints[] | | array | | |
taints[].key | | string | | |
taints[].value | | string | | |
taints[].effect | | string | | |
serverRoleId | | string | | |
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool 수정
클러스터 내 등록된 NodePool을 update합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo} [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo} [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo} [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | 갱신할 노드풀의 클러스터 uuid | - |
instanceNo | Mandatory | integer | 노드풀 instance 번호 | - |
Headers
요청 Body
{
"nodeCount": "integer",
"autoscale": {
"enabled": "boolean",
"max": "integer",
"min": "integer"
}
}
Category | Mandatory | Type | Description | Note |
---|
nodeCount | Mandatory | integer | 노드 개수 | |
autoscale | | | 오토스케일 | |
autoscale.enabled | | boolean | 오토스케일 가능여부 | |
autoscale.max | | integer | 오토스케일 가능 최대 노드 수 | |
autoscale.min | | integer | 오토스케일 가능 최소 노드 수 | |
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool Subnet 수정
클러스터 내 등록된 NodePool의 Subnet을 수정합니다.
NodePool의 Subnet 설정이 자동할당이 아닌 1개 이상 Subnet이 지정된 경우만 사용할 수 있습니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo}/subnets [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo}/subnets [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo}/subnets [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
Item | Location | Required | Type | Description |
---|
uuid | path | string | Cluster uuid | - |
instanceNo | path | string | NodePool Instance No. | - |
요청 Body
{
"subnets": [
"integer"
]
}
Category | Mandatory | Type | Description | Note |
---|
subnets[] | Mandatory | array | | |
응답 Body
{
"uuid": "string",
"instanceNo": "integer"
}
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool Label 수정
클러스터 내 등록된 NodePool의 Label를 수정합니다.
요청 URL
PUT https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo}/labels [KR]
PUT https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo}/labels [SGN]
PUT https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo}/labels [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
Item | Location | Required | Type | Description |
---|
uuid | path | string | Cluster uuid | - |
instanceNo | path | string | NodePool Instance No. | - |
요청 Body
{
"labels": [
{
"key": "string",
"value": "string"
}
]
}
Category | Mandatory | Type | Description | Note |
---|
labels[] | Mandatory | array | | |
labels[].key | | string | | |
labels[].value | | string | | |
응답 Body
{
"uuid": "string",
"instanceNo": "integer"
}
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool Taint 수정
클러스터 내 등록된 NodePool의 Taint를 수정합니다.
요청 URL
PUT https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo}/taints [KR]
PUT https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo}/taints [SGN]
PUT https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo}/taints [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
Item | Location | Required | Type | Description |
---|
uuid | path | string | Cluster uuid | - |
instanceNo | path | string | NodePool Instance No. | - |
요청 Body
{
"taints": [
{
"key": "string",
"value": "string",
"effect": "string"
}
]
}
Category | Mandatory | Type | Description | Note |
---|
taints[] | Mandatory | array | | |
taints[].key | | string | | |
taints[].value | | string | | |
taints[].effect | | string | | |
응답 Body
{
"uuid": "string",
"instanceNo": "integer"
}
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
NodePool 업그레이드
NodePool를 업그레이드합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo}/upgrade [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo}/upgrade [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo}/upgrade [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
uuid | path | Y | string | cluster uuid |
instanceNo | path | Y | integer | nodepool instanceNo |
k8sVersion | query | Y | string | kubernetes version |
maxSurge | query | N | integer | maxSurge |
maxUnavailable | query | N | integer | maxUnavailable |
참고
- NodePool의 k8sVersion 정보는 클러스터의 k8sVersion 이내에서만 가능합니다.
응답 Body
{
"uuid": "string",
"instanceNo": "integer"
}
항목 | Type | 설명 | 비고 |
---|
uuid | string | 클러스터 uuid | |
instanceNo | integer | NodePool instanceNo | |
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
409 | Conflict |
500 | Internal Server Error |
NodePool 삭제
NodePool을 삭제합니다.
요청 URL
DELETE https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/node-pool/{instanceNo} [KR]
DELETE https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/node-pool/{instanceNo} [SGN]
DELETE https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/node-pool/{instanceNo} [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | 제거할 노드풀의 클러스터 uuid | - |
instanceNo | Mandatory | integer | 노드풀 instance 번호 | - |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Kubeconfig 조회
Cluster의 kubeconfig를 조회합니다.
참고
2022.02.13 이후에 생성된 클러스터는 IAM 인증이 자동으로 적용됩니다.
IAM 인증이 적용된 클러스터는 해당 API를 통해 kubeconfig를 조회할 수 없습니다.
ncp-iam-authenticator를 사용하여 kubeconfig를 구성하면 IAM 인증을 통해 IAM 서비스(SubAccounts) 계정별로 클러스터 권한을 제어할 수 있습니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/kubeconfig [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/kubeconfig [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/kubeconfig [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | kubeconfig의 클러스터 uuid |
Headers
요청 Body
없음
응답 Body
{
"kubeconfig": "string"
}
항목 | Type | 설명 | 비고 |
---|
kubeconfig | string | kubeconfig의 json값 | |
응답 Status
HTTP Status | Desc |
---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
Kubeconfig 재설정
Cluster 의 kubeconfig를 재설정합니다.
요청 URL
PATCH https://nks.apigw.ntruss.com/vnks/v2/clusters/{uuid}/kubeconfig/reset [KR]
PATCH https://nks.apigw.ntruss.com/vnks/sgn-v2/clusters/{uuid}/kubeconfig/reset [SGN]
PATCH https://nks.apigw.ntruss.com/vnks/jpn-v2/clusters/{uuid}/kubeconfig/reset [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Path Variables
항목 | Mandatory | Type | 설명 | 비고 |
---|
uuid | Mandatory | string | cluster uuid | kubeconfig를 재설정 할 클러스터 uuid |
Headers
요청 Body
없음
응답 Body
없음
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
k8s 지원 버전 조회
Cluster 생성 가능한 k8s 버전을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/option/version [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/option/version [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/option/version [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 Body
없음
응답 Body
[
{
"label": "string",
"value": "string"
}
]
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
서버 이미지 조회
Cluster 생성 시 사용 가능한 서버 이미지를 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/option/server-image [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/option/server-image [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/option/server-image [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 Body
없음
응답 Body
[
{
"label": "string",
"value": "string"
}
]
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
서버 스펙 조회
Cluster/노드풀 생성 시 사용 가능한 서버 스펙을 조회합니다.
요청 URL
GET https://nks.apigw.ntruss.com/vnks/v2/option/server-product-code [KR]
GET https://nks.apigw.ntruss.com/vnks/sgn-v2/option/server-product-code [SGN]
GET https://nks.apigw.ntruss.com/vnks/jpn-v2/option/server-product-code [JPN]
x-ncp-apigw-timestamp: {Timestamp}
x-ncp-iam-access-key: {Sub Account Access Key}
x-ncp-apigw-signature-v2: {API Gateway Signature}
Headers
요청 파라미터
항목 | 위치 | 필수여부 | 타입 | 설명 |
---|
softwareCode | query | Y | string | zoneNo |
zoneCode | query | N | string | zoneCode |
zoneNo | query | N | string | zoneNo |
응답 Body
{
"label": "string",
"value": "string",
"disabled": "boolean"
}
응답 Status
HTTP Status | Desc |
---|
204 | No Content |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |