Kubernetes / Helm

Kubernetes YAML 생성기필드로 리소스 구성하기

종류를 선택하면 해당 리소스 하나 또는 컨테이너에 넣을 프로브 조각을 표시합니다.

Kubernetes YAML 생성기

리소스 입력

생성된 YAML

입력은 이 브라우저에서 처리하며 클러스터나 서버로 보내지 않습니다.

옵션

Kubernetes 1.34 템플릿: apps/v1, v1, networking.k8s.io/v1, batch/v1. Probe는 컨테이너 조각입니다.

예제는 시작 템플릿입니다. 리소스, 보안, 스토리지를 보완하세요. 클러스터나 이미지를 검증하지 않습니다.

소문자로 시작하는 이름은 최대 63자 (CronJob 52자). 포트 1–65535, 복제본 0–1000. 프로브 시간은 86400초, 실패 임계값은 1000까지입니다.

KEY=value 환경 변수 최대 50개. ConfigMap과 Secret은 기존 이름 참조만 지원합니다. 텍스트 20000자, 명령 32개, 각 명령 요소는 4096자까지입니다.

생성 중…

새 앱의 쿠버네티스 매니페스트를 만들 때는 이름을 바꾼 뒤 선택자 수정도 잊지 않아야 합니다. Kubernetes YAML 생성기는 Deployment의 선택자와 Pod 라벨을 같은 값으로 만듭니다. 리소스 종류를 바꾸어도 다른 입력값을 유지하므로 여러 파일을 준비할 때 설정을 다시 입력할 필요가 줄어듭니다.

Deployment 생성, Service 선택자와 포트 매핑, Ingress 백엔드, 예약 작업을 각각 살펴보세요. 화면의 내용은 입력으로 만든 텍스트이며 클러스터의 현재 상태가 아닙니다. 별도로 내보낸 파일 사이의 이름과 네임스페이스는 직접 맞춰야 합니다.

Kubernetes YAML 생성기로 구조 확인하기

선택한 리소스만 검토

Kubernetes YAML 생성기는 한 번에 하나의 구조를 보여 줍니다. Deployment에는 Pod 템플릿, Service에는 포트 매핑, Ingress에는 Service 참조가 들어갑니다. 아직 설정하지 않은 다른 리소스를 결과에 끼워 넣지 않아 파일별 검토가 쉽습니다.

폼의 입력값이 계층형 매니페스트 하나로 연결되는 모습.

프로브는 컨테이너 안에 배치

프로브 모드는 readinessProbe, livenessProbe 또는 startupProbe 필드만 출력합니다. 가상의 kind나 metadata를 만들지 않습니다. Deployment에도 한 개를 선택해 넣을 수 있습니다. 상태 확인 포트는 앱 포트와 다를 수 있으므로 독립적으로 입력합니다.

상태 확인 조각을 큰 리소스 문서의 컨테이너 안에 넣는 모습.

연결 관계부터 확인하세요

01

Service와 Pod 라벨 맞추기

Deployment의 Pod 라벨은 app: 리소스 이름입니다. Service의 선택자에 같은 값을 넣으세요. Ingress 백엔드는 Deployment가 아닌 Service의 이름과 서비스 포트를 참조합니다. targetPort와 서비스 포트가 다를 수 있습니다.

02

여러 필드를 바꿀 때 수동 모드 사용

자동 생성은 편집이 멈춘 뒤 350ms 후에 실행됩니다. 끄면 생성 버튼 또는 Ctrl/Cmd+Enter로 결과를 갱신합니다. 입력과 결과가 달라지는 즉시 복사와 다운로드가 비활성화되므로 이전 결과를 실수로 내보내지 않습니다.

03

예제로 바뀌는 필드 확인

예제와 비우기는 변경할 필드 수와 새 값을 먼저 보여 줍니다. 적용 후 한 번 되돌리면 폼과 결과를 함께 복원합니다. CronJob 예제는 계속 실행되는 웹 서버 대신 종료되는 date 명령을 사용합니다.

출력에 반영되는 설정

고정된 API 기준

Deployment는 apps/v1, Service는 v1, Ingress는 networking.k8s.io/v1, CronJob은 batch/v1을 출력합니다. Kubernetes 1.34에서 확인한 필드만 제공합니다. 다른 버전을 선택하는 척하거나 모든 API 필드를 지원한다고 표시하지 않습니다.

문자열로 보존되는 환경 변수

KEY=value를 한 줄에 하나씩 입력합니다. 첫 등호만 구분자로 사용하므로 값 안의 등호와 빈 값이 보존됩니다. 중복 이름은 오류로 표시합니다. YAML 문자열에 따옴표를 붙여 yes, null, 숫자처럼 보이는 값도 YAML 1.1에서 문자열로 읽힙니다.

