기능 가용성
Fleet Control for Kubernetes 클러스터가 일반 출시되었습니다(GA). Linux and Windows hosts 에서 에이전트 관리 지원은 현재 공개 미리보기 중입니다.
지원되는 에이전트와 해당 환경의 전체 목록은 에이전트 유형 호환성 문서를 참조하세요.
공개 미리보기 기능은 출시 전 정책 에 따라 제공됩니다.
NerdGraph를 사용하여 플릿 취소 플릿, 멤버 및 구현, 배포를 프로그래밍 방식으로 관리할 수 있습니다. 이러한 변형은 차량 운영에 대한 완벽한 제어를 제공하여 차량 관리를 자동화하고, CI/CD와 통합하고, 측정 및 계측을 대규모로 관리할 수 있도록 합니다.
이 튜토리얼에서는 사용 가능한 플릿 컨트롤 돌연변이 및 쿼리의 예를 제공합니다. 이를 사용하여 플릿을 생성하고, 플릿 구성원을 관리하고, 배포, 에이전트 설정을 수행할 수 있습니다.
전제 조건
- API 사용자 키에 액세스할 수 있는 뉴렐릭 계정
- 함대 관리 권한이 있는 Organization Manager 역할 또는 사용자 지정 역할
- GraphQL 과 NerdGraph에 대한 친숙도
팁
명령줄을 이용한 함대 관리에는 Fleet Control CLI 을 사용할 수도 있습니다. CLI는 동일한 NerdGraph API를 기반으로 구축되었습니다.
중요
에이전트 설정은 NerdGraph가 아닌 Blob Storage API 을 통해 관리됩니다. 모든 설정 작업은 별도의 REST API 사용합니다.
함대 관리 변이
fleetControlCreateFleet 변이를 사용하여 Kubernetes clusters 또는 호스트 그룹을 관리하기 위한 새 플릿을 생성합니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| 물체 | 네 | 함대 설정을 포함하는 함대 생성 입력입니다. |
| 문자열 | 네 | 함대 이름. 조직 내에서 유일무이해야 합니다. |
| 열거형 | 네 | 이 함대가 관리할 엔티티 유형. 옵션:
(Linux/Windows 호스트용) 또는
. |
| 물체 | 네 | 함대가 계정 범위인지 조직 범위인지를 정의하는 엔티티 범위입니다. |
| 열거형 | 네 | 범위 유형. 옵션:
또는
. |
| ID | 네 | 범위 유형에 따라 계정 ID 또는 조직 ID입니다. |
| 문자열 | 아니요 | 함대의 목적에 대한 설명. |
| 물체 | 아니요 | HOST 함대에 대한 운영 시스템 유형입니다.
인 경우 필수입니다. |
| 열거형 | 예 (운영체제가 제공된 경우) | 운영체제 종류. 옵션:
또는
. |
| 정렬 | 아니요 | 함대를 분류하기 위한 태그 객체 목록입니다. |
샘플 요청
mutation CreateFleet { fleetControlCreateFleet( fleetEntity: { name: "Production Web Servers" description: "Fleet for all production Linux web server hosts" managedEntityType: HOST operatingSystem: { type: LINUX } scope: { type: ACCOUNT, id: "YOUR_ACCOUNT_ID" } tags: [ { key: "environment", values: ["production"] } { key: "team", values: ["platform"] } ] } ) { entity { id name description managedEntityType } }}샘플 응답
{ "data": { "fleetControlCreateFleet": { "entity": { "id": "<YOUR_FLEET_ID>", "name": "Production Web Servers", "description": "Fleet for all production Linux web server hosts", "managedEntityType": "HOST" } } }}기존 함대의 이름, 설명 또는 태그를 업데이트하려면 fleetControlUpdateFleet 뮤테이션을 사용하십시오.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 업데이트할 함대 엔티티 ID입니다. |
| 물체 | 네 | 차량 관리 업데이트 입력란에는 수정할 필드가 포함되어 있습니다. |
| 문자열 | 아니요 | 함대 이름이 업데이트되었습니다. |
| 문자열 | 아니요 | 함대 구성 설명이 업데이트되었습니다. |
| 정렬 | 아니요 | 태그 목록이 업데이트되었습니다. |
샘플 요청
mutation UpdateFleet { fleetControlUpdateFleet( id: "<YOUR_FLEET_ID>" fleetUpdate: { description: "Updated: Production web servers with enhanced monitoring" tags: [ { key: "environment", values: ["production"] } { key: "region", values: ["us-east-1", "us-west-2"] } ] } ) { entity { id name description } }}함대를 삭제하려면 fleetControlDeleteFleet 변이를 사용하십시오. 이렇게 하면 플릿은 제거되지만 관리 대상 엔티티에서 에이전트는 제거되지 않습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 삭제할 함대 엔티티 ID입니다. |
샘플 요청
mutation DeleteFleet { fleetControlDeleteFleet(id: "<YOUR_FLEET_ID>") { id }}함대 구성원 관리 변경 사항
fleetControlAddFleetMembers 변이를 사용하여 관리되는 엔티티를 플릿 링에 추가합니다. 링을 사용하면 단계별 배포(예: 카나리, 스테이징, 프로덕션)를 위해 플릿 내의 엔티티를 구성할 수 있습니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 함대 엔티티 ID. |
| 정렬 | 네 | 어떤 엔티티를 어떤 링에 추가할지 지정하는 링 입력 목록입니다. |
| 문자열 | 네 | 링 이름(예: "카나리", "생산"). |
| 정렬 | 네 | 링에 추가할 엔티티 GUID 목록입니다. |
샘플 요청
mutation AddFleetMembers { fleetControlAddFleetMembers( fleetId: "<YOUR_FLEET_ID>" members: [ { ring: "canary" entityIds: ["<YOUR_ENTITY_ID_1>", "<YOUR_ENTITY_ID_2>"] } { ring: "production", entityIds: ["<YOUR_ENTITY_ID_3>"] } ] ) { items { id name ring } }}fleetControlRemoveFleetMembers 변이를 사용하여 플릿 링에서 관리되는 엔티티를 제거합니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 함대 엔티티 ID. |
| 정렬 | 네 | 어떤 고리에서 어떤 고리를 제거할지 지정하는 고리 입력 목록입니다. |
| 문자열 | 네 | 반지 이름. |
| 정렬 | 네 | 링에서 제거할 엔티티 GUID 목록입니다. |
샘플 요청
mutation RemoveFleetMembers { fleetControlRemoveFleetMembers( fleetId: "<YOUR_FLEET_ID>" members: [{ ring: "canary", entityIds: ["<YOUR_ENTITY_ID>"] }] ) { items { id ring } }}구현, 배포 관리 돌연변이
fleetControlCreateFleetDeployment 변형을 사용하여 구현, 어떤 에이전트 버전을 정의하는 배포 및 구현에 대한 설정, 플릿에 대한 배포를 생성합니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| 물체 | 네 | 구현, 배포 설정. |
| ID | 네 | 함대 엔티티 ID. |
| 물체 | 네 | 엔티티 범위(함대 범위와 동일). |
| 정렬 | 네 | 구현하다, 배포하다에 대한 에이전트 설정 목록입니다. |
| 문자열 | 네 | 에이전트 유형. 옵션:
,
,
,
,
,
,
. |
| 문자열 | 네 | 구현하다, 배포하다에 대한 에이전트 버전입니다. |
| 정렬 | 네 | 이 에이전트의 설정 버전 ID 목록입니다. |
| 문자열 | 아니요 | 구현, 배포 이름. |
| 문자열 | 아니요 | 구현, 배포 설명. |
샘플 요청
mutation CreateDeployment { fleetControlCreateFleetDeployment( fleetDeployment: { fleetId: "<YOUR_FLEET_ID>" name: "Infrastructure Agent v1.50.0" description: "Deploy infra agent 1.50.0 with updated config" scope: { type: ACCOUNT, id: "YOUR_ACCOUNT_ID" } agents: [ { agentType: "NRInfra" version: "1.50.0" configurationVersionList: [{ id: "<YOUR_CONFIGURATION_ID>" }] } ] } ) { entity { id name description } }}기존 구현, 배포 설정을 업데이트하려면 fleetControlUpdateFleetDeployment 변형을 사용하세요.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 업데이트할 구현 ID입니다. |
| 물체 | 네 | 구현, 배포 업데이트 입력. |
| 문자열 | 아니요 | 업데이트된 구현, 배포 이름. |
| 문자열 | 아니요 | 설명이 업데이트되었습니다. |
| 정렬 | 아니요 | 에이전트 설정이 업데이트되었습니다. |
샘플 요청
mutation UpdateDeployment { fleetControlUpdateFleetDeployment( id: "<YOUR_DEPLOYMENT_ID>" fleetDeploymentUpdate: { description: "Updated to infra agent 1.50.1" agents: [ { agentType: "NRInfra" version: "1.50.1" configurationVersionList: [{ id: "<YOUR_CONFIGURATION_ID>" }] } ] } ) { entity { id name } }}fleetControlDeploy 변이를 사용하여 구현을 트리거하고 특정 플릿 링에 배포합니다.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 트리거할 구현 ID입니다. |
| 물체 | 네 | 구현, 구현하려는 링을 지정하는 구현 정책. |
| 물체 | 네 | 링 구현, 배포 정책. |
| 정렬 | 네 | 구현하다, 배포하다 링 이름의 목록입니다. |
샘플 요청
mutation TriggerDeployment { fleetControlDeploy( id: "<YOUR_DEPLOYMENT_ID>" policy: { ringDeploymentPolicy: { ringsToDeploy: ["canary"] } } ) { fleetId }}구현을 삭제하려면 fleetControlDeleteFleetDeployment 변형을 사용하세요.
입력스피커, 변수
매개변수 | 데이터 형식 | 필수 사항인가요? | 설명 |
|---|---|---|---|
| ID | 네 | 삭제할 구현 ID입니다. |
샘플 요청
mutation DeleteDeployment { fleetControlDeleteFleetDeployment(id: "<YOUR_DEPLOYMENT_ID>") { id }}