참조만 만드는 설정

ConfigMap과 Secret 이름은 envFrom 참조로 들어갑니다. Ingress는 호스트 하나, 경로 하나, Prefix 또는 Exact, 클래스와 TLS Secret을 지원합니다. 이 설정으로 참조 대상이나 인증서를 만들거나 컨트롤러를 설치하지 않습니다.

명시적인 예약 작업과 프로브

CronJob에는 다섯 필드 일정, Etc/UTC, 명령 배열과 동시 실행 정책을 넣습니다. HTTP 또는 TCP 프로브에는 포트와 시간 설정이 들어갑니다. successThreshold는 1이며 도구가 상태 확인 주소에 접속하거나 다음 실행 시각을 계산하지 않습니다.

템플릿 범위와 입력 제한

운영 설정은 직접 보완
CPU와 메모리, 보안 컨텍스트, 스토리지, 자동 확장과 사이드카는 추정하지 않습니다. 이미지 다운로드 가능 여부, 승인 정책, 권한과 할당량도 확인하지 않습니다. 실제 앱에 맞게 저장소에서 설정을 보완하고 검토하세요.
리소스 하나 또는 조각 하나
여러 리소스 묶음, 기존 YAML 가져오기, Helm, Kustomize, CRD는 지원하지 않습니다. 제공하지 않는 필드는 임의로 추가하지 않습니다. Probe 파일은 containers 항목 내부에 넣어야 하며 독립 리소스로 적용할 수 없습니다.
이름과 숫자의 범위
리소스 이름은 소문자로 시작하고 소문자, 숫자, 하이픈만 사용하며 최대 63자입니다. CronJob은 52자입니다. 포트는 1–65535, 복제본은 0–1000, 직접 지정하는 NodePort는 30000–32767입니다. 클러스터의 사용자 지정 범위는 별도로 편집해야 합니다.
Cron 문법과 크기 제한
숫자 다섯 필드와 별표, 목록, 오름차순 범위, 별표 또는 범위의 간격만 받습니다. 요일은 0–6이며 초, 매크로, 요일 이름은 받지 않습니다. 환경 변수는 50개, 텍스트 필드는 20000자, 명령 배열은 32개까지입니다. 실제 달력에서 실행 가능한 날짜인지는 계산하지 않습니다.

Kubernetes YAML 생성기 자주 묻는 질문

어떤 API 버전으로 생성되나요?

Kubernetes 1.34 기준으로 apps/v1, v1, networking.k8s.io/v1, batch/v1을 사용합니다. Probe는 컨테이너 필드 조각이므로 apiVersion이 없습니다. API 이름이 맞더라도 대상 클러스터에서의 승인까지 보장하지는 않습니다.

Service가 Deployment의 파드를 선택하게 하려면 어떻게 하나요?

Service는 Deployment 객체 이름이 아니라 Pod 라벨로 대상을 고릅니다. 여기서는 app: 이름으로 Pod 라벨을 만듭니다. Service 선택자를 그 값에 맞추고 targetPort를 앱이 듣는 포트로 지정하세요.

여러 리소스를 한 번에 생성할 수 있나요?

현재 선택한 종류만 출력합니다. Deployment와 Service가 필요하면 각각 만들고 검토하세요. 이미 다운로드한 파일은 다른 폼을 수정해도 바뀌지 않으므로 이름, 선택자, 네임스페이스를 직접 확인해야 합니다.

컨테이너 환경 변수는 어떻게 설정하나요?

KEY=value 줄을 입력하거나 기존 ConfigMap과 Secret을 envFrom으로 참조합니다. 빈 값과 숫자 모양의 값도 문자열입니다. 참조 필드는 이름만 기록하며 해당 객체를 만들거나 내용을 읽지는 않습니다.

생성한 YAML을 검토 없이 바로 적용해도 되나요?

먼저 검토하고 목표 환경에서 검증하세요. Ingress에는 컨트롤러와 백엔드가 필요하고 CronJob 명령은 종료 가능해야 합니다. 앱의 리소스와 보안 설정을 추가하세요. 예제 이미지 태그는 가용성이나 보안 보증이 아닙니다.

생성된 매니페스트에 문제가 있나요?

다음 매니페스트 준비하기

Kubernetes YAML 생성기로 리뷰에서 설명할 수 있는 작은 변경을 준비하세요. 종류와 참조를 확인하고 앱에 필요한 필드를 보완한 다음 적용하세요.