From 6bfc167c79954ebcdb2aa41436a8a792fa108940 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Mon, 1 Jun 2020 09:09:39 -0400 Subject: [PATCH] add ko pages --- content/ko/docs/concepts/_index.md | 15 +++++----- .../concepts/architecture/cloud-controller.md | 15 +++++----- .../control-plane-node-communication.md | 8 ++--- .../docs/concepts/architecture/controller.md | 15 +++++----- .../ko/docs/concepts/architecture/nodes.md | 15 +++++----- .../concepts/cluster-administration/addons.md | 10 +++---- .../cluster-administration/certificates.md | 10 +++---- .../cluster-administration/cloud-providers.md | 10 +++---- .../cluster-administration-overview.md | 10 +++---- .../kubelet-garbage-collection.md | 15 +++++----- .../cluster-administration/logging.md | 10 +++---- .../manage-deployment.md | 15 +++++----- .../cluster-administration/networking.md | 15 +++++----- .../cluster-administration/proxies.md | 10 +++---- .../docs/concepts/configuration/configmap.md | 15 +++++----- .../manage-resources-containers.md | 15 +++++----- .../organize-cluster-access-kubeconfig.md | 15 +++++----- .../docs/concepts/configuration/overview.md | 10 +++---- .../concepts/configuration/pod-overhead.md | 15 +++++----- .../configuration/pod-priority-preemption.md | 15 +++++----- .../configuration/resource-bin-packing.md | 10 +++---- .../containers/container-environment.md | 15 +++++----- .../containers/container-lifecycle-hooks.md | 15 +++++----- content/ko/docs/concepts/containers/images.md | 10 +++---- .../ko/docs/concepts/containers/overview.md | 15 +++++----- .../docs/concepts/containers/runtime-class.md | 15 +++++----- .../api-extension/apiserver-aggregation.md | 15 +++++----- .../api-extension/custom-resources.md | 15 +++++----- .../compute-storage-net/device-plugins.md | 15 +++++----- .../compute-storage-net/network-plugins.md | 15 +++++----- .../extend-kubernetes/extend-cluster.md | 15 +++++----- .../concepts/extend-kubernetes/operator.md | 15 +++++----- .../ko/docs/concepts/overview/components.md | 15 +++++----- .../docs/concepts/overview/kubernetes-api.md | 10 +++---- .../concepts/overview/what-is-kubernetes.md | 15 +++++----- .../working-with-objects/annotations.md | 15 +++++----- .../working-with-objects/common-labels.md | 10 +++---- .../kubernetes-objects.md | 15 +++++----- .../overview/working-with-objects/labels.md | 10 +++---- .../overview/working-with-objects/names.md | 15 +++++----- .../working-with-objects/namespaces.md | 15 +++++----- .../working-with-objects/object-management.md | 15 +++++----- .../ko/docs/concepts/policy/limit-range.md | 15 +++++----- .../concepts/policy/pod-security-policy.md | 15 +++++----- .../docs/concepts/policy/resource-quotas.md | 15 +++++----- .../scheduling-eviction/assign-pod-node.md | 15 +++++----- .../scheduling-eviction/kube-scheduler.md | 15 +++++----- .../scheduler-perf-tuning.md | 10 +++---- .../taint-and-toleration.md | 8 ++--- content/ko/docs/concepts/security/overview.md | 15 +++++----- ...ries-to-pod-etc-hosts-with-host-aliases.md | 10 +++---- .../connect-applications-service.md | 15 +++++----- .../services-networking/dns-pod-service.md | 15 +++++----- .../services-networking/dual-stack.md | 15 +++++----- .../services-networking/endpoint-slices.md | 15 +++++----- .../ingress-controllers.md | 15 +++++----- .../concepts/services-networking/ingress.md | 15 +++++----- .../services-networking/network-policies.md | 15 +++++----- .../services-networking/service-topology.md | 15 +++++----- .../concepts/services-networking/service.md | 15 +++++----- .../concepts/storage/dynamic-provisioning.md | 10 +++---- .../concepts/storage/persistent-volumes.md | 15 +++++----- .../docs/concepts/storage/storage-classes.md | 10 +++---- .../concepts/storage/volume-pvc-datasource.md | 10 +++---- .../storage/volume-snapshot-classes.md | 10 +++---- .../docs/concepts/storage/volume-snapshots.md | 10 +++---- content/ko/docs/concepts/storage/volumes.md | 13 ++++---- .../workloads/controllers/cron-jobs.md | 15 +++++----- .../workloads/controllers/daemonset.md | 10 +++---- .../workloads/controllers/deployment.md | 10 +++---- .../controllers/garbage-collection.md | 15 +++++----- .../controllers/jobs-run-to-completion.md | 10 +++---- .../workloads/controllers/replicaset.md | 10 +++---- .../controllers/replicationcontroller.md | 10 +++---- .../workloads/controllers/statefulset.md | 15 +++++----- .../workloads/controllers/ttlafterfinished.md | 15 +++++----- .../concepts/workloads/pods/disruptions.md | 15 +++++----- .../workloads/pods/ephemeral-containers.md | 10 +++---- .../workloads/pods/init-containers.md | 15 +++++----- .../concepts/workloads/pods/pod-lifecycle.md | 15 +++++----- .../concepts/workloads/pods/pod-overview.md | 15 +++++----- .../pods/pod-topology-spread-constraints.md | 10 +++---- .../ko/docs/concepts/workloads/pods/pod.md | 10 +++---- .../docs/concepts/workloads/pods/podpreset.md | 15 +++++----- content/ko/docs/contribute/_index.md | 10 +++---- content/ko/docs/contribute/advanced.md | 10 +++---- content/ko/docs/contribute/localization_ko.md | 12 ++++---- .../docs/contribute/new-content/open-a-pr.md | 15 +++++----- .../docs/contribute/new-content/overview.md | 10 +++---- content/ko/docs/contribute/participating.md | 15 +++++----- content/ko/docs/contribute/review/_index.md | 8 ++--- .../docs/contribute/review/for-approvers.md | 10 +++---- .../docs/contribute/review/reviewing-prs.md | 10 +++---- .../docs/contribute/style/write-new-topic.md | 20 +++++++------ .../contribute/suggesting-improvements.md | 10 +++---- .../ko/docs/home/supported-doc-versions.md | 10 +++---- content/ko/docs/reference/_index.md | 10 +++---- .../reference/issues-security/security.md | 10 +++---- .../ko/docs/reference/kubectl/cheatsheet.md | 15 +++++----- content/ko/docs/reference/tools.md | 10 +++---- .../docs/reference/using-api/api-overview.md | 10 +++---- .../reference/using-api/client-libraries.md | 10 +++---- content/ko/docs/setup/_index.md | 10 +++---- .../docs/setup/best-practices/certificates.md | 10 +++---- .../setup/best-practices/multiple-zones.md | 10 +++---- .../setup/learning-environment/minikube.md | 10 +++---- .../container-runtimes.md | 10 +++---- .../production-environment/tools/kops.md | 20 +++++++------ .../tools/kubeadm/control-plane-flags.md | 10 +++---- .../tools/kubeadm/ha-topology.md | 15 +++++----- .../windows/user-guide-windows-containers.md | 10 +++---- content/ko/docs/tasks/_index.md | 15 +++++----- .../access-cluster.md | 10 +++---- ...icate-containers-same-pod-shared-volume.md | 24 ++++++++------- .../configure-access-multiple-clusters.md | 20 +++++++------ .../configure-dns-cluster.md | 10 +++---- ...port-forward-access-application-cluster.md | 24 ++++++++------- .../web-ui-dashboard.md | 15 +++++----- .../administer-cluster/cluster-management.md | 10 +++---- .../highly-available-master.md | 19 ++++++------ .../kubeadm/adding-windows-nodes.md | 25 +++++++++------- .../kubeadm/kubeadm-certs.md | 15 +++++----- .../kubeadm/kubeadm-upgrade.md | 15 +++++----- .../kubeadm/upgrading-windows-nodes.md | 15 +++++----- .../cpu-constraint-namespace.md | 20 +++++++------ .../manage-resources/cpu-default-namespace.md | 20 +++++++------ .../memory-constraint-namespace.md | 20 +++++++------ .../memory-default-namespace.md | 20 +++++++------ .../quota-memory-cpu-namespace.md | 20 +++++++------ .../manage-resources/quota-pod-namespace.md | 20 +++++++------ .../calico-network-policy.md | 20 +++++++------ .../cilium-network-policy.md | 24 ++++++++------- .../kube-router-network-policy.md | 20 +++++++------ .../romana-network-policy.md | 20 +++++++------ .../weave-network-policy.md | 20 +++++++------ .../assign-memory-resource.md | 20 +++++++------ .../assign-pods-nodes-using-node-affinity.md | 20 +++++++------ .../assign-pods-nodes.md | 20 +++++++------ .../configure-volume-storage.md | 20 +++++++------ .../pull-image-private-registry.md | 20 +++++++------ .../quality-service-pod.md | 20 +++++++------ .../logging-elasticsearch-kibana.md | 15 +++++----- .../resource-metrics-pipeline.md | 10 +++---- .../resource-usage-monitoring.md | 10 +++---- .../define-command-argument-container.md | 20 +++++++------ .../define-environment-variable-container.md | 19 ++++++------ .../docs/tasks/manage-gpus/scheduling-gpus.md | 10 +++---- .../declarative-config.md | 18 ++++++----- .../imperative-command.md | 20 +++++++------ .../imperative-config.md | 20 +++++++------ .../kustomization.md | 20 +++++++------ .../docs/tasks/network/validate-dual-stack.md | 15 +++++----- .../horizontal-pod-autoscale-walkthrough.md | 19 ++++++------ .../horizontal-pod-autoscale.md | 14 ++++----- .../ko/docs/tasks/tools/install-kubectl.md | 20 +++++++------ .../ko/docs/tasks/tools/install-minikube.md | 20 +++++++------ content/ko/docs/tutorials/_index.md | 15 +++++----- .../ko/docs/tutorials/clusters/apparmor.md | 25 +++++++++------- .../configure-redis-using-configmap.md | 25 +++++++++------- content/ko/docs/tutorials/hello-minikube.md | 25 +++++++++------- .../ko/docs/tutorials/services/source-ip.md | 30 +++++++++++-------- .../basic-stateful-set.md | 25 +++++++++------- .../stateful-application/cassandra.md | 30 +++++++++++-------- .../mysql-wordpress-persistent-volume.md | 30 +++++++++++-------- .../stateful-application/zookeeper.md | 25 +++++++++------- .../expose-external-ip-address.md | 30 +++++++++++-------- .../guestbook-logs-metrics-with-elk.md | 30 +++++++++++-------- .../stateless-application/guestbook.md | 30 +++++++++++-------- 168 files changed, 1360 insertions(+), 1190 deletions(-) diff --git a/content/ko/docs/concepts/_index.md b/content/ko/docs/concepts/_index.md index 03a1d64ddd..30424ead72 100644 --- a/content/ko/docs/concepts/_index.md +++ b/content/ko/docs/concepts/_index.md @@ -1,17 +1,17 @@ --- title: 개념 main_menu: true -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 개념 섹션을 통해 쿠버네티스 시스템을 구성하는 요소와 {{< glossary_tooltip text="클러스터" term_id="cluster" length="all" >}}를 표현하는데 사용되는 추상 개념에 대해 배우고 쿠버네티스가 작동하는 방식에 대해 보다 깊이 이해할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -60,12 +60,13 @@ weight: 40 클러스터 내 노드는 애플리케이션과 클라우드 워크플로우를 구동시키는 머신(VM, 물리 서버 등)이다. 쿠버네티스 마스터는 각 노드를 관리한다. 직접 노드와 직접 상호 작용할 일은 거의 없을 것이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 개념 페이지를 작성하기를 원하면, 개념 페이지 유형과 개념 템플릿에 대한 정보가 있는 [페이지 템플릿 사용하기](/docs/home/contribute/page-templates/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/cloud-controller.md b/content/ko/docs/concepts/architecture/cloud-controller.md index 83bc1d246c..12b1d714e8 100644 --- a/content/ko/docs/concepts/architecture/cloud-controller.md +++ b/content/ko/docs/concepts/architecture/cloud-controller.md @@ -1,10 +1,10 @@ --- title: 클라우드 컨트롤러 매니저 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.11" >}} @@ -17,10 +17,10 @@ weight: 40 클라우드 컨트롤러 매니저는 다양한 클라우드 공급자가 자신의 플랫폼에 쿠버네티스를 통합할 수 있도록 하는 플러그인 메커니즘을 사용해서 구성된다. -{{% /capture %}} -{{% capture body %}} + + ## 디자인 @@ -200,8 +200,9 @@ rules: - update ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [클라우드 컨트롤러 매니저 관리](/docs/tasks/administer-cluster/running-cloud-controller/#cloud-controller-manager)에는 클라우드 컨트롤러 매니저의 실행과 관리에 대한 지침이 있다. @@ -212,4 +213,4 @@ rules: 이 문서(노드, 라우트와 서비스)에서 강조된 공유 컨트롤러의 구현과 공유 cloudprovider 인터페이스와 함께 일부 스캐폴딩(scaffolding)은 쿠버네티스 핵심의 일부이다. 클라우드 공급자 전용 구현은 쿠버네티스의 핵심 바깥에 있으며 `CloudProvider` 인터페이스를 구현한다. 플러그인 개발에 대한 자세한 내용은 [클라우드 컨트롤러 매니저 개발하기](/docs/tasks/administer-cluster/developing-cloud-controller-manager/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/control-plane-node-communication.md b/content/ko/docs/concepts/architecture/control-plane-node-communication.md index a037452ef3..819ee0c384 100644 --- a/content/ko/docs/concepts/architecture/control-plane-node-communication.md +++ b/content/ko/docs/concepts/architecture/control-plane-node-communication.md @@ -1,18 +1,18 @@ --- title: 컨트롤 플레인-노드 간 통신 -content_template: templates/concept +content_type: concept weight: 20 aliases: - master-node-communication --- -{{% capture overview %}} + 이 문서는 컨트롤 플레인(실제로는 API 서버)과 쿠버네티스 클러스터 사이에 대한 통신 경로의 목록을 작성한다. 이는 사용자가 신뢰할 수 없는 네트워크(또는 클라우드 공급자의 완전한 퍼블릭 IP)에서 클러스터를 실행할 수 있도록 네트워크 구성을 강화하기 위한 맞춤 설치를 할 수 있도록 한다. -{{% /capture %}} -{{% capture body %}} + + ## 노드에서 컨트롤 플레인으로의 통신 노드에서 컨트롤 플레인까지의 모든 통신 경로는 API 서버에서 종료된다(다른 마스터 컴포넌트 중 어느 것도 원격 서비스를 노출하도록 설계되지 않았다). 일반적인 배포에서 API 서버는 하나 이상의 클라이언트 [인증](/docs/reference/access-authn-authz/authentication/) 형식이 활성화된 보안 HTTPS 포트(443)에서 원격 연결을 수신하도록 구성된다. diff --git a/content/ko/docs/concepts/architecture/controller.md b/content/ko/docs/concepts/architecture/controller.md index b8c6556b2a..6688a969d7 100644 --- a/content/ko/docs/concepts/architecture/controller.md +++ b/content/ko/docs/concepts/architecture/controller.md @@ -1,10 +1,10 @@ --- title: 컨트롤러 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 로보틱스와 자동화에서 _컨트롤 루프_ 는 시스템 상태를 조절하는 종료되지 않는 루프이다. @@ -18,10 +18,10 @@ weight: 30 {{< glossary_definition term_id="controller" length="short">}} -{{% /capture %}} -{{% capture body %}} + + ## 컨트롤러 패턴 @@ -150,11 +150,12 @@ weight: 30 또는 쿠버네티스 외부에서 실행할 수 있다. 가장 적합한 것은 특정 컨트롤러의 기능에 따라 달라진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [쿠버네티스 컨트롤 플레인](/ko/docs/concepts/#쿠버네티스-컨트롤-플레인)에 대해 읽기 * [쿠버네티스 오브젝트](/ko/docs/concepts/#쿠버네티스-오브젝트)의 몇 가지 기본 사항을 알아보자. * [쿠버네티스 API](/ko/docs/concepts/overview/kubernetes-api/)에 대해 더 배워 보자. * 만약 자신만의 컨트롤러를 작성하기 원한다면, 쿠버네티스 확장하기의 [확장 패턴](/ko/docs/concepts/extend-kubernetes/extend-cluster/#익스텐션-패턴)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/architecture/nodes.md b/content/ko/docs/concepts/architecture/nodes.md index 34690c7825..197ae71422 100644 --- a/content/ko/docs/concepts/architecture/nodes.md +++ b/content/ko/docs/concepts/architecture/nodes.md @@ -1,10 +1,10 @@ --- title: 노드 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스는 컨테이너를 파드내에 배치하고 _노드_ 에서 실행함으로 워크로드를 구동한다. 노드는 클러스터에 따라 가상 또는 물리적 머신일 수 있다. 각 노드에는 @@ -20,9 +20,9 @@ weight: 10 {{< glossary_tooltip text="컨테이너 런타임" term_id="container-runtime" >}} 그리고 {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}가 포함된다. -{{% /capture %}} -{{% capture body %}} + + ## 관리 @@ -322,12 +322,13 @@ kubelet은 `NodeStatus` 와 리스 오브젝트를 생성하고 업데이트 할 자세한 내용은 [노드의 컨트롤 토폴로지 관리 정책](/docs/tasks/administer-cluster/topology-manager/)을 본다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 노드를 구성하는 [컴포넌트](/ko/docs/concepts/overview/components/#노드-컴포넌트)에 대해 알아본다. * [노드에 대한 API 정의](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#node-v1-core)를 읽어본다. * 아키텍처 디자인 문서의 [노드](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md#the-kubernetes-node) 섹션을 읽어본다. * [테인트와 톨러레이션](/ko/docs/concepts/configuration/taint-and-toleration/)을 읽어본다. * [클러스터 오토스케일링](/ko/docs/tasks/administer-cluster/cluster-management/#클러스터-오토스케일링)을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/addons.md b/content/ko/docs/concepts/cluster-administration/addons.md index ac66c7baa4..9e6f5ab7ec 100644 --- a/content/ko/docs/concepts/cluster-administration/addons.md +++ b/content/ko/docs/concepts/cluster-administration/addons.md @@ -1,9 +1,9 @@ --- title: 애드온 설치 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 애드온은 쿠버네티스의 기능을 확장한다. @@ -12,10 +12,10 @@ content_template: templates/concept 각 섹션의 애드온은 알파벳 순으로 정렬되어 있다. 순서는 우선 순위와는 상관없다. -{{% /capture %}} -{{% capture body %}} + + ## 네트워킹과 네트워크 폴리시 @@ -55,4 +55,4 @@ content_template: templates/concept 잘 관리된 것들이 여기에 연결되어 있어야 한다. PR을 환영한다! -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/certificates.md b/content/ko/docs/concepts/cluster-administration/certificates.md index cadcef4b17..d7051e4145 100644 --- a/content/ko/docs/concepts/cluster-administration/certificates.md +++ b/content/ko/docs/concepts/cluster-administration/certificates.md @@ -1,19 +1,19 @@ --- title: 인증서 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 클라이언트 인증서로 인증을 사용하는 경우 `easyrsa`, `openssl` 또는 `cfssl` 을 통해 인증서를 수동으로 생성할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ### easyrsa @@ -249,4 +249,4 @@ done. [여기](/docs/tasks/tls/managing-tls-in-a-cluster)에 설명된 대로 인증에 사용할 x509 인증서를 프로비전 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/cloud-providers.md b/content/ko/docs/concepts/cluster-administration/cloud-providers.md index 702dc3a54c..31e93af741 100644 --- a/content/ko/docs/concepts/cluster-administration/cloud-providers.md +++ b/content/ko/docs/concepts/cluster-administration/cloud-providers.md @@ -1,16 +1,16 @@ --- title: 클라우드 제공자 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지에서는 특정 클라우드 제공자에서 실행 중인 쿠버네티스를 관리하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ### kubeadm [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)은 쿠버네티스 클러스터를 생성하는 데 많이 사용하는 옵션이다. kubeadm에는 클라우드 제공자에 대한 구성 정보를 지정하는 구성 옵션이 있다. 예를 들어 @@ -363,7 +363,7 @@ OpenStack 제공자에 대한 다음의 구성 옵션은 [kubenet] [kubenet]: /ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#kubenet -{{% /capture %}} + ## OVirt diff --git a/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md b/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md index 9a5aba856b..d454b85ca0 100644 --- a/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md +++ b/content/ko/docs/concepts/cluster-administration/cluster-administration-overview.md @@ -1,15 +1,15 @@ --- title: 클러스터 관리 개요 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 클러스터 관리 개요는 쿠버네티스 클러스터를 만들거나 관리하는 모든 사람들을 위한 것이다. 여기서는 쿠버네티스의 핵심 [개념](/ko/docs/concepts/)에 대해 잘 알고 있다고 가정한다. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터 계획 [올바른 솔루션 고르기](/ko/docs/setup/pick-right-solution/)에서 쿠버네티스 클러스터를 어떻게 계획하고, 셋업하고, 구성하는 지에 대한 예시를 참조하자. 이 글에 쓰여진 솔루션들은 *배포판* 이라고 부른다. @@ -65,4 +65,4 @@ weight: 10 * [클러스터 활동 로깅과 모니터링](/docs/concepts/cluster-administration/logging/)은 쿠버네티스 로깅이 로깅의 작동 방법과 로깅을 어떻게 구현하는지 설명한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md b/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md index 348b3776f6..a6907ad44c 100644 --- a/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md +++ b/content/ko/docs/concepts/cluster-administration/kubelet-garbage-collection.md @@ -1,19 +1,19 @@ --- title: kubelet 가비지(Garbage) 수집 설정하기 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + 가비지 수집은 사용되지 않는 이미지들과 컨테이너들을 정리하는 kubelet의 유용한 기능이다. Kubelet은 1분마다 컨테이너들에 대하여 가비지 수집을 수행하며, 5분마다 이미지들에 대하여 가비지 수집을 수행한다. 별도의 가비지 수집 도구들을 사용하는 것은, 이러한 도구들이 존재할 수도 있는 컨테이너들을 제거함으로써 kubelet 을 중단시킬 수도 있으므로 권장하지 않는다. -{{% /capture %}} -{{% capture body %}} + + ## 이미지 수집 @@ -77,10 +77,11 @@ kubelet이 관리하지 않는 컨테이너는 컨테이너 가비지 수집 대 | `--outofdisk-transition-frequency` | `--eviction-pressure-transition-period` | 축출이 다른 리소스로의 디스크 압력전환을 일반화 함 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [리소스 부족 처리 구성](/docs/tasks/administer-cluster/out-of-resource/)를 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/logging.md b/content/ko/docs/concepts/cluster-administration/logging.md index 51526e84cb..5c7ce6cd8d 100644 --- a/content/ko/docs/concepts/cluster-administration/logging.md +++ b/content/ko/docs/concepts/cluster-administration/logging.md @@ -1,19 +1,19 @@ --- title: 로깅 아키텍처 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 애플리케이션과 시스템 로그는 클러스터 내부에서 발생하는 상황을 이해하는 데 도움이 된다. 로그는 문제를 디버깅하고 클러스터 활동을 모니터링하는 데 특히 유용하다. 대부분의 최신 애플리케이션에는 일종의 로깅 메커니즘이 있다. 따라서, 대부분의 컨테이너 엔진은 일종의 로깅을 지원하도록 설계되었다. 컨테이너화된 애플리케이션에 가장 쉽고 가장 널리 사용되는 로깅 방법은 표준 출력과 표준 에러 스트림에 작성하는 것이다. 그러나, 일반적으로 컨테이너 엔진이나 런타임에서 제공하는 기본 기능은 완전한 로깅 솔루션으로 충분하지 않다. 예를 들어, 컨테이너가 크래시되거나, 파드가 축출되거나, 노드가 종료된 경우에도 여전히 애플리케이션의 로그에 접근하려고 한다. 따라서, 로그는 노드, 파드 또는 컨테이너와는 독립적으로 별도의 스토리지와 라이프사이클을 가져야 한다. 이 개념을 _클러스터-레벨-로깅_ 이라고 한다. 클러스터-레벨 로깅은 로그를 저장하고, 분석하고, 쿼리하기 위해 별도의 백엔드가 필요하다. 쿠버네티스는 로그 데이터를 위한 네이티브 스토리지 솔루션을 제공하지 않지만, 기존의 많은 로깅 솔루션을 쿠버네티스 클러스터에 통합할 수 있다. -{{% /capture %}} -{{% capture body %}} + + 클러스터-레벨 로깅 아키텍처는 로깅 백엔드가 클러스터 내부 또는 외부에 존재한다고 가정하여 설명한다. 클러스터-레벨 @@ -264,4 +264,4 @@ fluentd를 구성하는 것에 대한 자세한 내용은, 구현할 수 있다. 그러나, 이러한 로깅 메커니즘의 구현은 쿠버네티스의 범위를 벗어난다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/manage-deployment.md b/content/ko/docs/concepts/cluster-administration/manage-deployment.md index ea5396350f..19641cdbd7 100644 --- a/content/ko/docs/concepts/cluster-administration/manage-deployment.md +++ b/content/ko/docs/concepts/cluster-administration/manage-deployment.md @@ -1,17 +1,17 @@ --- title: 리소스 관리 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 애플리케이션을 배포하고 서비스를 통해 노출했다. 이제 무엇을 해야 할까? 쿠버네티스는 확장과 업데이트를 포함하여, 애플리케이션 배포를 관리하는 데 도움이 되는 여러 도구를 제공한다. 더 자세히 설명할 기능 중에는 [구성 파일](/ko/docs/concepts/configuration/overview/)과 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)이 있다. -{{% /capture %}} -{{% capture body %}} + + ## 리소스 구성 구성하기 @@ -447,11 +447,12 @@ kubectl edit deployment/my-nginx 이것으로 끝이다! 디플로이먼트는 배포된 nginx 애플리케이션을 배후에서 점차적으로 업데이트한다. 업데이트되는 동안 특정 수의 이전 레플리카만 중단될 수 있으며, 원하는 수의 파드 위에 특정 수의 새 레플리카만 생성될 수 있다. 이에 대한 더 자세한 내용을 보려면, [디플로이먼트 페이지](/ko/docs/concepts/workloads/controllers/deployment/)를 방문한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [애플리케이션 검사 및 디버깅에 `kubectl` 을 사용하는 방법](/docs/tasks/debug-application-cluster/debug-application-introspection/)에 대해 알아본다. - [구성 모범 사례 및 팁](/ko/docs/concepts/configuration/overview/)을 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/networking.md b/content/ko/docs/concepts/cluster-administration/networking.md index bdc0981f59..28508d58f2 100644 --- a/content/ko/docs/concepts/cluster-administration/networking.md +++ b/content/ko/docs/concepts/cluster-administration/networking.md @@ -1,10 +1,10 @@ --- title: 클러스터 네트워킹 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 네트워킹은 쿠버네티스의 중심적인 부분이지만, 어떻게 작동하는지 정확하게 이해하기가 어려울 수 있다. 쿠버네티스에는 4가지 대응해야 할 네트워킹 문제가 있다. @@ -15,10 +15,10 @@ weight: 50 3. 파드와 서비스 간 통신: 이 문제는 [서비스](/ko/docs/concepts/services-networking/service/)에서 다룬다. 4. 외부와 서비스 간 통신: 이 문제는 [서비스](/ko/docs/concepts/services-networking/service/)에서 다룬다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스는 애플리케이션 간에 머신을 공유하는 것이다. 일반적으로, 머신을 공유하려면 두 애플리케이션이 동일한 포트를 사용하지 않도록 @@ -310,12 +310,13 @@ OVN은 Open vSwitch 커뮤니티에서 개발한 오픈소스 네트워크 독립형으로 실행된다. 두 버전에서, 실행하기 위해 구성이나 추가 코드가 필요하지 않으며, 두 경우 모두, 쿠버네티스의 표준과 같이 네트워크에서 파드별로 하나의 IP 주소를 제공한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 네트워크 모델의 초기 설계와 그 근거 및 미래의 계획은 [네트워킹 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/network/networking.md)에 자세히 설명되어 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/cluster-administration/proxies.md b/content/ko/docs/concepts/cluster-administration/proxies.md index 3b8b2d32a1..df43157578 100644 --- a/content/ko/docs/concepts/cluster-administration/proxies.md +++ b/content/ko/docs/concepts/cluster-administration/proxies.md @@ -1,14 +1,14 @@ --- title: 쿠버네티스에서 프락시(Proxy) -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스에서 함께 사용되는 프락시(Proxy)를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 프락시 @@ -62,6 +62,6 @@ weight: 90 프락시는 리다이렉트 기능을 대체했다. 리다이렉트는 더 이상 사용하지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/configmap.md b/content/ko/docs/concepts/configuration/configmap.md index 42beb83ed5..8e5eb3bed1 100644 --- a/content/ko/docs/concepts/configuration/configmap.md +++ b/content/ko/docs/concepts/configuration/configmap.md @@ -1,10 +1,10 @@ --- title: 컨피그맵(ConfigMap) -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< glossary_definition term_id="configmap" prepend="컨피그맵은" length="all" >}} @@ -15,9 +15,9 @@ weight: 20 사용하여 데이터를 비공개로 유지하자. {{< /caution >}} -{{% /capture %}} -{{% capture body %}} + + ## 사용 동기 애플리케이션 코드와 별도로 구성 데이터를 설정하려면 컨피그맵을 사용하자. @@ -158,12 +158,13 @@ spec: {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [시크릿](/docs/concepts/configuration/secret/)에 대해 읽어본다. * [컨피그맵을 사용하도록 파드 구성하기](/docs/tasks/configure-pod-container/configure-pod-configmap/)를 읽어본다. * 코드를 구성에서 분리하려는 동기를 이해하려면 [Twelve-Factor 앱](https://12factor.net/ko/)을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/manage-resources-containers.md b/content/ko/docs/concepts/configuration/manage-resources-containers.md index b54f12a48b..90991bc49e 100644 --- a/content/ko/docs/concepts/configuration/manage-resources-containers.md +++ b/content/ko/docs/concepts/configuration/manage-resources-containers.md @@ -1,6 +1,6 @@ --- title: 컨테이너 리소스 관리 -content_template: templates/concept +content_type: concept weight: 40 feature: title: 자동 빈 패킹(bin packing) @@ -8,7 +8,7 @@ feature: 리소스 요구 사항과 기타 제약 조건에 따라 컨테이너를 자동으로 배치하지만, 가용성은 그대로 유지한다. 활용도를 높이고 더 많은 리소스를 절약하기 위해 중요한(critical) 워크로드와 최선의(best-effort) 워크로드를 혼합한다. --- -{{% capture overview %}} + {{< glossary_tooltip text="파드" term_id="pod" >}}를 지정할 때, {{< glossary_tooltip text="컨테이너" term_id="container" >}}에 필요한 각 리소스의 양을 선택적으로 지정할 수 있다. @@ -21,10 +21,10 @@ feature: 컨테이너가 사용할 수 있도록 해당 시스템 리소스의 최소 _요청_ 량을 예약한다. -{{% /capture %}} -{{% capture body %}} + + ## 요청 및 제한 @@ -740,10 +740,11 @@ LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-0 -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너와 파드에 메모리 리소스를 할당](/ko/docs/tasks/configure-pod-container/assign-memory-resource/)하는 핸즈온 경험을 해보자. @@ -758,4 +759,4 @@ LastState: map[terminated:map[exitCode:137 reason:OOM Killed startedAt:2015-07-0 * XFS의 [프로젝트 쿼터](http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/xfs-quotas.html)에 대해 읽어보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md b/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md index d24d749d26..0e50a842bb 100644 --- a/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md +++ b/content/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig.md @@ -1,10 +1,10 @@ --- title: kubeconfig 파일을 사용하여 클러스터 접근 구성하기 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + kubeconfig 파일들을 사용하여 클러스터, 사용자, 네임스페이스 및 인증 메커니즘에 대한 정보를 관리하자. `kubectl` 커맨드라인 툴은 kubeconfig 파일을 사용하여 @@ -25,10 +25,10 @@ kubeconfig 파일들을 사용하여 클러스터, 사용자, 네임스페이스 kubeconfig 파일을 생성하고 지정하는 단계별 지시사항은 [다중 클러스터로 접근 구성하기](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)를 참조한다. -{{% /capture %}} -{{% capture body %}} + + ## 다중 클러스터, 사용자와 인증 메커니즘 지원 @@ -143,14 +143,15 @@ kubeconfig 파일에서 파일과 경로 참조는 kubeconfig 파일의 위치 `$HOME/.kube/config`에서 상대 경로는 상대적으로, 절대 경로는 절대적으로 저장한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [다중 클러스터 접근 구성하기](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) * [`kubectl config`](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/overview.md b/content/ko/docs/concepts/configuration/overview.md index 7611be8cb6..67f6a0a5e9 100644 --- a/content/ko/docs/concepts/configuration/overview.md +++ b/content/ko/docs/concepts/configuration/overview.md @@ -1,16 +1,16 @@ --- title: 구성 모범 사례 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 이 문서는 사용자 가이드, 시작하기 문서 및 예제들에 걸쳐 소개된 구성 모범 사례를 강조하고 통합한다. 이 문서는 지속적으로 변경 가능하다. 이 목록에 없지만 다른 사람들에게 유용할 것 같은 무엇인가를 생각하고 있다면, 새로운 이슈를 생성하거나 풀 리퀘스트를 제출하는 것을 망설이지 말기를 바란다. -{{% /capture %}} -{{% capture body %}} + + ## 일반적인 구성 팁 - 구성을 정의할 때, 안정된 최신 API 버전을 명시한다. @@ -104,4 +104,4 @@ DNS 서버는 새로운 `서비스`를 위한 쿠버네티스 API를 Watch하며 - 단일 컨테이너로 구성된 디플로이먼트와 서비스를 빠르게 생성하기 위해 `kubectl run`와 `kubectl expose`를 사용한다. [클러스터 내부의 애플리케이션에 접근하기 위한 서비스 사용](/docs/tasks/access-application-cluster/service-access-application-cluster/)에서 예시를 확인할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/pod-overhead.md b/content/ko/docs/concepts/configuration/pod-overhead.md index c5efc58c1e..cafd3a921d 100644 --- a/content/ko/docs/concepts/configuration/pod-overhead.md +++ b/content/ko/docs/concepts/configuration/pod-overhead.md @@ -1,10 +1,10 @@ --- title: 파드 오버헤드 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} @@ -14,10 +14,10 @@ _파드 오버헤드_ 는 컨테이너 리소스 요청과 상한 위에서 파 소비되는 리소스를 계산하는 기능이다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스에서 파드의 오버헤드는 파드의 [런타임클래스](/ko/docs/concepts/containers/runtime-class/) 와 관련된 오버헤드에 따라 @@ -183,11 +183,12 @@ sudo crictl inspectp -o=json $POD_ID | grep cgroupsPath 이 기능은 kube-state-metrics 의 1.9 릴리스에서는 사용할 수 없지만, 다음 릴리스에서는 가능할 예정이다. 그 전까지는 소스로부터 kube-state-metric 을 빌드해야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [런타임클래스](/ko/docs/concepts/containers/runtime-class/) * [파드오버헤드 디자인](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/pod-priority-preemption.md b/content/ko/docs/concepts/configuration/pod-priority-preemption.md index 3a6b989c8e..ac39ed6c94 100644 --- a/content/ko/docs/concepts/configuration/pod-priority-preemption.md +++ b/content/ko/docs/concepts/configuration/pod-priority-preemption.md @@ -1,10 +1,10 @@ --- title: 파드 우선순위(priority)와 선점(preemption) -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.14" state="stable" >}} @@ -13,9 +13,9 @@ weight: 70 스케줄러는 우선순위가 낮은 파드를 선점(축출)하여 보류 중인 파드를 스케줄링할 수 있게 한다. -{{% /capture %}} -{{% capture body %}} + + {{< warning >}} @@ -404,7 +404,8 @@ kubelet 리소스 부족 축출은 사용량이 요청을 초과하지 않는 초과하지 않으면, 축출되지 않는다. 요청을 초과하는 우선순위가 더 높은 다른 파드가 축출될 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 프라이어리티클래스와 관련하여 리소스쿼터 사용에 대해 [기본적으로 프라이어리티 클래스 소비 제한](/ko/docs/concepts/policy/resource-quotas/#기본적으로-우선-순위-클래스-소비-제한)을 읽어보자. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/configuration/resource-bin-packing.md b/content/ko/docs/concepts/configuration/resource-bin-packing.md index 5b6af1c661..4a8a6b7f2f 100644 --- a/content/ko/docs/concepts/configuration/resource-bin-packing.md +++ b/content/ko/docs/concepts/configuration/resource-bin-packing.md @@ -1,18 +1,18 @@ --- title: 확장된 리소스를 위한 리소스 빈 패킹(bin packing) -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} kube-scheduler는 `RequestedToCapacityRatioResourceAllocation` 우선 순위 기능을 사용해서 확장된 리소스와 함께 리소스의 빈 패킹이 가능하도록 구성할 수 있다. 우선 순위 기능을 사용해서 맞춤 요구에 따라 kube-scheduler를 미세 조정할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## RequestedToCapacityRatioResourceAllocation을 사용해서 빈 패킹 활성화하기 @@ -190,4 +190,4 @@ NodeScore = (5 * 5) + (7 * 1) + (10 * 3) / (5 + 1 + 3) ``` -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/container-environment.md b/content/ko/docs/concepts/containers/container-environment.md index b5cfaccbfc..95671af60d 100644 --- a/content/ko/docs/concepts/containers/container-environment.md +++ b/content/ko/docs/concepts/containers/container-environment.md @@ -1,17 +1,17 @@ --- title: 컨테이너 환경 변수 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 컨테이너 환경에서 컨테이너에 가용한 리소스에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 컨테이너 환경 @@ -50,11 +50,12 @@ FOO_SERVICE_PORT=<서비스가 동작 중인 포트> 서비스에 지정된 IP 주소가 있고 [DNS 애드온](http://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/dns/)이 활성화된 경우, DNS를 통해서 컨테이너가 서비스를 사용할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 라이프사이클 훅(hooks)](/ko/docs/concepts/containers/container-lifecycle-hooks/)에 대해 더 배워 보기. * [컨테이너 라이프사이클 이벤트에 핸들러 부착](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) 실제 경험 얻기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/container-lifecycle-hooks.md b/content/ko/docs/concepts/containers/container-lifecycle-hooks.md index 6264621a24..ac29c19c1b 100644 --- a/content/ko/docs/concepts/containers/container-lifecycle-hooks.md +++ b/content/ko/docs/concepts/containers/container-lifecycle-hooks.md @@ -1,18 +1,18 @@ --- title: 컨테이너 라이프사이클 훅(Hook) -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지는 kubelet이 관리하는 컨테이너가 관리 라이프사이클 동안의 이벤트에 의해 발동되는 코드를 실행하기 위해서 컨테이너 라이프사이클 훅 프레임워크를 사용하는 방법에 대해서 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -109,12 +109,13 @@ Events: 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 환경](/ko/docs/concepts/containers/container-environment/)에 대해 더 배우기. * [컨테이너 라이프사이클 이벤트에 핸들러 부착](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/) 실습 경험하기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/images.md b/content/ko/docs/concepts/containers/images.md index 4a84219ff6..bca9878b4f 100644 --- a/content/ko/docs/concepts/containers/images.md +++ b/content/ko/docs/concepts/containers/images.md @@ -1,19 +1,19 @@ --- title: 이미지 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 사용자 Docker 이미지를 생성하고 레지스트리에 푸시(push)하여 쿠버네티스 파드에서 참조되기 이전에 대비한다. 컨테이너의 `image` 속성은 `docker` 커맨드에서 지원하는 문법과 같은 문법을 지원한다. 이는 프라이빗 레지스트리와 태그를 포함한다. -{{% /capture %}} -{{% capture body %}} + + ## 이미지 업데이트 @@ -367,4 +367,4 @@ imagePullSecrets을 셋팅하여 자동화할 수 있다. 다중 레지스트리에 접근해야 하는 경우, 각 레지스트리에 대해 하나의 시크릿을 생성할 수 있다. Kubelet은 모든`imagePullSecrets` 파일을 하나의 가상`.docker / config.json` 파일로 병합한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/overview.md b/content/ko/docs/concepts/containers/overview.md index 11d29a18ce..7ad30f5749 100644 --- a/content/ko/docs/concepts/containers/overview.md +++ b/content/ko/docs/concepts/containers/overview.md @@ -1,10 +1,10 @@ --- title: 컨테이너 개요 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 컨테이너는 런타임에 필요한 종속성과 애플리케이션의 컴파일 된 코드를 패키징 하는 기술이다. 실행되는 각각의 @@ -15,10 +15,10 @@ weight: 10 컨테이너는 기본 호스트 인프라 환경에서 애플리케이션의 실행환경을 분리한다. 따라서 다양한 클라우드 환경이나 운영체제에서 쉽게 배포 할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 컨테이너 이미지 [컨테이너 이미지](/ko/docs/concepts/containers/images/) 는 즉시 실행할 수 있는 @@ -36,8 +36,9 @@ weight: 10 {{< glossary_definition term_id="container-runtime" length="all" >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨테이너 이미지](/ko/docs/concepts/containers/images/)에 대해 읽어보기 * [파드](/ko/docs/concepts/workloads/pods/)에 대해 읽어보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/containers/runtime-class.md b/content/ko/docs/concepts/containers/runtime-class.md index f1fd42cad6..8af3bda7a8 100644 --- a/content/ko/docs/concepts/containers/runtime-class.md +++ b/content/ko/docs/concepts/containers/runtime-class.md @@ -1,10 +1,10 @@ --- title: 런타임 클래스 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -13,10 +13,10 @@ weight: 20 런타임클래스는 컨테이너 런타임을 구성을 선택하는 기능이다. 컨테이너 런타임 구성은 파드의 컨테이너를 실행하는데 사용된다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 @@ -176,12 +176,13 @@ PodOverhead를 사용하려면, PodOverhead [기능 게이트](/docs/reference/c 해당 런타임 클래스를 사용해서 구동 중인 파드의 오버헤드를 특정할 수 있고 이 오버헤드가 쿠버네티스 내에서 처리된다는 것을 보장할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [런타임 클래스 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class.md) - [런타임 클래스 스케줄링 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/runtime-class-scheduling.md) - [파드 오버헤드](/docs/concepts/configuration/pod-overhead/) 개념에 대해 읽기 - [파드 오버헤드 기능 설계](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190226-pod-overhead.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index fe8af20904..3b0b42dfcc 100644 --- a/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -1,19 +1,19 @@ --- title: 애그리게이션 레이어(aggregation layer)로 쿠버네티스 API 확장하기 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 애그리게이션 레이어는 코어 쿠버네티스 API가 제공하는 기능 이외에 더 많은 기능을 제공할 수 있도록 추가 API를 더해 쿠버네티스를 확장할 수 있게 해준다. 추가 API는 [서비스-카탈로그](/docs/concepts/extend-kubernetes/service-catalog/)와 같이 미리 만들어진 솔루션이거나 사용자가 직접 개발한 API일 수 있다. 애그리게이션 레이어는 [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)와는 다르며, 애그리게이션 레이어는 {{< glossary_tooltip term_id="kube-apiserver" text="kube-apiserver" >}} 가 새로운 종류의 오브젝트를 인식하도록 하는 방법이다. -{{% /capture %}} -{{% capture body %}} + + ## 애그리게이션 레이어 @@ -30,13 +30,14 @@ extention API server가 레이턴시 요구 사항을 달성할 수 없는 경 `EnableAggregatedDiscoveryTimeout=false` [기능 게이트](/docs/reference/command-line-tools-reference/feature-gates/)를 설정해서 타임아웃 제한을 비활성화 할 수 있다. 이 사용 중단(deprecated)된 기능 게이트는 향후 릴리스에서 제거될 예정이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 사용자의 환경에서 Aggregator를 동작시키려면, [애그리게이션 레이어를 설정한다](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/). * 다음에, [extension api-server를 구성해서](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) 애그리게이션 레이어와 연계한다. * 또한, 어떻게 [쿠버네티스 API를 커스텀 리소스 데피니션으로 확장하는지](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)를 배워본다. * [API 서비스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io)의 사양을 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md b/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md index 84481bdec7..9e9f3e9e29 100644 --- a/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md +++ b/content/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources.md @@ -1,18 +1,18 @@ --- title: 커스텀 리소스 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + *커스텀 리소스* 는 쿠버네티스 API의 익스텐션이다. 이 페이지에서는 쿠버네티스 클러스터에 커스텀 리소스를 추가할 시기와 독립형 서비스를 사용하는 시기에 대해 설명한다. 커스텀 리소스를 추가하는 두 가지 방법과 이들 중에서 선택하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 커스텀 리소스 *리소스* 는 [쿠버네티스 API](/ko/docs/reference/using-api/api-overview/)에서 특정 종류의 @@ -243,12 +243,13 @@ CRD는 항상 API 서버의 빌트인 리소스와 동일한 인증, 권한 부 - 작성한 REST 클라이언트 - [쿠버네티스 클라이언트 생성 도구](https://github.com/kubernetes/code-generator)를 사용하여 생성된 클라이언트(하나를 생성하는 것은 고급 기능이지만, 일부 프로젝트는 CRD 또는 AA와 함께 클라이언트를 제공할 수 있다). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [애그리게이션 레이어(aggregation layer)로 쿠버네티스 API 확장](/ko/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/)하는 방법에 대해 배우기. * [커스텀리소스데피니션으로 쿠버네티스 API 확장](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/)하는 방법에 대해 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md index 0912bcdcde..d75601de9f 100644 --- a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md +++ b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins.md @@ -1,11 +1,11 @@ --- title: 장치 플러그인 description: GPU, NIC, FPGA, InfiniBand 및 공급 업체별 설정이 필요한 유사한 리소스를 위한 플러그인을 구현하는데 쿠버네티스 장치 플러그인 프레임워크를 사용한다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.10" state="beta" >}} 쿠버네티스는 시스템 하드웨어 리소스를 {{< glossary_tooltip term_id="kubelet" >}}에 알리는 데 사용할 수 있는 @@ -18,9 +18,9 @@ weight: 20 및 공급 업체별 초기화 및 설정이 필요할 수 있는 기타 유사한 컴퓨팅 리소스가 포함된다. -{{% /capture %}} -{{% capture body %}} + + ## 장치 플러그인 등록 @@ -224,12 +224,13 @@ pluginapi.Device{ID: "25102017", Health: pluginapi.Healthy, Topology:&pluginapi. * [SR-IOV 네트워크 장치 플러그인](https://github.com/intel/sriov-network-device-plugin) * Xilinx FPGA 장치용 [Xilinx FPGA 장치 플러그인](https://github.com/Xilinx/FPGA_as_a_Service/tree/master/k8s-fpga-device-plugin/trunk) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 장치 플러그인을 사용한 [GPU 리소스 스케줄링](/docs/tasks/manage-gpus/scheduling-gpus/)에 대해 알아보기 * 노드에서의 [확장 리소스 알리기](/docs/tasks/administer-cluster/extended-resource-node/)에 대해 배우기 * 쿠버네티스에서 [TLS 수신에 하드웨어 가속](https://kubernetes.io/blog/2019/04/24/hardware-accelerated-ssl/tls-termination-in-ingress-controllers-using-kubernetes-device-plugins-and-runtimeclass/) 사용에 대해 읽기 * [토폴로지 관리자](/docs/tasks/adminster-cluster/topology-manager/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 137195e7e7..923acfa333 100644 --- a/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/ko/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -1,11 +1,11 @@ --- title: 네트워크 플러그인 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state state="alpha" >}} {{< caution >}}알파 기능은 빨리 변경될 수 있다. {{< /caution >}} @@ -15,9 +15,9 @@ weight: 10 * CNI 플러그인: 상호 운용성을 위해 설계된 appc/CNI 명세를 준수한다. * Kubenet 플러그인: `bridge` 와 `host-local` CNI 플러그인을 사용하여 기본 `cbr0` 구현한다. -{{% /capture %}} -{{% capture body %}} + + ## 설치 @@ -160,8 +160,9 @@ AWS에서 `eth0` MTU는 일반적으로 9001이므로, `--network-plugin-mtu=900 * `--network-plugin=kubenet` 은 `/opt/cni/bin` 또는 `cni-bin-dir` 에 있는 CNI `bridge` 및 `host-local` 플러그인과 함께 kubenet 네트워크 플러그인을 사용하도록 지정한다. * 현재 kubenet 네트워크 플러그인에서만 사용하는 `--network-plugin-mtu=9001` 은 사용할 MTU를 지정한다. -{{% /capture %}} -{{% capture whatsnext %}} -{{% /capture %}} +## {{% heading "whatsnext" %}} + + + diff --git a/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md b/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md index 408ff70c22..ecf57f49fc 100644 --- a/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md +++ b/content/ko/docs/concepts/extend-kubernetes/extend-cluster.md @@ -1,10 +1,10 @@ --- title: 쿠버네티스 클러스터 확장 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스는 매우 유연하게 구성할 수 있고 확장 가능하다. 결과적으로 쿠버네티스 프로젝트를 포크하거나 코드에 패치를 제출할 필요가 @@ -17,10 +17,10 @@ weight: 10 어떤 익스텐션 포인트와 패턴이 있는지, 그리고 그것들의 트레이드오프와 제약에 대한 소개 자료로 유용할 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 @@ -189,10 +189,11 @@ Kubelet이 바이너리 플러그인을 호출하여 볼륨을 마운트하도 [웹훅](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/scheduler_extender.md)을 지원한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [커스텀 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)에 대해 더 알아보기 * [동적 어드미션 컨트롤](/docs/reference/access-authn-authz/extensible-admission-controllers/)에 대해 알아보기 @@ -202,4 +203,4 @@ Kubelet이 바이너리 플러그인을 호출하여 볼륨을 마운트하도 * [kubectl 플러그인](/docs/tasks/extend-kubectl/kubectl-plugins/)에 대해 알아보기 * [오퍼레이터 패턴](/docs/concepts/extend-kubernetes/operator/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/extend-kubernetes/operator.md b/content/ko/docs/concepts/extend-kubernetes/operator.md index 7d7854e05c..c663964e21 100644 --- a/content/ko/docs/concepts/extend-kubernetes/operator.md +++ b/content/ko/docs/concepts/extend-kubernetes/operator.md @@ -1,20 +1,20 @@ --- title: 오퍼레이터(operator) 패턴 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 오퍼레이터(Operator)는 [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)를 사용하여 애플리케이션 및 해당 컴포넌트를 관리하는 쿠버네티스의 소프트웨어 익스텐션이다. 오퍼레이터는 쿠버네티스 원칙, 특히 [컨트롤 루프](/ko/docs/concepts/#쿠버네티스-컨트롤-플레인)를 따른다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 부여 @@ -113,9 +113,10 @@ kubectl edit SampleDB/example-database # 일부 설정을 수동으로 변경하 또한 [쿠버네티스 API의 클라이언트](/ko/docs/reference/using-api/client-libraries/) 역할을 할 수 있는 모든 언어 / 런타임을 사용하여 오퍼레이터(즉, 컨트롤러)를 구현한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [사용자 정의 리소스](/ko/docs/concepts/extend-kubernetes/api-extension/custom-resources/)에 대해 더 알아보기 * [OperatorHub.io](https://operatorhub.io/)에서 유스케이스에 맞는 이미 만들어진 오퍼레이터 찾기 @@ -129,5 +130,5 @@ kubectl edit SampleDB/example-database # 일부 설정을 수동으로 변경하 * 오퍼레이터 패턴을 소개한 [CoreOS 원본 기사](https://coreos.com/blog/introducing-operators.html) 읽기 * 오퍼레이터 구축을 위한 모범 사례에 대한 구글 클라우드(Google Cloud)의 [기사](https://cloud.google.com/blog/products/containers-kubernetes/best-practices-for-building-kubernetes-operators-and-stateful-apps) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/components.md b/content/ko/docs/concepts/overview/components.md index 9db222e271..3d4a8b8370 100644 --- a/content/ko/docs/concepts/overview/components.md +++ b/content/ko/docs/concepts/overview/components.md @@ -1,13 +1,13 @@ --- title: 쿠버네티스 컴포넌트 -content_template: templates/concept +content_type: concept weight: 20 card: name: concepts weight: 20 --- -{{% capture overview %}} + 쿠버네티스를 배포하면 클러스터를 얻는다. {{< glossary_definition term_id="cluster" length="all" prepend="쿠버네티스 클러스터는">}} @@ -18,9 +18,9 @@ card: ![쿠버네티스의 컴포넌트](/images/docs/components-of-kubernetes.png) -{{% /capture %}} -{{% capture body %}} + + ## 컨트롤 플레인 컴포넌트 컨트롤 플레인 컴포넌트는 클러스터에 관한 전반적인 결정(예를 들어, 스케줄링)을 수행하고 클러스터 이벤트(예를 들어, 디플로이먼트의 `replicas` 필드에 대한 요구 조건이 충족되지 않을 경우 새로운 {{< glossary_tooltip text="파드" term_id="pod">}}를 구동시키는 것)를 감지하고 반응한다. @@ -118,10 +118,11 @@ kube-controller-manager와 마찬가지로 cloud-controller-manager는 논리적 [클러스터-레벨 로깅](/docs/concepts/cluster-administration/logging/) 메커니즘은 검색/열람 인터페이스와 함께 중앙 로그 저장소에 컨테이너 로그를 저장하는 책임을 진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [노드](/ko/docs/concepts/architecture/nodes/)에 대해 더 배우기 * [컨트롤러](/ko/docs/concepts/architecture/controller/)에 대해 더 배우기 * [kube-scheduler](/ko/docs/concepts/scheduling-eviction/kube-scheduler/)에 대해 더 배우기 * etcd의 공식 [문서](https://etcd.io/docs/) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/kubernetes-api.md b/content/ko/docs/concepts/overview/kubernetes-api.md index ce0b55e113..851791b9ca 100644 --- a/content/ko/docs/concepts/overview/kubernetes-api.md +++ b/content/ko/docs/concepts/overview/kubernetes-api.md @@ -1,13 +1,13 @@ --- title: 쿠버네티스 API -content_template: templates/concept +content_type: concept weight: 30 card: name: concepts weight: 30 --- -{{% capture overview %}} + 전체 API 관례는 [API conventions doc](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md)에 기술되어 있다. @@ -21,10 +21,10 @@ API에 원격 접속하는 방법은 [Controlling API Access doc](/docs/referenc 쿠버네티스 자체는 여러 컴포넌트로 나뉘어져서 각각의 API를 통해 상호작용한다. -{{% /capture %}} -{{% capture body %}} + + ## API 변경 @@ -137,4 +137,4 @@ API 그룹은 REST 경로와 직렬화된 객체의 `apiVersion` 필드에 명 {{< note >}}개별 리소스의 활성화/비활성화는 레거시 문제로 `extensions/v1beta1` API 그룹에서만 지원된다. {{< /note >}} -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/what-is-kubernetes.md b/content/ko/docs/concepts/overview/what-is-kubernetes.md index 1bbffa96cc..f94ab988a3 100644 --- a/content/ko/docs/concepts/overview/what-is-kubernetes.md +++ b/content/ko/docs/concepts/overview/what-is-kubernetes.md @@ -2,18 +2,18 @@ title: 쿠버네티스란 무엇인가? description: > 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 지원 그리고 도구들은 광범위하게 제공된다. -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 10 --- -{{% capture overview %}} + 이 페이지에서는 쿠버네티스 개요를 설명한다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 프로덕션 워크로드를 대규모로 운영하는 [15년 이상의 구글 경험](/blog/2015/04/borg-predecessor-to-kubernetes/)과 커뮤니티의 최고의 아이디어와 적용 사례가 결합되어 있다. @@ -83,9 +83,10 @@ card: * 포괄적인 머신 설정, 유지보수, 관리, 자동 복구 시스템을 제공하거나 채택하지 않는다. * 추가로, 쿠버네티스는 단순한 오케스트레이션 시스템이 아니다. 사실, 쿠버네티스는 오케스트레이션의 필요성을 없애준다. 오케스트레이션의 기술적인 정의는 A를 먼저 한 다음, B를 하고, C를 하는 것과 같이 정의된 워크플로우를 수행하는 것이다. 반면에, 쿠버네티스는 독립적이고 조합 가능한 제어 프로세스들로 구성되어 있다. 이 프로세스는 지속적으로 현재 상태를 입력받은 의도한 상태로 나아가도록 한다. A에서 C로 어떻게 갔는지는 상관이 없다. 중앙화된 제어도 필요치 않다. 이로써 시스템이 보다 더 사용하기 쉬워지고, 강력해지며, 견고하고, 회복력을 갖추게 되며, 확장 가능해진다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [쿠버네티스 구성요소](/ko/docs/concepts/overview/components/) 살펴보기 * [시작하기](/ko/docs/setup/) 준비가 되었는가? -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/annotations.md b/content/ko/docs/concepts/overview/working-with-objects/annotations.md index 4b238bf313..aa9c29cb64 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/ko/docs/concepts/overview/working-with-objects/annotations.md @@ -1,15 +1,15 @@ --- title: 어노테이션 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 쿠버네티스 어노테이션을 사용하여 임의의 비-식별 메타데이터를 오브젝트에 첨부할 수 있다. 도구 및 라이브러리와 같은 클라이언트는 이 메타데이터를 검색할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 오브젝트에 메타데이터 첨부 레이블이나 어노테이션을 사용하여 쿠버네티스 @@ -88,10 +88,11 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [레이블과 셀렉터](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/common-labels.md b/content/ko/docs/concepts/overview/working-with-objects/common-labels.md index 450255c37c..be7db19bb5 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/common-labels.md +++ b/content/ko/docs/concepts/overview/working-with-objects/common-labels.md @@ -1,17 +1,17 @@ --- title: 권장 레이블 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + kubectl과 대시보드와 같은 많은 도구들로 쿠버네티스 오브젝트를 시각화 하고 관리할 수 있다. 공통 레이블 셋은 모든 도구들이 이해할 수 있는 공통의 방식으로 오브젝트를 식별하고 도구들이 상호 운용적으로 작동할 수 있도록 한다. 권장 레이블은 지원 도구 외에도 쿼리하는 방식으로 애플리케이션을 식별하게 한다. -{{% /capture %}} -{{% capture body %}} + + 메타데이터는 _애플리케이션_ 의 개념을 중심으로 정리된다. 쿠버네티스는 플랫폼 서비스(PaaS)가 아니며 애플리케이션에 대해 공식적인 개념이 없거나 강요하지 않는다. 대신 애플리케이션은 비공식적이며 메타데이터로 설명된다. @@ -166,4 +166,4 @@ metadata: MySQL `StatefulSet` 과 `Service` 로 MySQL과 WordPress가 더 큰 범위의 애플리케이션에 포함되어 있는 것을 알게 된다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md b/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md index 3028155e22..1fe7183c29 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md +++ b/content/ko/docs/concepts/overview/working-with-objects/kubernetes-objects.md @@ -1,17 +1,17 @@ --- title: 쿠버네티스 오브젝트 이해하기 -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 40 --- -{{% capture overview %}} + 이 페이지에서는 쿠버네티스 오브젝트가 쿠버네티스 API에서 어떻게 표현되고, 그 오브젝트를 어떻게 `.yaml` 형식으로 표현할 수 있는지에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 쿠버네티스 오브젝트 이해하기 {#kubernetes-objects} *쿠버네티스 오브젝트* 는 쿠버네티스 시스템에서 영속성을 가지는 개체이다. 쿠버네티스는 클러스터의 상태를 나타내기 위해 이 개체를 이용한다. 구체적으로 말하자면, 다음을 기술할 수 있다. @@ -86,10 +86,11 @@ deployment.apps/nginx-deployment created 에서 확인할 수 있고, 디플로이먼트에 대한 `spec` 포맷은 [DeploymentSpec v1 apps](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps)에서 확인할 수 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * API 개념의 더 많은 설명은 [Kubernetes API 개요](/ko/docs/reference/using-api/api-overview/)를 본다. * [파드(Pod)](/ko/docs/concepts/workloads/pods/pod-overview/)와 같이, 가장 중요하고 기본적인 쿠버네티스 오브젝트에 대해 배운다. * 쿠버네티스의 [컨트롤러](/ko/docs/concepts/architecture/controller/)에 대해 배운다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/labels.md b/content/ko/docs/concepts/overview/working-with-objects/labels.md index 6fa5790a83..fe8b0ce8fb 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/labels.md +++ b/content/ko/docs/concepts/overview/working-with-objects/labels.md @@ -1,10 +1,10 @@ --- title: 레이블과 셀렉터 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + _레이블_ 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. @@ -22,10 +22,10 @@ _레이블_ 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이 레이블은 UI와 CLI에서 효율적인 쿼리를 사용하고 검색에 사용하기에 적합하다. 식별되지 않는 정보는 [어노테이션](/ko/docs/concepts/overview/working-with-objects/annotations/)으로 기록해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 사용 동기 @@ -225,4 +225,4 @@ selector: 레이블을 통해 선택하는 사용 사례 중 하나는 파드를 스케줄 할 수 있는 노드 셋을 제한하는 것이다. 자세한 내용은 [노드 선택](/ko/docs/concepts/scheduling-eviction/assign-pod-node/) 문서를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/names.md b/content/ko/docs/concepts/overview/working-with-objects/names.md index 3841e76c1e..0cb3e7656a 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/names.md +++ b/content/ko/docs/concepts/overview/working-with-objects/names.md @@ -1,10 +1,10 @@ --- title: 오브젝트 이름과 ID -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 클러스터의 각 오브젝트는 해당 유형의 리소스에 대하여 고유한 [_이름_](#names) 을 가지고 있다. 또한, 모든 쿠버네티스 오브젝트는 전체 클러스터에 걸쳐 고유한 [_UID_](#uids) 를 가지고 있다. @@ -13,10 +13,10 @@ weight: 20 유일하지 않은 사용자 제공 속성의 경우 쿠버네티스는 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)과 [어노테이션](/ko/docs/concepts/overview/working-with-objects/annotations/)을 제공한다. -{{% /capture %}} -{{% capture body %}} + + ## 이름 {#names} @@ -79,8 +79,9 @@ spec: 쿠버네티스 UID는 보편적으로 고유한 식별자이다(또는 UUID라고 한다). UUID는 ISO/IEC 9834-8 과 ITU-T X.667 로 표준화 되어 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 쿠버네티스의 [레이블](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 읽기. * [쿠버네티스의 식별자와 이름](https://git.k8s.io/community/contributors/design-proposals/architecture/identifiers.md) 디자인 문서 읽기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md index 4707233f26..8e4cf04db2 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/namespaces.md +++ b/content/ko/docs/concepts/overview/working-with-objects/namespaces.md @@ -1,18 +1,18 @@ --- title: 네임스페이스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 쿠버네티스는 동일한 물리 클러스터를 기반으로 하는 여러 가상 클러스터를 지원한다. 이런 가상 클러스터를 네임스페이스라고 한다. -{{% /capture %}} -{{% capture body %}} + + ## 여러 개의 네임스페이스를 사용하는 경우 @@ -108,11 +108,12 @@ kubectl api-resources --namespaced=true kubectl api-resources --namespaced=false ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [신규 네임스페이스 생성](/docs/tasks/administer-cluster/namespaces/#creating-a-new-namespace)에 대해 더 배우기. * [네임스페이스 삭제](/docs/tasks/administer-cluster/namespaces/#deleting-a-namespace)에 대해 더 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/overview/working-with-objects/object-management.md b/content/ko/docs/concepts/overview/working-with-objects/object-management.md index bdb5ac476d..550cbe951c 100644 --- a/content/ko/docs/concepts/overview/working-with-objects/object-management.md +++ b/content/ko/docs/concepts/overview/working-with-objects/object-management.md @@ -1,17 +1,17 @@ --- title: 쿠버네티스 오브젝트 관리 -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + `kubectl` 커맨드라인 툴은 쿠버네티스 오브젝트를 생성하고 관리하기 위한 몇 가지 상이한 방법을 지원한다. 이 문서는 여러가지 접근법에 대한 개요을 제공한다. Kubectl로 오브젝트 관리하기에 대한 자세한 설명은 [Kubectl 서적](https://kubectl.docs.kubernetes.io)에서 확인한다. -{{% /capture %}} -{{% capture body %}} + + ## 관리 기법 @@ -174,9 +174,10 @@ kubectl apply -R -f configs/ - 선언형 오브젝트 구성은 예상치 못한 결과를 디버깅하고 이해하기가 더 어렵다. - diff를 사용한 부분 업데이트는 복잡한 병합 및 패치 작업을 일으킨다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) - [오브젝트 구성을 이용한 쿠버네티스 오브젝트 관리하기(명령형)](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) - [오브젝트 구성을 이용한 쿠버네티스 오브젝트 관리하기(선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) @@ -187,4 +188,4 @@ kubectl apply -R -f configs/ {{< comment >}} {{< /comment >}} -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/limit-range.md b/content/ko/docs/concepts/policy/limit-range.md index 11356ed3ee..e2bd0a10d3 100644 --- a/content/ko/docs/concepts/policy/limit-range.md +++ b/content/ko/docs/concepts/policy/limit-range.md @@ -1,19 +1,19 @@ --- title: 리밋 레인지(Limit Range) -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 기본적으로 컨테이너는 쿠버네티스 클러스터에서 무제한 [컴퓨팅 리소스](/docs/user-guide/compute-resources)로 실행된다. 리소스 쿼터을 사용하면 클러스터 관리자는 {{< glossary_tooltip text="네임스페이스" term_id="namespace" >}}별로 리소스 사용과 생성을 제한할 수 있다. 네임스페이스 내에서 파드나 컨테이너는 네임스페이스의 리소스 쿼터에 정의된 만큼의 CPU와 메모리를 사용할 수 있다. 하나의 파드 또는 컨테이너가 사용 가능한 모든 리소스를 독점할 수 있다는 우려가 있다. 리밋레인지는 네임스페이스에서 리소스 할당(파드 또는 컨테이너)을 제한하는 정책이다. -{{% /capture %}} -{{% capture body %}} + + _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. @@ -49,9 +49,10 @@ _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. 경합이나 리밋레인지 변경은 이미 생성된 리소스에 영향을 미치지 않는다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [LimitRanger 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_limit_range.md)를 참조한다. @@ -65,4 +66,4 @@ _리밋레인지_ 는 다음과 같은 제약 조건을 제공한다. - [네임스페이스당 할당량을 설정하는 자세한 예시](/docs/tasks/administer-cluster/quota-memory-cpu-namespace/). -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/pod-security-policy.md b/content/ko/docs/concepts/policy/pod-security-policy.md index 4e264da6f1..54a5f8a22a 100644 --- a/content/ko/docs/concepts/policy/pod-security-policy.md +++ b/content/ko/docs/concepts/policy/pod-security-policy.md @@ -1,20 +1,20 @@ --- title: 파드 시큐리티 폴리시 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state state="beta" >}} 파드 시큐리티 폴리시를 사용하면 파드 생성 및 업데이트에 대한 세분화된 권한을 부여할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 파드 시큐리티 폴리시란? @@ -626,10 +626,11 @@ spec: [Sysctl 문서]( /docs/concepts/cluster-administration/sysctl-cluster/#podsecuritypolicy)를 참고하길 바란다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + API 세부 정보는 [파드 시큐리티 폴리시 레퍼런스](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podsecuritypolicy-v1beta1-policy) 참조 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/policy/resource-quotas.md b/content/ko/docs/concepts/policy/resource-quotas.md index d13c6abbc2..4aec897572 100644 --- a/content/ko/docs/concepts/policy/resource-quotas.md +++ b/content/ko/docs/concepts/policy/resource-quotas.md @@ -1,20 +1,20 @@ --- title: 리소스 쿼터 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 여러 사용자나 팀이 정해진 수의 노드로 클러스터를 공유할 때 한 팀이 공정하게 분배된 리소스보다 많은 리소스를 사용할 수 있다는 우려가 있다. 리소스 쿼터는 관리자가 이 문제를 해결하기 위한 도구이다. -{{% /capture %}} -{{% capture body %}} + + `ResourceQuota` 오브젝트로 정의된 리소스 쿼터는 네임스페이스별 총 리소스 사용을 제한하는 제약 조건을 제공한다. 유형별로 네임스페이스에서 만들 수 있는 오브젝트 수와 @@ -592,10 +592,11 @@ plugins: [리소스 쿼터를 사용하는 방법에 대한 자세한 예](/docs/tasks/administer-cluster/quota-api-object/)를 참고하길 바란다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 자세한 내용은 [리소스쿼터 디자인 문서](https://git.k8s.io/community/contributors/design-proposals/resource-management/admission_control_resource_quota.md)를 참고하길 바란다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md b/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md index 6a5eaf68ec..a56dece692 100644 --- a/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md +++ b/content/ko/docs/concepts/scheduling-eviction/assign-pod-node.md @@ -1,11 +1,11 @@ --- title: 노드에 파드 할당하기 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< glossary_tooltip text="파드" term_id="pod" >}}를 특정한 {{< glossary_tooltip text="노드(들)" term_id="node" >}}에서만 동작하도록 하거나, 특정 노드들을 선호하도록 제한할 수 있다. @@ -17,9 +17,9 @@ weight: 50 예를 들어 SSD가 장착된 머신에 파드가 연결되도록 하거나 또는 동일한 가용성 영역(availability zone)에서 많은 것을 통신하는 두 개의 서로 다른 서비스의 파드를 같이 배치할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 노드 셀렉터(nodeSelector) @@ -383,9 +383,10 @@ spec: 위 파드는 kube-01 노드에서 실행될 것이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [테인트](/docs/concepts/configuration/taint-and-toleration/)는 노드가 특정 파드들을 *쫓아내게* 할 수 있다. @@ -397,4 +398,4 @@ spec: [토폴로지 매니저](/docs/tasks/administer-cluster/topology-manager/)는 노드 수준의 리소스 할당 결정에 참여할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md b/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md index 24754a5c88..54373e2e2c 100644 --- a/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md +++ b/content/ko/docs/concepts/scheduling-eviction/kube-scheduler.md @@ -1,18 +1,18 @@ --- title: 쿠버네티스 스케줄러 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 쿠버네티스에서 _스케줄링_ 은 {{< glossary_tooltip term_id="kubelet" >}}이 파드를 실행할 수 있도록 {{< glossary_tooltip text="파드" term_id="pod" >}}가 {{< glossary_tooltip text="노드" term_id="node" >}}에 적합한지 확인하는 것을 말한다. -{{% /capture %}} -{{% capture body %}} + + ## 스케줄링 개요 {#scheduling} @@ -86,12 +86,13 @@ _스코어링_ 단계에서 스케줄러는 목록에 남아있는 노드의 순 다른 스케줄링 단계를 구현하는 플러그인을 구성할 수 있다. 다른 프로파일을 실행하도록 kube-scheduler를 구성할 수도 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [스케줄러 성능 튜닝](/ko/docs/concepts/scheduling/scheduler-perf-tuning/)에 대해 읽기 * [파드 토폴로지 분배 제약 조건](/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints/)에 대해 읽기 * kube-scheduler의 [레퍼런스 문서](/docs/reference/command-line-tools-reference/kube-scheduler/) 읽기 * [멀티 스케줄러 구성하기](/docs/tasks/administer-cluster/configure-multiple-schedulers/)에 대해 배우기 * [토폴로지 관리 정책](/docs/tasks/administer-cluster/topology-manager/)에 대해 배우기 * [파드 오버헤드](/docs/concepts/configuration/pod-overhead/)에 대해 배우기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md b/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md index 3387bdce43..52db313635 100644 --- a/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md +++ b/content/ko/docs/concepts/scheduling-eviction/scheduler-perf-tuning.md @@ -1,10 +1,10 @@ --- title: 스케줄러 성능 튜닝 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="1.14" state="beta" >}} @@ -22,9 +22,9 @@ API 서버에 해당 결정을 통지한다. 본 페이지에서는 상대적으로 큰 규모의 쿠버네티스 클러스터에 대한 성능 튜닝 최적화에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} + + 큰 규모의 클러스터에서는 스케줄러의 동작을 튜닝하여 응답 시간 (새 파드가 빠르게 배치됨)과 정확도(스케줄러가 배치 결정을 잘 못하는 경우가 드물게 됨) @@ -161,4 +161,4 @@ percentageOfNodesToScore: 50 모든 노드를 검토한 후, 노드 1로 돌아간다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md index ed59926d17..864da02b8b 100644 --- a/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md +++ b/content/ko/docs/concepts/scheduling-eviction/taint-and-toleration.md @@ -1,11 +1,11 @@ --- title: 테인트(Taints)와 톨러레이션(Tolerations) -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + [여기](/ko/docs/concepts/configuration/assign-pod-node/#어피니티-affinity-와-안티-어피니티-anti-affinity)에 설명된 노드 어피니티는 노드 셋을 *끌어들이는* (기본 설정 또는 어려운 요구 사항) *파드* 속성이다. 테인트는 그 반대로, *노드* 가 파드 셋을 @@ -17,9 +17,9 @@ weight: 40 톨러레이션은 파드에 적용되며, 파드를 일치하는 테인트가 있는 노드에 스케줄되게 하지만 필수는 아니다. -{{% /capture %}} -{{% capture body %}} + + ## 개요 diff --git a/content/ko/docs/concepts/security/overview.md b/content/ko/docs/concepts/security/overview.md index 6dcbe57d58..f988d1d5d9 100644 --- a/content/ko/docs/concepts/security/overview.md +++ b/content/ko/docs/concepts/security/overview.md @@ -1,12 +1,12 @@ --- title: 클라우드 네이티브 보안 개요 -content_template: templates/concept +content_type: concept weight: 1 --- {{< toc >}} -{{% capture overview %}} + 쿠버네티스 보안(일반적인 보안)은 관련된 많은 부분이 상호작용하는 방대한 주제다. 오늘날에는 웹 애플리케이션의 실행을 돕는 수많은 시스템에 오픈소스 소프트웨어가 통합되어 있으며, @@ -15,9 +15,9 @@ weight: 1 몇 가지 일반적인 개념에 대한 멘탈 모델(mental model)을 정의한다. 멘탈 모델은 완전히 임의적이며 소프트웨어 스택을 보호할 위치를 생각하는데 도움이되는 경우에만 사용해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 클라우드 네이티브 보안의 4C 계층적인 보안에 대해서 어떻게 생각할 수 있는지 이해하는 데 도움이 될 수 있는 다이어그램부터 살펴보자. @@ -150,12 +150,13 @@ TLS를 통한 접근 | 코드가 TCP를 통해 통신해야 한다면, 클라이 전달하는 파이프라인에 의해 자동화 될 수 있다. 소프트웨어 전달을 위한 "지속적인 해킹(Continuous Hacking)"에 대한 접근 방식에 대해 알아 보려면, 자세한 설명을 제공하는 [이 기사](https://thenewstack.io/beyond-ci-cd-how-continuous-hacking-of-docker-containers-and-pipeline-driven-security-keeps-ygrene-secure/)를 참고한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드에 대한 네트워크 정책](/ko/docs/concepts/services-networking/network-policies/) 알아보기 * [클러스터 보안](/docs/tasks/administer-cluster/securing-a-cluster/)에 대해 알아보기 * [API 접근 통제](/docs/reference/access-authn-authz/controlling-access/)에 대해 알아보기 * 컨트롤 플레인에 대한 [전송 데이터 암호화](/docs/tasks/tls/managing-tls-in-a-cluster/) 알아보기 * [Rest에서 데이터 암호화](/docs/tasks/administer-cluster/encrypt-data/) 알아보기 * [쿠버네티스 시크릿](/docs/concepts/configuration/secret/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md b/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md index b0cc6b1a93..bc5560b5ba 100644 --- a/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md +++ b/content/ko/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases.md @@ -1,18 +1,18 @@ --- title: HostAliases로 파드의 /etc/hosts 항목 추가하기 -content_template: templates/concept +content_type: concept weight: 60 --- {{< toc >}} -{{% capture overview %}} + 파드의 /etc/hosts 파일에 항목을 추가하는 것은 DNS나 다른 방법들이 적용되지 않을 때 파드 수준의 호스트네임 해석을 제공한다. 1.7 버전에서는, 사용자들이 PodSpec의 HostAliases 항목을 사용하여 이러한 사용자 정의 항목들을 추가할 수 있다. HostAliases를 사용하지 않은 수정은 권장하지 않는데, 이는 호스트 파일이 Kubelet에 의해 관리되고, 파드 생성/재시작 중에 덮어쓰여질 수 있기 때문이다. -{{% /capture %}} -{{% capture body %}} + + ## 기본 호스트 파일 내용 @@ -123,4 +123,4 @@ fe00::2 ip6-allrouters 덮어쓰여진다. 따라서, 호스트 파일의 내용을 직접 바꾸는 것은 권장하지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/connect-applications-service.md b/content/ko/docs/concepts/services-networking/connect-applications-service.md index ca2440a048..c27416ce71 100644 --- a/content/ko/docs/concepts/services-networking/connect-applications-service.md +++ b/content/ko/docs/concepts/services-networking/connect-applications-service.md @@ -1,11 +1,11 @@ --- title: 서비스와 애플리케이션 연결하기 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + ## 컨테이너 연결을 위한 쿠버네티스 모델 @@ -17,9 +17,9 @@ weight: 30 이 가이드는 간단한 nginx 서버를 사용해서 개념증명을 보여준다. 동일한 원칙이 보다 완전한 [Jenkins CI 애플리케이션](https://kubernetes.io/blog/2015/07/strong-simple-ssl-for-kubernetes)에서 구현된다. -{{% /capture %}} -{{% capture body %}} + + ## 파드를 클러스터에 노출하기 @@ -414,12 +414,13 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el ... ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스를 사용해서 클러스터 내 애플리케이션에 접근하기](/docs/tasks/access-application-cluster/service-access-application-cluster/)를 더 자세히 알아본다. * [서비스를 사용해서 프론트 엔드부터 백 엔드까지 연결하기](/docs/tasks/access-application-cluster/connecting-frontend-backend/)를 더 자세히 알아본다. * [외부 로드 밸런서를 생성하기](/docs/tasks/access-application-cluster/create-external-load-balancer/)를 더 자세히 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/dns-pod-service.md b/content/ko/docs/concepts/services-networking/dns-pod-service.md index cef017128f..7550473fc2 100644 --- a/content/ko/docs/concepts/services-networking/dns-pod-service.md +++ b/content/ko/docs/concepts/services-networking/dns-pod-service.md @@ -1,16 +1,16 @@ --- title: 서비스 및 파드용 DNS -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스의 DNS 지원에 대한 개요를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -262,13 +262,14 @@ options ndots:5 | 1.10 | 베타 (기본)| | 1.9 | 알파 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + DNS 구성 관리에 대한 지침은 [DNS 서비스 구성](/docs/tasks/administer-cluster/dns-custom-nameservers/) 에서 확인 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/dual-stack.md b/content/ko/docs/concepts/services-networking/dual-stack.md index f234bcbbc3..11390c04d5 100644 --- a/content/ko/docs/concepts/services-networking/dual-stack.md +++ b/content/ko/docs/concepts/services-networking/dual-stack.md @@ -5,11 +5,11 @@ feature: description: > 파드와 서비스에 IPv4와 IPv6 주소 할당 -content_template: templates/concept +content_type: concept weight: 70 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.16" state="alpha" >}} @@ -17,9 +17,9 @@ weight: 70 만약 쿠버네티스 클러스터에서 IPv4/IPv6 이중 스택 네트워킹을 활성화하면, 클러스터는 IPv4와 IPv6 주소의 동시 할당을 지원하게 된다. -{{% /capture %}} -{{% capture body %}} + + ## 지원되는 기능 @@ -99,10 +99,11 @@ IPv6가 활성화된 외부 로드 밸런서를 지원하는 클라우드 공급 * Kubenet은 IP의 IPv4,IPv6의 위치 보고를 강제로 수행한다. (--cluster-cidr) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [IPv4/IPv6 이중 스택 확인](/docs/tasks/network/validate-dual-stack) 네트워킹 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/endpoint-slices.md b/content/ko/docs/concepts/services-networking/endpoint-slices.md index 635798f5a2..2a2ffc45bf 100644 --- a/content/ko/docs/concepts/services-networking/endpoint-slices.md +++ b/content/ko/docs/concepts/services-networking/endpoint-slices.md @@ -1,11 +1,11 @@ --- title: 엔드포인트슬라이스 -content_template: templates/concept +content_type: concept weight: 15 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} @@ -13,9 +13,9 @@ _엔드포인트슬라이스_ 는 쿠버네티스 클러스터 내의 네트워 추적하는 간단한 방법을 제공한다. 이것은 엔드포인트를 더 확장하고, 확장 가능한 대안을 제안한다. -{{% /capture %}} -{{% capture body %}} + + ## 사용동기 @@ -173,11 +173,12 @@ text="kube-controller-manager" term_id="kube-controller-manager" >}} 플래그 교체되는 엔드포인트에 대해서 엔드포인트슬라이스를 자연스럽게 재포장한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [엔드포인트슬라이스 활성화하기](/docs/tasks/administer-cluster/enabling-endpointslices) * [애플리케이션을 서비스와 함께 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/) 를 읽는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/ingress-controllers.md b/content/ko/docs/concepts/services-networking/ingress-controllers.md index 92a2387f5d..4600c32bcf 100644 --- a/content/ko/docs/concepts/services-networking/ingress-controllers.md +++ b/content/ko/docs/concepts/services-networking/ingress-controllers.md @@ -1,11 +1,11 @@ --- title: 인그레스 컨트롤러 reviewers: -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 인그레스 리소스가 작동하려면, 클러스터는 실행 중인 인그레스 컨트롤러가 반드시 필요하다. @@ -15,9 +15,9 @@ kube-controller-manager 바이너리의 일부로 실행되는 컨트롤러의 프로젝트로써 쿠버네티스는 현재 [GCE](https://git.k8s.io/ingress-gce/README.md) 와 [nginx](https://git.k8s.io/ingress-nginx/README.md) 컨트롤러를 지원하고 유지한다. -{{% /capture %}} -{{% capture body %}} + + ## 추가 컨트롤러 @@ -52,11 +52,12 @@ kube-controller-manager 바이너리의 일부로 실행되는 컨트롤러의 인그레스 컨트롤러의 설명서를 검토하여 선택 시 주의 사항을 이해해야한다. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인그레스](/ko/docs/concepts/services-networking/ingress/)에 대해 자세히 알아보기. * [NGINX 컨트롤러로 Minikube에서 Ingress를 설정하기](/docs/tasks/access-application-cluster/ingress-minikube). -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/ingress.md b/content/ko/docs/concepts/services-networking/ingress.md index 28f964a4ca..968274bc1c 100644 --- a/content/ko/docs/concepts/services-networking/ingress.md +++ b/content/ko/docs/concepts/services-networking/ingress.md @@ -1,15 +1,15 @@ --- title: 인그레스 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.1" state="beta" >}} {{< glossary_definition term_id="ingress" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## 용어 @@ -541,10 +541,11 @@ Events: * [Service.Type=LoadBalancer](/ko/docs/concepts/services-networking/service/#loadbalancer) 사용. * [Service.Type=NodePort](/ko/docs/concepts/services-networking/service/#nodeport) 사용. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인그레스] API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ingress-v1beta1-networking-k8s-io)에 대해 배우기 * [인그레스 컨트롤러](/ko/docs/concepts/services-networking/ingress-controllers/)에 대해 배우기 * [NGINX 컨트롤러로 Minikube에서 인그레스 구성하기](/docs/tasks/access-application-cluster/ingress-minikube) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/network-policies.md b/content/ko/docs/concepts/services-networking/network-policies.md index c3f4ee193b..55fde3a3be 100644 --- a/content/ko/docs/concepts/services-networking/network-policies.md +++ b/content/ko/docs/concepts/services-networking/network-policies.md @@ -1,19 +1,19 @@ --- title: 네트워크 정책 -content_template: templates/concept +content_type: concept weight: 50 --- {{< toc >}} -{{% capture overview %}} + 네트워크 정책은 {{< glossary_tooltip text="파드" term_id="pod">}} 그룹이 서로 간에 또는 다른 네트워크 엔드포인트와 통신할 수 있도록 허용하는 방법에 대한 명세이다. `NetworkPolicy` 리소스는 {{< glossary_tooltip text="레이블" term_id="label">}}을 사용해서 파드를 선택하고 선택한 파드에 허용되는 트래픽을 지정하는 규칙을 정의한다. -{{% /capture %}} -{{% capture body %}} + + ## 전제 조건 네트워크 정책은 [네트워크 플러그인](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)으로 구현된다. 네트워크 정책을 사용하려면 NetworkPolicy를 지원하는 네트워킹 솔루션을 사용해야만 한다. 이를 구현하는 컨트롤러 없이 NetworkPolicy 리소스를 생성해도 아무런 효과가 없기 때문이다. @@ -211,12 +211,13 @@ SCTP 프로토콜 NetworkPolicy을 지원하는 {{< glossary_tooltip text="CNI" {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - 자세한 설명과 추가 예시는 [네트워크 정책 선언](/docs/tasks/administer-cluster/declare-network-policy/)을 본다. - NetworkPolicy 리소스에서 사용되는 일반적인 시나리오는 [레시피](https://github.com/ahmetb/kubernetes-network-policy-recipes)를 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/service-topology.md b/content/ko/docs/concepts/services-networking/service-topology.md index 16f140e583..da419f76e4 100644 --- a/content/ko/docs/concepts/services-networking/service-topology.md +++ b/content/ko/docs/concepts/services-networking/service-topology.md @@ -5,12 +5,12 @@ feature: description: > 클러스터 토폴로지를 기반으로 서비스 트래픽 라우팅. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="alpha" >}} @@ -19,9 +19,9 @@ _서비스 토폴로지_ 를 활성화 하면 서비스는 클러스터의 노 클라이언트와 동일한 노드이거나 동일한 가용성 영역에 있는 엔드포인트로 우선적으로 라우팅되도록 지정할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -189,11 +189,12 @@ spec: ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스 토폴로지 활성화하기](/docs/tasks/administer-cluster/enabling-service-topology)를 읽는다. * [서비스와 애플리케이션 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)를 읽는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/services-networking/service.md b/content/ko/docs/concepts/services-networking/service.md index c81309709f..e1e0d28c7c 100644 --- a/content/ko/docs/concepts/services-networking/service.md +++ b/content/ko/docs/concepts/services-networking/service.md @@ -5,14 +5,14 @@ feature: description: > 쿠버네티스를 사용하면 익숙하지 않은 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드-밸런스를 수행할 수 있다. -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< glossary_definition term_id="service" length="short" >}} @@ -20,9 +20,9 @@ weight: 10 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, 그것들 간에 로드-밸런스를 수행할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 동기 @@ -1226,12 +1226,13 @@ SCTP는 Windows 기반 노드를 지원하지 않는다. kube-proxy는 유저스페이스 모드에 있을 때 SCTP 연결 관리를 지원하지 않는다. {{< /warning >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스와 애플리케이션 연결](/ko/docs/concepts/services-networking/connect-applications-service/) 알아보기 * [인그레스](/ko/docs/concepts/services-networking/ingress/)에 대해 알아보기 * [엔드포인트슬라이스](/ko/docs/concepts/services-networking/endpoint-slices/)에 대해 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/dynamic-provisioning.md b/content/ko/docs/concepts/storage/dynamic-provisioning.md index 11564490ec..bf0b257dbf 100644 --- a/content/ko/docs/concepts/storage/dynamic-provisioning.md +++ b/content/ko/docs/concepts/storage/dynamic-provisioning.md @@ -1,10 +1,10 @@ --- title: 동적 볼륨 프로비저닝 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 동적 볼륨 프로비저닝을 통해 온-디맨드 방식으로 스토리지 볼륨을 생성할 수 있다. 동적 프로비저닝이 없으면 클러스터 관리자는 클라우드 또는 스토리지 @@ -14,10 +14,10 @@ weight: 40 스토리지를 사전 프로비저닝 할 필요가 없다. 대신 사용자가 스토리지를 요청하면 자동으로 프로비저닝 한다. -{{% /capture %}} -{{% capture body %}} + + ## 배경 @@ -128,4 +128,4 @@ spec: 프로비전 해야 한다. [볼륨 바인딩 모드](/docs/concepts/storage/storage-classes/#volume-binding-mode)를 설정해서 수행할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/persistent-volumes.md b/content/ko/docs/concepts/storage/persistent-volumes.md index b24c284ba8..397041842b 100644 --- a/content/ko/docs/concepts/storage/persistent-volumes.md +++ b/content/ko/docs/concepts/storage/persistent-volumes.md @@ -5,18 +5,18 @@ feature: description: > 로컬 스토리지, GCPAWS와 같은 퍼블릭 클라우드 공급자 또는 NFS, iSCSI, Gluster, Ceph, Cinder나 Flocker와 같은 네트워크 스토리지 시스템에서 원하는 스토리지 시스템을 자동으로 마운트한다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스의 _퍼시스턴트 볼륨_ 의 현재 상태를 설명한다. [볼륨](/ko/docs/concepts/storage/volumes/)에 대해 익숙해지는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -741,8 +741,9 @@ spec: 않거나(이 경우 사용자가 일치하는 PV를 생성해야 함), 클러스터에 스토리지 시스템이 없음을 나타낸다(이 경우 사용자는 PVC가 필요한 구성을 배포할 수 없음). -{{% /capture %}} - {{% capture whatsnext %}} + + ## {{% heading "whatsnext" %}} + * [퍼시스턴트볼륨 생성](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolume)에 대해 자세히 알아보기 * [퍼시스턴트볼륨클레임 생성](/docs/tasks/configure-pod-container/configure-persistent-volume-storage/#create-a-persistentvolumeclaim)에 대해 자세히 알아보기 @@ -754,4 +755,4 @@ spec: * [PersistentVolumeSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumespec-v1-core) * [퍼시스턴트볼륨클레임](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaim-v1-core) * [PersistentVolumeClaimSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#persistentvolumeclaimspec-v1-core) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/storage-classes.md b/content/ko/docs/concepts/storage/storage-classes.md index 0d7416e72a..e73d886ef7 100644 --- a/content/ko/docs/concepts/storage/storage-classes.md +++ b/content/ko/docs/concepts/storage/storage-classes.md @@ -1,18 +1,18 @@ --- title: 스토리지 클래스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서는 쿠버네티스의 스토리지클래스의 개념을 설명한다. [볼륨](/ko/docs/concepts/storage/volumes/)과 [퍼시스턴트 볼륨](/ko/docs/concepts/storage/persistent-volumes)에 익숙해지는 것을 권장한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -816,4 +816,4 @@ volumeBindingMode: WaitForFirstConsumer 적절한 퍼시스턴트볼륨을 선택할 때 파드의 모든 스케줄링 제약 조건을 고려할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-pvc-datasource.md b/content/ko/docs/concepts/storage/volume-pvc-datasource.md index b58b882d6d..8b8e1b484f 100644 --- a/content/ko/docs/concepts/storage/volume-pvc-datasource.md +++ b/content/ko/docs/concepts/storage/volume-pvc-datasource.md @@ -1,18 +1,18 @@ --- title: CSI 볼륨 복제하기 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서에서는 쿠버네티스의 기존 CSI 볼륨 복제의 개념을 설명한다. [볼륨] (/ko/docs/concepts/storage/volumes)을 숙지하는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -66,4 +66,4 @@ spec: 새 PVC를 사용할 수 있게 되면, 복제된 PVC는 다른 PVC와 동일하게 소비된다. 또한, 이 시점에서 새롭게 생성된 PVC는 독립된 오브젝트이다. 원본 dataSource PVC와는 무관하게 독립적으로 소비하고, 복제하고, 스냅샷의 생성 또는 삭제를 할 수 있다. 이는 소스가 새롭게 생성된 복제본에 어떤 방식으로든 연결되어 있지 않으며, 새롭게 생성된 복제본에 영향 없이 수정하거나, 삭제할 수도 있는 것을 의미한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-snapshot-classes.md b/content/ko/docs/concepts/storage/volume-snapshot-classes.md index f4d2991238..801ff624bb 100644 --- a/content/ko/docs/concepts/storage/volume-snapshot-classes.md +++ b/content/ko/docs/concepts/storage/volume-snapshot-classes.md @@ -1,19 +1,19 @@ --- title: 볼륨 스냅샷 클래스 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 문서는 쿠버네티스의 `VolumeSnapshotClass` 개요를 설명한다. [볼륨 스냅샷](/docs/concepts/storage/volume-snapshots/)과 [스토리지 클래스](/docs/concepts/storage/storage-classes)의 숙지를 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -62,4 +62,4 @@ parameters: 설명하는 파라미터를 가지고 있다. `driver` 에 따라 다른 파라미터를 사용할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volume-snapshots.md b/content/ko/docs/concepts/storage/volume-snapshots.md index 60ad22c7cc..d2d85909e1 100644 --- a/content/ko/docs/concepts/storage/volume-snapshots.md +++ b/content/ko/docs/concepts/storage/volume-snapshots.md @@ -1,18 +1,18 @@ --- title: 볼륨 스냅샷 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.17" state="beta" >}} 쿠버네티스에서 스토리지 시스템 볼륨 스냅샷은 _VolumeSnapshot_ 을 나타낸다. 이 문서는 이미 쿠버네티스 [퍼시스턴트 볼륨](/docs/concepts/storage/persistent-volumes/)에 대해 잘 알고 있다고 가정한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -148,4 +148,4 @@ spec: 보다 자세한 사항은 [볼륨 스냅샷 및 스냅샷에서 볼륨 복원](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support)에서 확인할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/storage/volumes.md b/content/ko/docs/concepts/storage/volumes.md index eb63215bb5..a5a3e8aa23 100644 --- a/content/ko/docs/concepts/storage/volumes.md +++ b/content/ko/docs/concepts/storage/volumes.md @@ -1,10 +1,10 @@ --- title: 볼륨 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생한다. 첫째, 컨테이너가 충돌되면, @@ -15,10 +15,10 @@ kubelet은 컨테이너를 재시작시키지만, 컨테이너는 깨끗한 상 [파드](/ko/docs/concepts/workloads/pods/pod/)에 대해 익숙해지는 것을 추천한다. -{{% /capture %}} -{{% capture body %}} + + ## 배경 @@ -1470,6 +1470,7 @@ sudo systemctl restart docker -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [퍼시스턴트 볼륨과 함께 워드프레스와 MySQL 배포하기](/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/)의 예시를 따른다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/cron-jobs.md b/content/ko/docs/concepts/workloads/controllers/cron-jobs.md index b06881c53f..54d15ba050 100644 --- a/content/ko/docs/concepts/workloads/controllers/cron-jobs.md +++ b/content/ko/docs/concepts/workloads/controllers/cron-jobs.md @@ -1,10 +1,10 @@ --- title: 크론잡 -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.8" state="beta" >}} @@ -28,8 +28,8 @@ kube-controller-manager 컨테이너에 설정된 시간대는 크론잡 컨트 63자라는 제약 조건이 있기 때문이다. -{{% /capture %}} -{{% capture body %}} + + ## 크론잡 @@ -77,12 +77,13 @@ Cannot determine if job needs to be started. Too many missed start time (> 100). 크론 잡은 오직 그 일정에 맞는 잡 생성에 책임이 있고, 잡은 그 잡이 대표하는 파드 관리에 책임이 있다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [크론 표현 포맷](https://pkg.go.dev/github.com/robfig/cron?tab=doc#hdr-CRON_Expression_Format)은 크론잡 `schedule` 필드의 포맷을 문서화 한다. 크론 잡 생성과 작업에 대한 지침과 크론잡 매니페스트의 예는 [크론 잡으로 자동화된 작업 실행하기](/docs/tasks/job/automated-tasks-with-cron-jobs/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/daemonset.md b/content/ko/docs/concepts/workloads/controllers/daemonset.md index 91fbeb8cf8..23b27f3f4f 100644 --- a/content/ko/docs/concepts/workloads/controllers/daemonset.md +++ b/content/ko/docs/concepts/workloads/controllers/daemonset.md @@ -1,10 +1,10 @@ --- title: 데몬셋 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + _데몬셋_ 은 모든(또는 일부) 노드가 파드의 사본을 실행하도록 한다. 노드가 클러스터에 추가되면 파드도 추가된다. 노드가 클러스터에서 제거되면 해당 파드는 가비지(garbage)로 @@ -20,10 +20,10 @@ _데몬셋_ 은 모든(또는 일부) 노드가 파드의 사본을 실행하도 더 복잡한 구성에서는 단일 유형의 데몬에 여러 데몬셋을 사용할 수 있지만, 각기 다른 하드웨어 유형에 따라 서로 다른 플래그, 메모리, CPU 요구가 달라진다. -{{% /capture %}} -{{% capture body %}} + + ## 데몬셋 사양 작성 @@ -226,4 +226,4 @@ Kubelet이 감시하는 특정 디렉토리에 파일을 작성하는 파드를 디플로이먼트를 사용한다. 파드 사본이 항상 모든 호스트 또는 특정 호스트에서 실행되는 것이 중요하고, 다른 파드의 실행 이전에 필요한 경우에는 데몬셋을 사용한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/deployment.md b/content/ko/docs/concepts/workloads/controllers/deployment.md index ab730109d5..96f41dc186 100644 --- a/content/ko/docs/concepts/workloads/controllers/deployment.md +++ b/content/ko/docs/concepts/workloads/controllers/deployment.md @@ -5,11 +5,11 @@ feature: description: > 쿠버네티스는 애플리케이션 또는 애플리케이션의 설정 변경시 점진적으로 롤아웃하는 동시에 애플리케이션을 모니터링해서 모든 인스턴스가 동시에 종료되지 않도록 보장한다. 만약 어떤 문제가 발생하면 쿠버네티스는 변경 사항을 롤백한다. 성장하는 디플로이먼트 솔루션 생태계를 이용한다. -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + _디플로이먼트_ 는 [파드](/ko/docs/concepts/workloads/pods/pod/)와 [레플리카셋](/ko/docs/concepts/workloads/controllers/replicaset/)에 대한 선언적 업데이트를 제공한다. @@ -20,10 +20,10 @@ _디플로이먼트_ 는 [파드](/ko/docs/concepts/workloads/pods/pod/)와 디플로이먼트가 소유하는 레플리카셋은 관리하지 말아야 한다. 사용자의 유스케이스가 다음에 포함되지 않는 경우 쿠버네티스 리포지터리에 이슈를 올릴 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## 유스케이스 @@ -1165,4 +1165,4 @@ API 버전 `apps/v1` 에서는 `.spec.selector` 와 `.metadata.labels` 이 설 일시 중지된 디플로이먼트는 PodTemplateSpec에 대한 변경 사항이 일시중지 된 경우 새 롤아웃을 트리거 하지 않는다. 디플로이먼트는 생성시 기본적으로 일시 중지되지 않는다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/garbage-collection.md b/content/ko/docs/concepts/workloads/controllers/garbage-collection.md index 9ccc803dce..f819614a6c 100644 --- a/content/ko/docs/concepts/workloads/controllers/garbage-collection.md +++ b/content/ko/docs/concepts/workloads/controllers/garbage-collection.md @@ -1,18 +1,18 @@ --- title: 가비지(Garbage) 수집 -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 쿠버네티스의 가비지 수집기는 한때 소유자가 있었지만, 더 이상 소유자가 없는 오브젝트들을 삭제하는 역할을 한다. -{{% /capture %}} -{{% capture body %}} + + ## 소유자(owner)와 종속(dependent) @@ -168,15 +168,16 @@ kubectl delete replicaset my-repset --cascade=false [#26120](https://github.com/kubernetes/kubernetes/issues/26120)을 추적한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [디자인 문서 1](https://git.k8s.io/community/contributors/design-proposals/api-machinery/garbage-collection.md) [디자인 문서 2](https://git.k8s.io/community/contributors/design-proposals/api-machinery/synchronous-garbage-collection.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md index 5aba53574b..f3875f181b 100644 --- a/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md +++ b/content/ko/docs/concepts/workloads/controllers/jobs-run-to-completion.md @@ -1,6 +1,6 @@ --- title: 잡 - 실행부터 완료까지 -content_template: templates/concept +content_type: concept feature: title: 배치 실행 description: > @@ -8,7 +8,7 @@ feature: weight: 70 --- -{{% capture overview %}} + 잡에서 하나 이상의 파드를 생성하고 지정된 수의 파드가 성공적으로 종료되도록 한다. 파드가 성공적으로 완료되면, 성공적으로 완료된 잡을 추적한다. 지정된 수의 @@ -21,10 +21,10 @@ weight: 70 잡을 사용하면 여러 파드를 병렬로 실행할 수도 있다. -{{% /capture %}} -{{% capture body %}} + + ## 예시 잡 실행하기 @@ -475,4 +475,4 @@ spec: [`크론잡`](/ko/docs/concepts/workloads/controllers/cron-jobs/)을 사용해서 Unix 도구인 `cron`과 유사하게 지정된 시간/일자에 실행되는 잡을 생성할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/replicaset.md b/content/ko/docs/concepts/workloads/controllers/replicaset.md index 80bcf6052b..e99bb4f7c5 100644 --- a/content/ko/docs/concepts/workloads/controllers/replicaset.md +++ b/content/ko/docs/concepts/workloads/controllers/replicaset.md @@ -1,18 +1,18 @@ --- title: 레플리카셋 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + 레플리카셋의 목적은 레플리카 파드 집합의 실행을 항상 안정적으로 유지하는 것이다. 이처럼 레플리카셋은 보통 명시된 동일 파드 개수에 대한 가용성을 보증하는데 사용한다. -{{% /capture %}} -{{% capture body %}} + + ## 레플리카셋의 작동 방식 @@ -362,4 +362,4 @@ kubectl autoscale rs frontend --max=10 --min=3 --cpu-percent=50 설명된 설정-기반의 셀렉터의 요건을 지원하지 않는다는 점을 제외하면 유사하다. 따라서 레플리카셋이 레플리케이션 컨트롤러보다 선호된다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md b/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md index 4551dc99b4..16146a45b6 100644 --- a/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md +++ b/content/ko/docs/concepts/workloads/controllers/replicationcontroller.md @@ -6,11 +6,11 @@ feature: description: > 오류가 발생한 컨테이너를 재시작하고, 노드가 죽었을 때 컨테이너를 교체하기 위해 다시 스케줄하고, 사용자 정의 상태 체크에 응답하지 않는 컨테이너를 제거하며, 서비스를 제공할 준비가 될 때까지 클라이언트에 해당 컨테이너를 알리지 않는다. -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + {{< note >}} [`ReplicaSet`](/ko/docs/concepts/workloads/controllers/replicaset/) 을 구성하는 [`Deployment`](/ko/docs/concepts/workloads/controllers/deployment/) 가 현재 권장되는 레플리케이션 설정 방법이다. @@ -20,10 +20,10 @@ _레플리케이션 컨트롤러_ 는 언제든지 지정된 수의 파드 레 실행 중임을 보장한다. 다시 말하면, 레플리케이션 컨트롤러는 파드 또는 동일 종류의 파드의 셋이 항상 기동되고 사용 가능한지 확인한다. -{{% /capture %}} -{{% capture body %}} + + ## 레플리케이션 컨트롤러의 동작방식 @@ -282,4 +282,4 @@ API 오브젝트에 대한 더 자세한 것은 [스테이트리스 애플리케이션 레플리케이션 컨트롤러 실행하기](/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/) 를 참조하라. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/statefulset.md b/content/ko/docs/concepts/workloads/controllers/statefulset.md index e83c02b50d..1779ea4f92 100644 --- a/content/ko/docs/concepts/workloads/controllers/statefulset.md +++ b/content/ko/docs/concepts/workloads/controllers/statefulset.md @@ -1,17 +1,17 @@ --- title: 스테이트풀셋 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 스테이트풀셋은 애플리케이션의 스테이트풀을 관리하는데 사용하는 워크로드 API 오브젝트이다. {{< glossary_definition term_id="statefulset" length="all" >}} -{{% /capture %}} -{{% capture body %}} + + ## 스테이트풀셋 사용 @@ -262,12 +262,13 @@ web-0이 실패할 경우 web-1은 web-0이 Running 및 Ready 상태가 실행하려고 시도한 모든 파드를 삭제해야 한다. 그러면 스테이트풀셋은 되돌린 템플릿을 사용해서 파드를 다시 생성하기 시작 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [스테이트풀 애플리케이션의 배포](/ko/docs/tutorials/stateful-application/basic-stateful-set/)의 예시를 따른다. * [카산드라와 스테이트풀셋 배포](/ko/docs/tutorials/stateful-application/cassandra/)의 예시를 따른다. * [레플리케이티드(replicated) 스테이트풀 애플리케이션 실행하기](/docs/tasks/run-application/run-replicated-stateful-application/)의 예시를 따른다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md b/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md index aefccc9243..c095dd31c5 100644 --- a/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md +++ b/content/ko/docs/concepts/workloads/controllers/ttlafterfinished.md @@ -1,10 +1,10 @@ --- title: 완료된 리소스를 위한 TTL 컨트롤러 -content_template: templates/concept +content_type: concept weight: 65 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="alpha" >}} @@ -18,12 +18,12 @@ TTL 컨트롤러는 실행이 완료된 리소스 오브젝트의 수명을 [기능 게이트](/docs/reference/command-line-tools-reference/feature-gates/) 로 `TTLAfterFinished` 를 활성화 할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## TTL 컨트롤러 @@ -75,12 +75,13 @@ TTL 컨트롤러는 쿠버네티스 리소스에 에서 NTP를 실행해야 한다. 시계가 항상 정확한 것은 아니지만, 그 차이는 아주 작아야 한다. 0이 아닌 TTL을 설정할때는 이 위험에 대해 유의해야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [자동으로 잡 정리](/ko/docs/concepts/workloads/controllers/jobs-run-to-completion/#완료된-잡을-자동으로-정리) [디자인 문서](https://github.com/kubernetes/enhancements/blob/master/keps/sig-apps/0026-ttl-after-finish.md) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/disruptions.md b/content/ko/docs/concepts/workloads/pods/disruptions.md index d2c91e3ecb..bd2f2023af 100644 --- a/content/ko/docs/concepts/workloads/pods/disruptions.md +++ b/content/ko/docs/concepts/workloads/pods/disruptions.md @@ -1,10 +1,10 @@ --- title: 중단(disruption) -content_template: templates/concept +content_type: concept weight: 60 --- -{{% capture overview %}} + 이 가이드는 고가용성 애플리케이션을 구성하려는 소유자와 파드에서 발생하는 장애 유형을 이해하기 원하는 애플리케이션 소유자를 위한 것이다. @@ -12,10 +12,10 @@ weight: 60 또한 클러스터의 업그레이드와 오토스케일링과 같은 클러스터의 자동화 작업을 하려는 관리자를 위한 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 자발적 중단과 비자발적 중단 @@ -242,13 +242,14 @@ Pod Disruption Budgets를 사용할 필요가 없다. 자발적 중단를 허용하는 작업의 대부분은 오토스케일링과 비자발적 중단를 지원하는 작업과 겹친다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Pod Disruption Budget 설정하기](/docs/tasks/run-application/configure-pdb/)의 단계를 따라서 애플리케이션을 보호한다. * [노드 비우기](/docs/tasks/administer-cluster/safely-drain-node/)에 대해 자세히 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md b/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md index dd061e5130..721405614c 100644 --- a/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md +++ b/content/ko/docs/concepts/workloads/pods/ephemeral-containers.md @@ -1,10 +1,10 @@ --- title: 임시(Ephemeral) 컨테이너 -content_template: templates/concept +content_type: concept weight: 80 --- -{{% capture overview %}} + {{< feature-state state="alpha" for_k8s_version="v1.16" >}} @@ -19,9 +19,9 @@ weight: 80 이 알파 기능은 향후 크게 변경되거나, 완전히 제거될 수 있다. {{< /warning >}} -{{% /capture %}} -{{% capture body %}} + + ## 임시 컨테이너 이해하기 @@ -188,4 +188,4 @@ Ephemeral Containers: kubectl attach -it example-pod -c debugger ``` -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/init-containers.md b/content/ko/docs/concepts/workloads/pods/init-containers.md index c45d3cc838..728074cbf1 100644 --- a/content/ko/docs/concepts/workloads/pods/init-containers.md +++ b/content/ko/docs/concepts/workloads/pods/init-containers.md @@ -1,19 +1,19 @@ --- title: 초기화 컨테이너 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 이 페이지는 초기화 컨테이너에 대한 개요를 제공한다. 초기화 컨테이너는 {{< glossary_tooltip text="파드" term_id="pod" >}}의 앱 컨테이너들이 실행되기 전에 실행되는 특수한 컨테이너이며, 앱 이미지에는 없는 유틸리티 또는 설정 스크립트 등을 포함할 수 있다. 초기화 컨테이너는 `containers` 배열(앱 컨테이너를 기술하는)과 나란히 파드 스펙에 명시할 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 초기화 컨테이너 이해하기 @@ -314,12 +314,13 @@ myapp-pod 1/1 Running 0 9m 동안 종료되었다. 그리고 초기화 컨테이너의 완료 기록이 가비지 수집 때문에 유실되었다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [초기화 컨테이너를 가진 파드 생성하기](/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container) * [초기화 컨테이너 디버깅](/docs/tasks/debug-application-cluster/debug-init-containers/) 알아보기 -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md b/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md index e29e358d97..e8e384a4ab 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/ko/docs/concepts/workloads/pods/pod-lifecycle.md @@ -1,20 +1,20 @@ --- title: 파드 라이프사이클 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + {{< comment >}}Updated: 4/14/2015{{< /comment >}} {{< comment >}}Edited and moved to Concepts section: 2/2/17{{< /comment >}} 이 페이지는 파드의 라이프사이클을 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 파드의 단계(phase) @@ -388,10 +388,11 @@ spec: * 노드 컨트롤러가 파드의 `phase`를 Failed로 설정한다. * 만약 컨트롤러로 실행되었다면, 파드는 어딘가에서 재생성된다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * Hands-on 경험하기 [컨테이너 라이프사이클 이벤트에 핸들러 부착하기](/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/). @@ -401,6 +402,6 @@ spec: * [컨테이너 라이프사이클 후크(hook)](/ko/docs/concepts/containers/container-lifecycle-hooks/)에 대해 더 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-overview.md b/content/ko/docs/concepts/workloads/pods/pod-overview.md index e1239a817e..5b2af22d73 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-overview.md +++ b/content/ko/docs/concepts/workloads/pods/pod-overview.md @@ -1,18 +1,18 @@ --- title: 파드(Pod) 개요 -content_template: templates/concept +content_type: concept weight: 10 card: name: concepts weight: 60 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 객체 모델 중 가장 작은 배포 가능한 객체인 `파드` 에 대한 개요를 제공한다. -{{% /capture %}} -{{% capture body %}} + + ## 파드에 대해 이해하기 *파드* 는 쿠버네티스 애플리케이션의 기본 실행 단위이다. 쿠버네티스 객체 모델 중 만들고 배포할 수 있는 가장 작고 간단한 단위이다. 파드는 {{< glossary_tooltip term_id="cluster" text="클러스터" >}} 에서의 Running 프로세스를 나타낸다. @@ -104,12 +104,13 @@ metadata: 노드에서 "kubelet"이 파드 템플릿과 업데이트에 관련된 세부 정보를 직접 관찰하거나 관리하지 않으며, 이러한 세부 정보는 추상화되지 않는다. 이러한 추상화와 분리는 시스템 시맨틱을 단순화하며, 기존 코드를 변경하지 않고 클러스터의 동작을 확장할 수 있도록 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드](/ko/docs/concepts/workloads/pods/pod/)에 대해 더 배워보자. * [분산 시스템 툴킷: 복합 컨테이너의 패턴](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)은 둘 이상의 컨테이너가 있는 파드의 공통 레이아웃에 대해 설명한다. * 파드의 동작에 대해 더 알아보자. * [파드 종료](/ko/docs/concepts/workloads/pods/pod/#파드의-종료) * [파드 라이프사이클](/ko/docs/concepts/workloads/pods/pod-lifecycle/) -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md b/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md index 040a228d70..d7cc7d545b 100644 --- a/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md +++ b/content/ko/docs/concepts/workloads/pods/pod-topology-spread-constraints.md @@ -1,18 +1,18 @@ --- title: 파드 토폴로지 분배 제약 조건 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 사용자는 _토폴로지 분배 제약 조건_ 을 사용해서 지역, 영역, 노드 그리고 기타 사용자-정의 토폴로지 도메인과 같이 장애-도메인으로 설정된 클러스터에 걸쳐 파드가 분산되는 방식을 제어할 수 있다. 이를 통해 고가용성뿐만 아니라, 효율적인 리소스 활용의 목적을 이루는 데 도움이 된다. -{{% /capture %}} -{{% capture body %}} + + ## 필수 구성 요소 @@ -245,4 +245,4 @@ profiles: - 디플로이먼트를 스케일링 다운하면 그 결과로 파드의 분포가 불균형이 될 수 있다. - 파드와 일치하는 테인트(taint)가 된 노드가 존중된다. [이슈 80921](https://github.com/kubernetes/kubernetes/issues/80921)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/pod.md b/content/ko/docs/concepts/workloads/pods/pod.md index b4c7e63fbe..9f7d06d091 100644 --- a/content/ko/docs/concepts/workloads/pods/pod.md +++ b/content/ko/docs/concepts/workloads/pods/pod.md @@ -1,15 +1,15 @@ --- title: 파드 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + _파드_ 는 쿠버네티스에서 생성되고 관리될 수 있는 배포 가능한 최소 컴퓨팅 단위이다. -{{% /capture %}} -{{% capture body %}} + + ## 파드는 무엇인가? _파드_ 는 (고래 떼(pod of whales)나 콩꼬투리(pea pod)와 마찬가지로) 하나 이상의(도커 컨테이너 같은) 컨테이너 그룹이다. @@ -203,4 +203,4 @@ spec.containers[0].securityContext.privileged: forbidden '<*>(0xc20b222db0)true' 파드 오브젝트에 대한 매니페스트를 생성할때는 지정된 이름이 유효한 [DNS 서브도메인 이름](/ko/docs/concepts/overview/working-with-objects/names/#dns-서브도메인-이름들)인지 확인해야 한다. -{{% /capture %}} + diff --git a/content/ko/docs/concepts/workloads/pods/podpreset.md b/content/ko/docs/concepts/workloads/pods/podpreset.md index 97ed144f68..4b37e0c232 100644 --- a/content/ko/docs/concepts/workloads/pods/podpreset.md +++ b/content/ko/docs/concepts/workloads/pods/podpreset.md @@ -1,19 +1,19 @@ --- title: 파드 프리셋 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="alpha" >}} 이 페이지는 파드프리셋(PodPreset)에 대한 개요를 제공한다. 파드프리셋은 파드 생성 시간에 파드에 특정 정보를 주입하기 위한 오브젝트이다. 해당 정보에는 시크릿, 볼륨, 볼륨 마운트, 환경 변수가 포함될 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 파드 프리셋 이해하기 파드프리셋은 파드 생성 시간에 파드에 추가적인 런타임 요구사항을 @@ -79,12 +79,13 @@ weight: 50 있을 것이다. 이 경우에는, 다음과 같은 양식으로 어노테이션을 파드 스펙에 추가한다. `podpreset.admission.kubernetes.io/exclude: "true"`. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [파드프리셋을 사용하여 파드에 데이터 주입하기](/docs/tasks/inject-data-application/podpreset/)를 본다. 배경에 대한 자세한 정보를 위해서는, [파드프리셋을 위한 디자인 제안](https://git.k8s.io/community/contributors/design-proposals/service-catalog/pod-preset.md)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/_index.md b/content/ko/docs/contribute/_index.md index f059747769..9dd0b23cd3 100644 --- a/content/ko/docs/contribute/_index.md +++ b/content/ko/docs/contribute/_index.md @@ -1,5 +1,5 @@ --- -content_template: templates/concept +content_type: concept title: 쿠버네티스 문서에 기여하기 linktitle: 기여 main_menu: true @@ -10,7 +10,7 @@ card: title: 기여 시작하기 --- -{{% capture overview %}} + 이 웹사이트는 [쿠버네티스 SIG Docs](/docs/contribute/#get-involved-with-sig-docs)에 의해서 관리됩니다. @@ -23,9 +23,9 @@ card: 쿠버네티스 문서는 새롭고 경험이 풍부한 모든 기여자의 개선을 환영합니다! -{{% /capture %}} -{{% capture body %}} + + ## 시작하기 @@ -75,4 +75,4 @@ SIG Docs는 여러가지 방법으로 의견을 나누고 있습니다. - [기여자 치트시트](https://github.com/kubernetes/community/tree/master/contributors/guide/contributor-cheatsheet)를 읽고 쿠버네티스 기능 개발에 참여합니다. - [블로그 게시물 또는 사례 연구](/docs/contribute/new-content/blogs-case-studies/)를 제출합니다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/advanced.md b/content/ko/docs/contribute/advanced.md index de723b3353..3f30f6eff9 100644 --- a/content/ko/docs/contribute/advanced.md +++ b/content/ko/docs/contribute/advanced.md @@ -1,11 +1,11 @@ --- title: 고급 기여 slug: advanced -content_template: templates/concept +content_type: concept weight: 98 --- -{{% capture overview %}} + 이 페이지에서는 당신이 [새로운 콘텐츠에 기여](/ko/docs/contribute/new-content/overview)하고 @@ -13,9 +13,9 @@ weight: 98 이해한다고 가정한다. 또한 기여하기 위한 더 많은 방법에 대해 배울 준비가 되었다고 가정한다. 이러한 작업 중 일부에는 Git 커맨드 라인 클라이언트와 다른 도구를 사용해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 일주일 동안 PR 랭글러(Wrangler) 되기 @@ -245,4 +245,4 @@ SIG Docs [승인자](/ko/docs/contribute/participating/#승인자)는 SIG Docs 비디오가 자동으로 유튜브에 업로드된다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/localization_ko.md b/content/ko/docs/contribute/localization_ko.md index af2465ac6a..a7c52219e5 100644 --- a/content/ko/docs/contribute/localization_ko.md +++ b/content/ko/docs/contribute/localization_ko.md @@ -1,16 +1,16 @@ --- title: 쿠버네티스 문서 한글화 가이드 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서 한글화를 위한 가이드 -{{% /capture %}} -{{% capture body %}} + + ## 문체 가이드 @@ -67,7 +67,7 @@ content_template: templates/concept + + + title: 쿠버네티스 컴포넌트 -content_template: templates/concept +content_type: concept weight: 10 ``` @@ -414,4 +414,4 @@ Worker | 워커 | 노드의 형태에 한함 Workload | 워크로드 | YAML | YAML | -{{% /capture %}} + diff --git a/content/ko/docs/contribute/new-content/open-a-pr.md b/content/ko/docs/contribute/new-content/open-a-pr.md index 17ea3342c1..6f01e04135 100644 --- a/content/ko/docs/contribute/new-content/open-a-pr.md +++ b/content/ko/docs/contribute/new-content/open-a-pr.md @@ -1,14 +1,14 @@ --- title: 풀 리퀘스트 열기 slug: new-content -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 40 --- -{{% capture overview %}} + {{< note >}} **코드 개발자**: 향후 쿠버네티스 릴리스의 @@ -22,9 +22,9 @@ card: 변경 사항이 많으면, [로컬 포크에서 작업하기](#fork-the-repo)를 읽고 컴퓨터에서 로컬로 변경하는 방법을 배운다. -{{% /capture %}} -{{% capture body %}} + + ## GitHub을 사용하여 변경하기 @@ -475,10 +475,11 @@ PR에 여러 커밋이 있는 경우, PR을 병합하기 전에 해당 커밋을 느낌을 얻으려면 열린 이슈와 PR을 살펴보자. 이슈나 PR을 제출할 때 가능한 한 상세하게 템플릿의 내용을 작성한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - 리뷰 프로세스에 대한 자세한 내용은 [리뷰하기](/ko/docs/contribute/reviewing/revewing-prs)를 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/new-content/overview.md b/content/ko/docs/contribute/new-content/overview.md index ca1bc10737..f53f1f62b6 100644 --- a/content/ko/docs/contribute/new-content/overview.md +++ b/content/ko/docs/contribute/new-content/overview.md @@ -1,19 +1,19 @@ --- title: 새로운 콘텐츠 기여하기에 대한 개요 linktitle: 개요 -content_template: templates/concept +content_type: concept main_menu: true weight: 5 --- -{{% capture overview %}} + 이 섹션에는 새로운 콘텐츠를 기여하기 전에 알아야 할 정보가 있다. -{{% /capture %}} -{{% capture body %}} + + ## 기여하기에 대한 기본 @@ -55,4 +55,4 @@ CLA에 서명하지 않은 기여자의 풀 리퀘스트(pull request)는 자동 PR 당 하나의 언어로 풀 리퀘스트를 제한한다. 여러 언어로 동일한 코드 샘플을 동일하게 변경해야 하는 경우 각 언어마다 별도의 PR을 연다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/participating.md b/content/ko/docs/contribute/participating.md index 401c91844e..8f9cb0b5f6 100644 --- a/content/ko/docs/contribute/participating.md +++ b/content/ko/docs/contribute/participating.md @@ -1,13 +1,13 @@ --- title: SIG Docs에 참여하기 -content_template: templates/concept +content_type: concept weight: 60 card: name: contribute weight: 60 --- -{{% capture overview %}} + SIG Docs는 쿠버네티스 프로젝트의 [분과회(special interest group)](https://github.com/kubernetes/community/blob/master/sig-list.md) @@ -30,9 +30,9 @@ SIG Docs는 모든 컨트리뷰터의 콘텐츠와 리뷰를 환영한다. 문서를 관리하는 책임을 가지는 SIG Docs에서, 이런 체계가 작동하는 특유의 방식에 대한 윤곽을 잡아보겠다. -{{% /capture %}} -{{% capture body %}} + + ## 역할과 책임 @@ -302,9 +302,10 @@ PR 소유자에게 조언하는데 활용된다. [PR Wrangler](/docs/contribute/advanced#be-the-pr-wrangler-for-a-week) 또는 [SIG Docs 의장](#sig-docs-의장)과 같은 특정 역할도 수행한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 쿠버네티스 문서화에 기여하는 일에 대한 보다 많은 정보는 다음 문서를 참고한다. @@ -312,5 +313,5 @@ PR 소유자에게 조언하는데 활용된다. - [컨텐츠 검토하기](/docs/contribute/review/reviewing-prs) - [문서 스타일 가이드](/docs/contribute/style/) -{{% /capture %}} + diff --git a/content/ko/docs/contribute/review/_index.md b/content/ko/docs/contribute/review/_index.md index a79fb6129f..161dcc8511 100644 --- a/content/ko/docs/contribute/review/_index.md +++ b/content/ko/docs/contribute/review/_index.md @@ -3,12 +3,12 @@ title: 변경 사항 리뷰하기 weight: 30 --- -{{% capture overview %}} + 이 섹션은 콘텐츠를 리뷰하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture body %}} -{{% /capture %}} + + + diff --git a/content/ko/docs/contribute/review/for-approvers.md b/content/ko/docs/contribute/review/for-approvers.md index 6713d5a50b..9b6c01d739 100644 --- a/content/ko/docs/contribute/review/for-approvers.md +++ b/content/ko/docs/contribute/review/for-approvers.md @@ -2,11 +2,11 @@ title: 승인자와 리뷰어의 리뷰 linktitle: 승인자와 리뷰어용 slug: for-approvers -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + SIG Docs [리뷰어](/ko/docs/contribute/participating/#리뷰어)와 [승인자](/ko/docs/contribute/participating/#승인자)는 변경 사항을 리뷰할 때 몇 가지 추가 작업을 수행한다. @@ -19,10 +19,10 @@ SIG Docs [리뷰어](/ko/docs/contribute/participating/#리뷰어)와 [승인자 로테이션 외에도, 봇은 영향을 받는 파일의 소유자를 기반으로 PR에 대한 리뷰어와 승인자를 할당한다. -{{% /capture %}} -{{% capture body %}} + + ## PR 리뷰 @@ -224,4 +224,4 @@ https://github.com/kubernetes/kubernetes 에서 ``` -{{% /capture %}} + diff --git a/content/ko/docs/contribute/review/reviewing-prs.md b/content/ko/docs/contribute/review/reviewing-prs.md index c220e9599c..b7416f505a 100644 --- a/content/ko/docs/contribute/review/reviewing-prs.md +++ b/content/ko/docs/contribute/review/reviewing-prs.md @@ -1,11 +1,11 @@ --- title: 풀 리퀘스트 리뷰 -content_template: templates/concept +content_type: concept main_menu: true weight: 10 --- -{{% capture overview %}} + 누구나 문서화에 대한 풀 리퀘스트를 리뷰할 수 있다. 쿠버네티스 website 리포지터리의 [풀 리퀘스트](https://github.com/kubernetes/website/pulls) 섹션을 방문하여 열린(open) 풀 리퀘스트를 확인한다. @@ -19,9 +19,9 @@ weight: 10 [스타일 가이드](/docs/contribute/style/style-guide/)를 읽는다. - 쿠버네티스 문서화 커뮤니티의 다양한 [역할과 책임](/docs/contribute/participating/#roles-and-responsibilities)을 이해한다. -{{% /capture %}} -{{% capture body %}} + + ## 시작하기 전에 @@ -95,4 +95,4 @@ weight: 10 오타나 공백과 같은 작은 이슈의 PR인 경우, 코멘트 앞에 `nit:` 를 추가한다. 이를 통해 문서의 저자는 이슈가 긴급하지 않다는 것을 알 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/style/write-new-topic.md b/content/ko/docs/contribute/style/write-new-topic.md index 4313b3bd2f..0c8ab86fbf 100644 --- a/content/ko/docs/contribute/style/write-new-topic.md +++ b/content/ko/docs/contribute/style/write-new-topic.md @@ -1,19 +1,20 @@ --- title: 새로운 주제의 문서 작성 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 문서에서 새로운 주제를 생성하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [기여 시작하기](/docs/contribute/start/)에 설명된 대로 쿠버네티스 문서 저장소의 포크(fork)를 생성하자. -{{% /capture %}} -{{% capture steps %}} + + ## 페이지 타입 선택 @@ -159,9 +160,10 @@ kubectl create -f https://k8s.io/examples/pods/storage/gce-volume.yaml 이미지 파일을 `/images` 디렉토리에 넣는다. 기본 이미지 형식은 SVG 이다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [페이지 템플릿 사용](/docs/contribute/page-templates/))에 대해 알아보기. * [풀 리퀘스트 작성](/docs/contribute/new-content/open-a-pr/)에 대해 알아보기. -{{% /capture %}} + diff --git a/content/ko/docs/contribute/suggesting-improvements.md b/content/ko/docs/contribute/suggesting-improvements.md index ca2e8862ed..c7fe87ac07 100644 --- a/content/ko/docs/contribute/suggesting-improvements.md +++ b/content/ko/docs/contribute/suggesting-improvements.md @@ -1,14 +1,14 @@ --- title: 콘텐츠 개선 제안 slug: suggest-improvements -content_template: templates/concept +content_type: concept weight: 10 card: name: contribute weight: 20 --- -{{% capture overview %}} + 쿠버네티스 문서에 문제가 있거나, 새로운 내용에 대한 아이디어가 있으면, 이슈를 연다. [GitHub 계정](https://github.com/join)과 웹 브라우저만 있으면 된다. @@ -16,9 +16,9 @@ card: 쿠버네티스 기여자는 필요에 따라 이슈를 리뷰, 분류하고 태그를 지정한다. 다음으로, 여러분이나 다른 쿠버네티스 커뮤니티 멤버가 문제를 해결하기 위한 변경 사항이 있는 풀 리퀘스트를 연다. -{{% /capture %}} -{{% capture body %}} + + ## 이슈 열기 @@ -62,4 +62,4 @@ card: 존중한다. 예를 들어, "문서가 끔찍하다"는 도움이 되지 않거나 예의 바르지 않은 피드백이다. -{{% /capture %}} + diff --git a/content/ko/docs/home/supported-doc-versions.md b/content/ko/docs/home/supported-doc-versions.md index 69245a2f41..9bf7edfedf 100644 --- a/content/ko/docs/home/supported-doc-versions.md +++ b/content/ko/docs/home/supported-doc-versions.md @@ -1,20 +1,20 @@ --- title: 쿠버네티스 문서의 버전 지원 -content_template: templates/concept +content_type: concept card: name: about weight: 10 title: 문서의 버전 지원 --- -{{% capture overview %}} + 이 웹 사이트에는 현재 버전의 쿠버네티스와 이전 4개 버전의 쿠버네티스에 대한 문서가 포함되어 있습니다. -{{% /capture %}} -{{% capture body %}} + + ## 현재 버전 @@ -25,4 +25,4 @@ card: {{< versions-other >}} -{{% /capture %}} + diff --git a/content/ko/docs/reference/_index.md b/content/ko/docs/reference/_index.md index a9ce09b988..d9c7dcd1cf 100644 --- a/content/ko/docs/reference/_index.md +++ b/content/ko/docs/reference/_index.md @@ -3,16 +3,16 @@ title: 레퍼런스 linkTitle: "레퍼런스" main_menu: true weight: 70 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서의 본 섹션에서는 레퍼런스를 다룬다. -{{% /capture %}} -{{% capture body %}} + + ## API 레퍼런스 @@ -50,4 +50,4 @@ content_template: templates/concept 쿠버네티스 기능에 대한 설계 문서의 아카이브. [쿠버네티스 아키텍처](https://git.k8s.io/community/contributors/design-proposals/architecture/architecture.md)와 [쿠버네티스 디자인 개요](https://git.k8s.io/community/contributors/design-proposals)가 좋은 출발점이다. -{{% /capture %}} + diff --git a/content/ko/docs/reference/issues-security/security.md b/content/ko/docs/reference/issues-security/security.md index fd08a55a06..986af01cf1 100644 --- a/content/ko/docs/reference/issues-security/security.md +++ b/content/ko/docs/reference/issues-security/security.md @@ -1,14 +1,14 @@ --- title: 쿠버네티스 보안과 공개 정보 -content_template: templates/concept +content_type: concept weight: 20 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 보안 및 공개 정보를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 보안 공지 보안 및 주요 API 공지에 대한 이메일을 위해 [kubernetes-security-announce](https://groups.google.com/forum/#!forum/kubernetes-security-announce)) 그룹에 가입하세요. @@ -48,4 +48,4 @@ weight: 20 ## 공개 시기 공개 날짜는 쿠버네티스 제품 보안 위원회와 버그 제출자가 협상한다. 사용자 완화가 가능해지면 가능한 빨리 버그를 완전히 공개하는 것이 좋다. 버그 또는 픽스가 아직 완전히 이해되지 않았거나 솔루션이 제대로 테스트되지 않았거나 벤더 협력을 위해 공개를 지연시키는 것이 합리적이다. 공개 기간은 즉시(특히 이미 공개적으로 알려진 경우)부터 몇 주까지입니다. 간단한 완화 기능이 있는 취약점의 경우 보고 날짜부터 공개 날짜까지는 7일 정도 소요될 것으로 예상된다. 쿠버네티스 제품 보안 위원회는 공개 날짜를 설정할 때 최종 결정권을 갖는다. -{{% /capture %}} + diff --git a/content/ko/docs/reference/kubectl/cheatsheet.md b/content/ko/docs/reference/kubectl/cheatsheet.md index 8956d72474..e13d7f434e 100644 --- a/content/ko/docs/reference/kubectl/cheatsheet.md +++ b/content/ko/docs/reference/kubectl/cheatsheet.md @@ -1,20 +1,20 @@ --- title: kubectl 치트 시트 -content_template: templates/concept +content_type: concept card: name: reference weight: 30 --- -{{% capture overview %}} + 참고 항목: [Kubectl 개요](/docs/reference/kubectl/overview/)와 [JsonPath 가이드](/docs/reference/kubectl/jsonpath). 이 페이지는 `kubectl` 커맨드의 개요이다. -{{% /capture %}} -{{% capture body %}} + + # kubectl - 치트 시트 @@ -373,9 +373,10 @@ Kubectl 로그 상세 레벨(verbosity)은 `-v` 또는`--v` 플래그와 로그 `--v=8` | HTTP 요청 내용을 표시. `--v=9` | 내용을 잘라 내지 않고 HTTP 요청 내용을 표시. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubectl 개요](/docs/reference/kubectl/overview/)에 대해 더 배워보자. @@ -385,4 +386,4 @@ Kubectl 로그 상세 레벨(verbosity)은 `-v` 또는`--v` 플래그와 로그 * 더 많은 [kubectl 치트 시트](https://github.com/dennyzhang/cheatsheet-kubernetes-A4) 커뮤니티 확인 -{{% /capture %}} + diff --git a/content/ko/docs/reference/tools.md b/content/ko/docs/reference/tools.md index 8ca0b453f0..f9a9836bdc 100644 --- a/content/ko/docs/reference/tools.md +++ b/content/ko/docs/reference/tools.md @@ -2,14 +2,14 @@ title: 도구 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스는 쿠버네티스 시스템으로 작업하는 데 도움이되는 몇 가지 기본 제공 도구를 포함한다. -{{% /capture %}} -{{% capture body %}} + + ## Kubectl [`kubectl`](/docs/tasks/tools/install-kubectl/)은 쿠버네티스를 위한 커맨드라인 툴이며, 쿠버네티스 클러스터 매니저을 제어한다. @@ -51,4 +51,4 @@ Kompose의 용도 * 도커 컴포즈 파일을 쿠버네티스 오브젝트로 변환 * 로컬 도커 개발 환경에서 나의 애플리케이션을 쿠버네티스를 통해 관리하도록 이전 * V1 또는 V2 도커 컴포즈 `yaml` 파일 또는 [분산 애플리케이션 번들](https://docs.docker.com/compose/bundles/)을 변환 -{{% /capture %}} + diff --git a/content/ko/docs/reference/using-api/api-overview.md b/content/ko/docs/reference/using-api/api-overview.md index c6f7520d3f..5c04951f3b 100644 --- a/content/ko/docs/reference/using-api/api-overview.md +++ b/content/ko/docs/reference/using-api/api-overview.md @@ -1,6 +1,6 @@ --- title: 쿠버네티스 API 개요 -content_template: templates/concept +content_type: concept weight: 10 card: name: 레퍼런스 @@ -8,11 +8,11 @@ card: title: API 개요 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스 API에 대한 개요를 제공한다. -{{% /capture %}} -{{% capture body %}} + + REST API는 쿠버네티스의 근본적인 구조이다. 모든 조작, 컴포넌트 간의 통신과 외부 사용자의 명령은 API 서버에서 처리할 수 있는 REST API 호출이다. 따라서, 쿠버네티스 플랫폼 안의 모든 것은 API 오브젝트로 취급되고, [API](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/)에 상응하는 항목이 있다. @@ -109,6 +109,6 @@ API 버전의 차이는 수준의 안정성과 지원의 차이를 나타낸다. `--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true` 를 입력한다. {{< note >}}개별 리소스의 활성화/비활성화는 레거시 문제로 `extensions/v1beta1` API 그룹에서만 지원된다. {{< /note >}} -{{% /capture %}} + diff --git a/content/ko/docs/reference/using-api/client-libraries.md b/content/ko/docs/reference/using-api/client-libraries.md index 1ea418fd5e..4757354dca 100644 --- a/content/ko/docs/reference/using-api/client-libraries.md +++ b/content/ko/docs/reference/using-api/client-libraries.md @@ -1,15 +1,15 @@ --- title: 클라이언트 라이브러리 -content_template: templates/concept +content_type: concept weight: 30 --- -{{% capture overview %}} + 이 페이지는 다양한 프로그래밍 언어에서 쿠버네티스 API를 사용하기 위한 클라이언트 라이브러리에 대한 개요를 포함하고 있다. -{{% /capture %}} -{{% capture body %}} + + [쿠버네티스 REST API](/ko/docs/reference/using-api/api-overview/)를 사용해 애플리케이션을 작성하기 위해 API 호출 또는 요청/응답 타입을 직접 구현할 필요는 없다. 사용하고 있는 프로그래밍 언어를 위한 클라이언트 라이브러리를 사용하면 된다. @@ -72,6 +72,6 @@ Machinery](https://github.com/kubernetes/community/tree/master/sig-api-machinery | DotNet (RestSharp) | [github.com/masroorhasan/Kubernetes.DotNet](https://github.com/masroorhasan/Kubernetes.DotNet) | | Elixir | [github.com/obmarg/kazan](https://github.com/obmarg/kazan/) | | Elixir | [github.com/coryodaniel/k8s](https://github.com/coryodaniel/k8s) | -{{% /capture %}} + diff --git a/content/ko/docs/setup/_index.md b/content/ko/docs/setup/_index.md index 2e2f854220..21cd279764 100644 --- a/content/ko/docs/setup/_index.md +++ b/content/ko/docs/setup/_index.md @@ -3,7 +3,7 @@ no_issue: true title: 시작하기 main_menu: true weight: 20 -content_template: templates/concept +content_type: concept card: name: setup weight: 20 @@ -14,7 +14,7 @@ card: title: 운영 환경 --- -{{% capture overview %}} + 본 섹션에서는 쿠버네티스를 구축하고 실행하는 여러가지 옵션을 다룬다. @@ -24,9 +24,9 @@ card: 더 간단하게 정리하면, 쿠버네티스 클러스터를 학습 환경과 운영 환경에 만들 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 학습 환경 @@ -47,4 +47,4 @@ card: [쿠버네티스 파트너](https://kubernetes.io/partners/#conformance)에는 [공인 쿠버네티스](https://github.com/cncf/k8s-conformance/#certified-kubernetes) 공급자 목록이 포함되어 있다. -{{% /capture %}} + diff --git a/content/ko/docs/setup/best-practices/certificates.md b/content/ko/docs/setup/best-practices/certificates.md index b422608edd..0ce3fe2270 100644 --- a/content/ko/docs/setup/best-practices/certificates.md +++ b/content/ko/docs/setup/best-practices/certificates.md @@ -1,19 +1,19 @@ --- title: PKI 인증서 및 요구 조건 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + 쿠버네티스는 TLS 위에 인증을 위해 PKI 인증서가 필요하다. 만약 [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 쿠버네티스를 설치했다면, 클러스터에 필요한 인증서는 자동으로 생성된다. 또한 더 안전하게 자신이 소유한 인증서를 생성할 수 있다. 이를 테면, 개인키를 API 서버에 저장하지 않으므로 더 안전하게 보관할 수 있다. 이 페이지는 클러스터에 필요한 인증서를 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터에서 인증서는 어떻게 이용되나? @@ -162,4 +162,4 @@ KUBECONFIG= kubectl config use-context default-system [kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/ [proxy]: /docs/tasks/access-kubernetes-api/configure-aggregation-layer/ -{{% /capture %}} + diff --git a/content/ko/docs/setup/best-practices/multiple-zones.md b/content/ko/docs/setup/best-practices/multiple-zones.md index f81c44de8b..13bdaa04a9 100644 --- a/content/ko/docs/setup/best-practices/multiple-zones.md +++ b/content/ko/docs/setup/best-practices/multiple-zones.md @@ -1,16 +1,16 @@ --- title: 여러 영역에서 구동 weight: 10 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 이 페이지는 여러 영역에서 어떻게 클러스터를 구동하는지 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 소개 @@ -397,4 +397,4 @@ KUBERNETES_PROVIDER=aws KUBE_USE_EXISTING_MASTER=true KUBE_AWS_ZONE=us-west-2b k KUBERNETES_PROVIDER=aws KUBE_AWS_ZONE=us-west-2a kubernetes/cluster/kube-down.sh ``` -{{% /capture %}} + diff --git a/content/ko/docs/setup/learning-environment/minikube.md b/content/ko/docs/setup/learning-environment/minikube.md index 08a0767754..e8d169af96 100644 --- a/content/ko/docs/setup/learning-environment/minikube.md +++ b/content/ko/docs/setup/learning-environment/minikube.md @@ -1,16 +1,16 @@ --- title: Minikube로 쿠버네티스 설치 weight: 30 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + Minikube는 쿠버네티스를 로컬에서 쉽게 실행하는 도구이다. Minikube는 매일 쿠버네티스를 사용하거나 개발하려는 사용자들을 위해 가상 머신(VM) 이나 노트북에서 단일 노드 쿠버네티스 클러스터를 실행한다. -{{% /capture %}} -{{% capture body %}} + + ## Minikube 특징 @@ -504,4 +504,4 @@ Minikube에 대한 더 자세한 정보는, [제안](https://git.k8s.io/communit 컨트리뷰션, 질문과 의견은 모두 환영하며 격려한다! Minikube 개발자는 [슬랙](https://kubernetes.slack.com)에 #minikube 채널(초청받으려면 [여기](http://slack.kubernetes.io/))에 상주하고 있다. 또한 [kubernetes-dev 구글 그룹 메일링 리스트](https://groups.google.com/forum/#!forum/kubernetes-dev)도 있다. 메일링 리스트에 포스팅한다면 제목에 "minikube: "라는 접두어를 사용하자. -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/container-runtimes.md b/content/ko/docs/setup/production-environment/container-runtimes.md index 5f0ad0bb75..f14834ff25 100644 --- a/content/ko/docs/setup/production-environment/container-runtimes.md +++ b/content/ko/docs/setup/production-environment/container-runtimes.md @@ -1,16 +1,16 @@ --- title: 컨테이너 런타임 -content_template: templates/concept +content_type: concept weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.6" state="stable" >}} 파드에서 컨테이너를 실행하기 위해 쿠버네티스는 컨테이너 런타임을 사용한다. 이 페이지는 다양한 런타임들에 대한 설치 지침을 담고 있다. -{{% /capture %}} -{{% capture body %}} + + {{< caution >}} @@ -402,4 +402,4 @@ kubeadm을 사용하는 경우에도 마찬가지로, 수동으로 자세한 정보는 [Frakti 빠른 시작 가이드](https://github.com/kubernetes/frakti#quickstart)를 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kops.md b/content/ko/docs/setup/production-environment/tools/kops.md index b9162e18ed..29716b44e1 100644 --- a/content/ko/docs/setup/production-environment/tools/kops.md +++ b/content/ko/docs/setup/production-environment/tools/kops.md @@ -1,10 +1,10 @@ --- title: Kops로 쿠버네티스 설치하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이곳 빠른 시작에서는 사용자가 얼마나 쉽게 AWS에 쿠버네티스 클러스터를 설치할 수 있는지 보여준다. [`kops`](https://github.com/kubernetes/kops)라는 이름의 툴을 이용할 것이다. @@ -18,9 +18,10 @@ kops는 자동화된 프로비저닝 시스템인데, * 고가용성 지원 - [high_availability.md](https://github.com/kubernetes/kops/blob/master/docs/operations/high_availability.md) 보기 * 직접 프로비저닝 하거나 또는 할 수 있도록 terraform 매니페스트를 생성 - [terraform.md](https://github.com/kubernetes/kops/blob/master/docs/terraform.md) 보기 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [kubectl](/docs/tasks/tools/install-kubectl/)을 반드시 설치해야 한다. @@ -28,9 +29,9 @@ kops는 자동화된 프로비저닝 시스템인데, * [AWS 계정](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html)이 있고 [IAM 키](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)를 생성하고 [구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) 해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 클러스터 구축 @@ -225,13 +226,14 @@ kops는 클러스터에 사용될 설정을 생성할것이다. 여기서 주의 * `kops delete cluster useast1.dev.example.com --yes` 로 클러스터를 삭제한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 쿠버네티스 [개념](/docs/concepts/) 과 [`kubectl`](/docs/user-guide/kubectl-overview/)에 대해 더 알아보기. * 튜토리얼, 모범사례 및 고급 구성 옵션에 대한 `kops` [고급 사용법](https://kops.sigs.k8s.io/)에 대해 더 자세히 알아본다. * 슬랙(Slack)에서 `kops` 커뮤니티 토론을 할 수 있다: [커뮤니티 토론](https://github.com/kubernetes/kops#other-ways-to-communicate-with-the-contributors) * 문제를 해결하거나 이슈를 제기하여 `kops` 에 기여한다. [깃헙 이슈](https://github.com/kubernetes/kops/issues) -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md b/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md index 7651fcc172..2e6252bf80 100644 --- a/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md +++ b/content/ko/docs/setup/production-environment/tools/kubeadm/control-plane-flags.md @@ -1,11 +1,11 @@ --- reviewers: title: kubeadm으로 컨트롤 플레인 사용자 정의하기 -content_template: templates/concept +content_type: concept weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.12" state="stable" >}} @@ -28,9 +28,9 @@ kubeadm의 `ClusterConfiguration` 오브젝트는 API 서버, 컨트롤러매니 `kubeadm config print init-defaults`를 실행하고 원하는 파일에 출력을 저장하여 기본값인 `ClusterConfiguration` 오브젝트를 생성할 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + ## APIServer 플래그 @@ -81,4 +81,4 @@ scheduler: kubeconfig: /home/johndoe/kubeconfig.yaml ``` -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md b/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md index ac6cab8aa5..dd8797785a 100644 --- a/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md +++ b/content/ko/docs/setup/production-environment/tools/kubeadm/ha-topology.md @@ -1,11 +1,11 @@ --- reviewers: title: 고가용성 토폴로지 선택 -content_template: templates/concept +content_type: concept weight: 50 --- -{{% capture overview %}} + 이 페이지는 고가용성(HA) 쿠버네티스 클러스터의 토플로지를 구성하는 두 가지 선택 사항을 설명한다. @@ -16,9 +16,9 @@ weight: 50 HA 클러스터를 구성하기 전에 각 토플로지의 장단점을 주의 깊게 고려해야 한다. -{{% /capture %}} -{{% capture body %}} + + ## 중첩된 etcd 토플로지 @@ -61,10 +61,11 @@ HA 클러스터를 구성하기 전에 각 토플로지의 장단점을 주의 ![외부 etcd 토플로지](/images/kubeadm/kubeadm-ha-topology-external-etcd.svg) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [kubeadm을 이용하여 고가용성 클러스터 구성하기](/docs/setup/production-environment/tools/kubeadm/high-availability/) -{{% /capture %}} + diff --git a/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md b/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md index 1cb79cb113..ef96bd27fb 100644 --- a/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md +++ b/content/ko/docs/setup/production-environment/windows/user-guide-windows-containers.md @@ -1,16 +1,16 @@ --- title: 쿠버네티스에서 윈도우 컨테이너 스케줄링을 위한 가이드 -content_template: templates/concept +content_type: concept weight: 75 --- -{{% capture overview %}} + 많은 조직에서 실행하는 서비스와 애플리케이션의 상당 부분이 윈도우 애플리케이션으로 구성된다. 이 가이드는 쿠버네티스에서 윈도우 컨테이너를 구성하고 배포하는 단계를 안내한다. -{{% /capture %}} -{{% capture body %}} + + ## 목표 @@ -245,6 +245,6 @@ spec: ``` -{{% /capture %}} + [RuntimeClass]: https://kubernetes.io/docs/concepts/containers/runtime-class/ diff --git a/content/ko/docs/tasks/_index.md b/content/ko/docs/tasks/_index.md index 9624c907d3..b9e161f26b 100644 --- a/content/ko/docs/tasks/_index.md +++ b/content/ko/docs/tasks/_index.md @@ -2,20 +2,20 @@ title: 태스크 main_menu: true weight: 50 -content_template: templates/concept +content_type: concept --- {{< toc >}} -{{% capture overview %}} + 쿠버네티스 문서에서 이 섹션은 개별의 태스크를 수행하는 방법을 보여준다. 한 태스크 페이지는 일반적으로 여러 단계로 이루어진 짧은 시퀀스를 제공함으로써, 하나의 일을 수행하는 방법을 보여준다. -{{% /capture %}} -{{% capture body %}} + + ## 웹 UI (대시보드) @@ -73,11 +73,12 @@ content_template: templates/concept 클러스터에서 스케줄 가능한 리소스로서 Huge Page들을 구성 및 스케줄한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 만약 태스크 페이지를 작성하고 싶다면, [문서 풀 리퀘스트(Pull Request) 생성하기](/docs/home/contribute/create-pull-request/)를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/access-cluster.md b/content/ko/docs/tasks/access-application-cluster/access-cluster.md index 2f527c4676..ded8f15aad 100644 --- a/content/ko/docs/tasks/access-application-cluster/access-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/access-cluster.md @@ -1,17 +1,17 @@ --- title: 클러스터 액세스 weight: 20 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 여기에서는 클러스터와 통신을 하는 다양한 방식에 대해서 다룰 것이다. -{{% /capture %}} -{{% capture body %}} + + ## 처음이라면 kubectl을 사용하여 액세스 @@ -376,4 +376,4 @@ redirect 기능은 deprecated되고 제거 되었다. 대신 (아래의) proxy 일반적으로 쿠버네티스 사용자들은 처음 두 타입이 아닌 다른 방식은 고려할 필요가 없지만 클러스터 관리자는 나머지 타입을 적절하게 구성해줘야 한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md b/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md index f767e6a1bc..9c70cbe8b1 100644 --- a/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md +++ b/content/ko/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume.md @@ -1,25 +1,26 @@ --- title: 공유 볼륨을 이용하여 동일한 파드의 컨테이너 간에 통신하기 -content_template: templates/task +content_type: task weight: 110 --- -{{% capture overview %}} + 이 페이지에서는 동일한 파드(Pod)에서 실행 중인 두 개의 컨테이너 간에 통신할 때에, 어떻게 볼륨(Volume)을 이용하는지 살펴본다. 컨테이너 간에 [프로세스 네임스페이스 공유하기](/docs/tasks/configure-pod-container/share-process-namespace/)를 통해 통신할 수 있는 방법을 참고하자. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 두 개의 컨테이너를 실행하는 파드 생성 @@ -108,10 +109,10 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 debian 컨테이너에서 안녕하세요 -{{% /capture %}} -{{% capture discussion %}} + + ## 토의 @@ -126,10 +127,11 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 이 예제에서 볼륨은 파드의 생명 주기 동안 컨테이너를 위한 통신 방법으로 이용했다. 파드가 삭제되고 재생성되면, 공유 볼륨에 저장된 데이터는 잃어버린다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [합성 컨테이너(composite container) 패턴](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns)에 관하여 더 공부한다. @@ -146,7 +148,7 @@ Debian 컨테이너에서 nginx 웹 서버가 호스팅하는 문서의 루트 * [파드](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#pod-v1-core)을 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md b/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md index 841a489b84..4fa9a9492a 100644 --- a/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md +++ b/content/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters.md @@ -1,6 +1,6 @@ --- title: 다중 클러스터 접근 구성 -content_template: templates/task +content_type: task weight: 30 card: name: tasks @@ -8,7 +8,7 @@ card: --- -{{% capture overview %}} + 이 페이지에서는 구성 파일을 사용하여 다수의 클러스터에 접근할 수 있도록 설정하는 방식을 보여준다. 클러스터, 사용자, 컨텍스트가 하나 이상의 @@ -21,15 +21,16 @@ card: 반드시 존재해야 한다는 것을 의미하는 것은 아니다. {{< /note >}} -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 클러스터, 사용자, 컨텍스트 정의 @@ -370,13 +371,14 @@ export KUBECONFIG=$KUBECONFIG_SAVED $Env:KUBECONFIG=$ENV:KUBECONFIG_SAVED ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [kubeconfig 파일을 사용하여 클러스터 접근 구성하기](/ko/docs/concepts/configuration/organize-cluster-access-kubeconfig/) * [kubectl config](/docs/reference/generated/kubectl/kubectl-commands#config) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md b/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md index aae42494f5..eaace61131 100644 --- a/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/configure-dns-cluster.md @@ -1,13 +1,13 @@ --- title: 클러스터의 DNS 구성하기 weight: 120 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스는 지원하는 모든 환경에서 기본으로 활성화된 DNS 클러스터 애드온을 제공한다. 쿠버네티스 1.11과 이후 버전에서는, CoreDNS가 권장되고 기본적으로 kubeadm과 함께 설치 된다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스 클러스터의 CoreDNS 설정에 대한 더 많은 정보는, [DNS 서비스 사용자화 하기](/docs/tasks/administer-cluster/dns-custom-nameservers/)을 본다. kube-dns와 함께 쿠버네티스 DNS를 사용하는 방법을 보여주는 예시는 [쿠버네티스 DNS 샘플 플러그인](https://github.com/kubernetes/examples/tree/master/staging/cluster-dns)을 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md b/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md index 318944e6b4..5a91ebd66e 100644 --- a/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md +++ b/content/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster.md @@ -1,29 +1,30 @@ --- title: 포트 포워딩을 사용해서 클러스터 내 애플리케이션에 접근하기 -content_template: templates/task +content_type: task weight: 40 min-kubernetes-server-version: v1.10 --- -{{% capture overview %}} + 이 페이지는 `kubectl port-forward` 를 사용해서 쿠버네티스 클러스터 내에서 실행중인 Redis 서버에 연결하는 방법을 보여준다. 이 유형의 연결은 데이터베이스 디버깅에 유용할 수 있다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [redis-cli](http://redis.io/topics/rediscli)를 설치한다. -{{% /capture %}} -{{% capture steps %}} + + ## Redis 디플로이먼트와 서비스 생성하기 @@ -178,10 +179,10 @@ min-kubernetes-server-version: v1.10 PONG ``` -{{% /capture %}} -{{% capture discussion %}} + + ## 토의 @@ -196,12 +197,13 @@ UDP 프로토콜에 대한 지원은 에서 추적되고 있다. {{< /note >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [kubectl port-forward](/docs/reference/generated/kubectl/kubectl-commands/#port-forward)에 대해 더 알아본다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md b/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md index 73b59d9810..23d685168c 100644 --- a/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md +++ b/content/ko/docs/tasks/access-application-cluster/web-ui-dashboard.md @@ -1,6 +1,6 @@ --- title: 웹 UI (대시보드) -content_template: templates/concept +content_type: concept weight: 10 card: name: tasks @@ -8,7 +8,7 @@ card: title: Use the Web UI Dashboard --- -{{% capture overview %}} + 대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅 할 수 있으며, 클러스터 리소스들을 관리할 수 있다. 대시보드를 통해 클러스터에서 동작중인 애플리케이션의 정보를 볼 수 있고, 개별적인 쿠버네티스 리소스들을(예를 들면 디플로이먼트, 잡, 데몬셋 등) 생성하거나 수정할 수 있다. 예를 들면, 디플로이먼트를 스케일하거나, 롤링 업데이트를 초기화하거나, 파드를 재시작하거나 또는 배포 마법사를 이용해 새로운 애플리케이션을 배포할 수 있다. @@ -16,10 +16,10 @@ card: ![Kubernetes Dashboard UI](/images/docs/ui-dashboard.png) -{{% /capture %}} -{{% capture body %}} + + ## 대시보드 UI 배포 @@ -158,11 +158,12 @@ track=stable ![Logs viewer](/images/docs/ui-dashboard-logs-view.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 더 많은 정보는 [쿠버네티스 대시보드 프로젝트 페이지](https://github.com/kubernetes/dashboard)를 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/cluster-management.md b/content/ko/docs/tasks/administer-cluster/cluster-management.md index 1fd99c0895..b84b42b7e1 100644 --- a/content/ko/docs/tasks/administer-cluster/cluster-management.md +++ b/content/ko/docs/tasks/administer-cluster/cluster-management.md @@ -1,19 +1,19 @@ --- title: 클러스터 관리 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 이 문서는 클러스터의 라이프사이클에 관련된 몇 가지 주제들을 설명한다. 신규 클러스터 생성, 클러스터의 마스터와 워커 노드들의 업그레이드, 노드 유지보수(예. 커널 업그레이드) 수행, 운영 중인 클러스터의 쿠버네티스 API 버전 업그레이드. -{{% /capture %}} -{{% capture body %}} + + ## 클러스터 생성과 설정 @@ -220,4 +220,4 @@ kubectl convert -f pod.yaml --output-version v1 옵션에 대한 상세 정보는 [kubectl convert](/docs/reference/generated/kubectl/kubectl-commands#convert) 커맨드의 사용법을 참조하기를 바란다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/highly-available-master.md b/content/ko/docs/tasks/administer-cluster/highly-available-master.md index 880f4a4992..1ecf5b15d3 100644 --- a/content/ko/docs/tasks/administer-cluster/highly-available-master.md +++ b/content/ko/docs/tasks/administer-cluster/highly-available-master.md @@ -1,26 +1,27 @@ --- reviewers: title: 고가용성 쿠버네티스 클러스터 마스터 설정하기 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.5" state="alpha" >}} 구글 컴퓨트 엔진(Google Compute Engine, 이하 GCE)의 `kube-up`이나 `kube-down` 스크립트에 쿠버네티스 마스터를 복제할 수 있다. 이 문서는 kube-up/down 스크립트를 사용하여 고가용(HA) 마스터를 관리하는 방법과 GCE와 함께 사용하기 위해 HA 마스터를 구현하는 방법에 관해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## HA 호환 클러스터 시작 @@ -117,9 +118,9 @@ HA 클러스터의 마스터 복제본 중 하나가 실패하면, 이 작업은 [여기](https://coreos.com/etcd/docs/latest/admin_guide.html#member-migration) 기술한 대로 Etcd 데이터 디렉터리를 마이그레이션하여 속도를 높일 수 있다(향후에 Etcd 데이터 디렉터리 마이그레이션 지원 추가를 고려 중이다). -{{% /capture %}} -{{% capture discussion %}} + + ## 구현 지침 @@ -172,4 +173,4 @@ etcd를 클러스터로 구축하려면, etcd 인스턴스간 통신에 필요 [자동화된 HA 마스터 배포 - 제안 문서](https://git.k8s.io/community/contributors/design-proposals/cluster-lifecycle/ha_master.md) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md b/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md index ddb7beee5d..0388e2542b 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md @@ -1,20 +1,21 @@ --- title: Windows 노드 추가 min-kubernetes-server-version: 1.17 -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 쿠버네티스를 사용하여 리눅스와 Windows 노드를 혼합하여 실행할 수 있으므로, 리눅스에서 실행되는 파드와 Windows에서 실행되는 파드를 혼합할 수 있다. 이 페이지는 Windows 노드를 클러스터에 등록하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} {{< version-check >}} + +## {{% heading "prerequisites" %}} + {{< version-check >}} * Windows 컨테이너를 호스팅하는 Windows 노드를 구성하려면 [Windows Server 2019 라이선스](https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing) 이상이 필요하다. @@ -22,18 +23,19 @@ VXLAN/오버레이 네트워킹을 사용하는 경우 [KB4489899](https://suppo * 컨트롤 플레인에 접근할 수 있는 리눅스 기반의 쿠버네티스 kubeadm 클러스터([kubeadm을 사용하여 단일 컨트롤 플레인 클러스터 생성](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 참고)가 필요하다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 클러스터에 Windows 노드 등록 * 리눅스 및 Windows의 파드와 서비스가 서로 통신할 수 있도록 네트워킹 구성 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 시작하기: 클러스터에 Windows 노드 추가 @@ -173,10 +175,11 @@ kubectl -n kube-system get pods -l app=flannel flannel 파드가 실행되면, 노드는 `Ready` 상태가 되고 워크로드를 처리할 수 있어야 한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + - [Windows kubeadm 노드 업그레이드](/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md index cc5f3c81c1..dc17eb9cdc 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md @@ -1,24 +1,25 @@ --- title: kubeadm을 사용한 인증서 관리 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.15" state="stable" >}} [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)으로 생성된 클라이언트 인증서는 1년 후에 만료된다. 이 페이지는 kubeadm으로 인증서 갱신을 관리하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [쿠버네티스의 PKI 인증서와 요구 조건](/ko/docs/setup/best-practices/certificates/)에 익숙해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 사용자 정의 인증서 사용 {#custom-certificates} @@ -240,4 +241,4 @@ CSR에는 인증서 이름, 도메인 및 IP가 포함되지만, 용도를 지 [cert-cas]: /ko/docs/setup/best-practices/certificates/#단일-루트-ca [cert-table]: /ko/docs/setup/best-practices/certificates/#모든-인증서 -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index cede5188bb..452cfb1865 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -1,11 +1,11 @@ --- title: kubeadm 클러스터 업그레이드 -content_template: templates/task +content_type: task weight: 20 min-kubernetes-server-version: 1.18 --- -{{% capture overview %}} + 이 페이지는 kubeadm으로 생성된 쿠버네티스 클러스터를 1.17.x 버전에서 1.18.x 버전으로, 1.18.x 버전에서 1.18.y(여기서 `y > x`) 버전으로 업그레이드하는 방법을 설명한다. @@ -24,9 +24,10 @@ min-kubernetes-server-version: 1.18 1. 추가 컨트롤 플레인 노드를 업그레이드한다. 1. 워커(worker) 노드를 업그레이드한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + - 1.17.0 버전 이상을 실행하는 kubeadm 쿠버네티스 클러스터가 있어야 한다. - [스왑을 비활성화해야 한다](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux). @@ -42,9 +43,9 @@ min-kubernetes-server-version: 1.18 또는 동일한 MINOR의 PATCH 버전 사이에서만 업그레이드할 수 있다. 즉, 업그레이드할 때 MINOR 버전을 건너 뛸 수 없다. 예를 들어, 1.y에서 1.y+1로 업그레이드할 수 있지만, 1.y에서 1.y+2로 업그레이드할 수는 없다. -{{% /capture %}} -{{% capture steps %}} + + ## 업그레이드할 버전 결정 @@ -393,7 +394,7 @@ kubectl get nodes 모든 노드에 대해 `STATUS` 열에 `Ready` 가 표시되어야 하고, 버전 번호가 업데이트되어 있어야 한다. -{{% /capture %}} + ## 장애 상태에서의 복구 diff --git a/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md b/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md index 63b271e1b9..779e6fe86a 100644 --- a/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md +++ b/content/ko/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md @@ -1,29 +1,30 @@ --- title: Windows 노드 업그레이드 min-kubernetes-server-version: 1.17 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.18" state="beta" >}} 이 페이지는 [kubeadm으로 생성된](/ko/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes) Windows 노드를 업그레이드하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * [남은 kubeadm 클러스터를 업그레이드하는 프로세스](/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade)에 익숙해져야 한다. Windows 노드를 업그레이드하기 전에 컨트롤 플레인 노드를 업그레이드해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 워커 노드 업그레이드 @@ -90,4 +91,4 @@ weight: 40 ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md index ed926b338f..494a09418c 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: 네임스페이스에 대한 CPU의 최소 및 최대 제약 조건 구성 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 컨테이너와 파드가 사용하는 CPU 리소스의 최솟값과 최댓값을 설정하는 방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core) @@ -13,19 +13,20 @@ weight: 40 지정한다. 리밋레인지에 의해 부과된 제약 조건을 파드가 충족하지 않으면, 네임스페이스에서 생성될 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 태스크 예제를 실행하려면 클러스터에 적어도 1 CPU 이상이 사용 가능해야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -239,9 +240,10 @@ kubectl delete pod constraints-cpu-demo-4 --namespace=constraints-cpu-example kubectl delete namespace constraints-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -266,4 +268,4 @@ kubectl delete namespace constraints-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md index 1e1850e02b..769f0bfb09 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/cpu-default-namespace.md @@ -1,10 +1,10 @@ --- title: 네임스페이스에 대한 기본 CPU 요청량과 상한 구성 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에 대한 기본 CPU 요청량(request) 및 상한(limit)을 구성하는 방법을 보여준다. 쿠버네티스 클러스터는 네임스페이스로 나눌 수 있다. 기본 CPU 상한이 있는 네임스페이스에서 @@ -12,14 +12,15 @@ weight: 20 컨테이너에 기본 CPU 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 CPU 요청량을 할당한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -162,9 +163,10 @@ CPU 상한에 대해 기본값을 설정하는 것이 좋다. kubectl delete namespace default-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -188,4 +190,4 @@ kubectl delete namespace default-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md index 080839b86a..cf3cd826f6 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-constraint-namespace.md @@ -1,11 +1,11 @@ --- title: 네임스페이스에 대한 메모리의 최소 및 최대 제약 조건 구성 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행되는 컨테이너가 사용하는 메모리의 최솟값과 최댓값을 설정하는 방법을 보여준다. [리밋레인지(LimitRange)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#limitrange-v1-core) @@ -13,19 +13,20 @@ weight: 30 지정한다. 파드가 리밋레인지에 의해 부과된 제약 조건을 충족하지 않으면, 네임스페이스에서 생성될 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -239,9 +240,10 @@ kubectl delete pod constraints-mem-demo-4 --namespace=constraints-mem-example kubectl delete namespace constraints-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -265,4 +267,4 @@ kubectl delete namespace constraints-mem-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md index 547d1783c4..c735bc1a72 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/memory-default-namespace.md @@ -1,27 +1,28 @@ --- title: 네임스페이스에 대한 기본 메모리 요청량과 상한 구성 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에 대한 기본 메모리 요청량(request)과 상한(limit)을 구성하는 방법을 보여준다. 기본 메모리 상한이 있는 네임스페이스에서 컨테이너가 생성되고, 컨테이너가 자체 메모리 상한을 지정하지 않으면, 컨테이너에 기본 메모리 상한이 할당된다. 쿠버네티스는 이 문서의 뒷부분에서 설명하는 특정 조건에서 기본 메모리 요청량을 할당한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 2GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -170,9 +171,10 @@ resources: kubectl delete namespace default-mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -196,4 +198,4 @@ kubectl delete namespace default-mem-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md index b7251a7712..ce16eaeef1 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace.md @@ -1,30 +1,31 @@ --- title: 네임스페이스에 대한 메모리 및 CPU 쿼터 구성 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행 중인 모든 컨테이너가 사용할 수 있는 총 메모리 및 CPU 양에 대한 쿼터를 설정하는 방법을 보여준다. [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) 오브젝트에 쿼터를 지정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 클러스터의 각 노드에는 최소 1GiB의 메모리가 있어야 한다. -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -146,9 +147,10 @@ requested: requests.memory=700Mi,used: requests.memory=600Mi, limited: requests. kubectl delete namespace quota-mem-cpu-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -172,4 +174,4 @@ kubectl delete namespace quota-mem-cpu-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md index cbda51f074..a90d2263d3 100644 --- a/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md +++ b/content/ko/docs/tasks/administer-cluster/manage-resources/quota-pod-namespace.md @@ -1,28 +1,29 @@ --- title: 네임스페이스에 대한 파드 쿼터 구성 -content_template: templates/task +content_type: task weight: 60 --- -{{% capture overview %}} + 이 페이지는 네임스페이스에서 실행할 수 있는 총 파드 수에 대한 쿼터를 설정하는 방법을 보여준다. [리소스쿼터(ResourceQuota)](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#resourcequota-v1-core) 오브젝트에 쿼터를 지정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -107,9 +108,10 @@ lastUpdateTime: 2017-07-07T20:57:05Z kubectl delete namespace quota-pod-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 클러스터 관리자를 위한 문서 @@ -133,4 +135,4 @@ kubectl delete namespace quota-pod-example * [파드에 대한 서비스 품질(QoS) 구성](/docs/tasks/configure-pod-container/quality-service-pod/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md index 209d07a3b0..2d7f856e46 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/calico-network-policy.md @@ -1,19 +1,20 @@ --- reviewers: title: 네트워크 폴리시로 캘리코(Calico) 사용하기 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 쿠버네티스에서 캘리코(Calico) 클러스터를 생성하는 몇 가지 빠른 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [클라우드](#creating-a-calico-cluster-with-google-kubernetes-engine-gke)나 [지역](#creating-a-local-calico-cluster-with-kubeadm) 클러스터 중에 어디에 배포할지 결정한다. -{{% /capture %}} -{{% capture steps %}} + + ## 구글 쿠버네티스 엔진(GKE)에 캘리코 클러스터 생성하기 {#creating-a-calico-cluster-with-google-kubernetes-engine-gke} **사전요구사항**: [gcloud](https://cloud.google.com/sdk/docs/quickstarts). @@ -43,11 +44,12 @@ weight: 10 Kubeadm을 이용해서 15분 이내에 지역 단일 호스트 캘리코 클러스터를 생성하려면, [캘리코 빠른 시작](https://docs.projectcalico.org/latest/getting-started/kubernetes/)을 참고한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 클러스터가 동작하면, 쿠버네티스 네트워크 폴리시(NetworkPolicy)를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md index 1b0c866d18..5435bcf67a 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md @@ -1,22 +1,23 @@ --- title: 네트워크 폴리시로 실리움(Cilium) 사용하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 이 페이지는 어떻게 네트워크 폴리시(NetworkPolicy)로 실리움(Cilium)를 사용하는지 살펴본다. 실리움의 배경에 대해서는 [실리움 소개](https://docs.cilium.io/en/stable/intro)를 읽어보자. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 기본 시험을 위해 실리움을 Minikube에 배포하기 실리움에 쉽게 친숙해지기 위해 @@ -72,9 +73,9 @@ L3/L4(예, IP 주소 + 포트) 모두의 보안 정책 뿐만 아니라 L7(예, 이 문서는 자세한 요구사항, 방법과 실제 데몬셋 예시를 포함한다. -{{% /capture %}} -{{% capture discussion %}} + + ## 실리움 구성요소 이해하기 실리움으로 클러스터를 배포하면 파드가 `kube-system` 네임스페이스에 추가된다. @@ -95,14 +96,15 @@ cilium-6rxbd 1/1 Running 0 1m `cilium` 파드는 클러스터 각 노드에서 실행되며, 리눅스 BPF를 사용해서 해당 노드의 파드에 대한 트래픽 네트워크 폴리시를 적용한다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 클러스터가 동작하면, 실리움으로 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. 재미있게 즐기고, 질문이 있다면 [실리움 슬랙 채널](https://cilium.herokuapp.com/)을 이용하여 연락한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md index 1ff8d7c4cc..71a96ed8ee 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/kube-router-network-policy.md @@ -1,25 +1,27 @@ --- reviewers: title: 네트워크 폴리시로 큐브 라우터(Kube-router) 사용하기 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 [큐브 라우터(Kube-router)](https://github.com/cloudnativelabs/kube-router)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 운영 중인 쿠버네티스 클러스터가 필요하다. 클러스터가 없다면, Kops, Bootkube, Kubeadm 등을 이용해서 클러스터를 생성할 수 있다. -{{% /capture %}} -{{% capture steps %}} + + ## 큐브 라우터 애드온 설치하기 큐브 라우터 애드온은 갱신된 모든 네트워크 폴리시 및 파드에 대해 쿠버네티스 API 서버를 감시하고, 정책에 따라 트래픽을 허용하거나 차단하도록 iptables 규칙와 ipset을 구성하는 네트워크 폴리시 컨트롤러와 함께 제공된다. 큐브 라우터 애드온을 설치하는 [큐브 라우터를 클러스터 인스톨러와 함께 사용하기](https://www.kube-router.io/docs/user-guide/#try-kube-router-with-cluster-installers) 안내서를 따라해 봅니다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 큐브 라우터 애드온을 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md index 5e2c28a7c9..dceaf495fc 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/romana-network-policy.md @@ -1,23 +1,24 @@ --- reviewers: title: 네트워크 폴리시로 로마나(Romana) -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 로마나(Romana)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [kubeadm 시작하기](/docs/getting-started-guides/kubeadm/)의 1, 2, 3 단계를 완료하자. -{{% /capture %}} -{{% capture steps %}} + + ## kubeadm으로 로마나 설치하기 @@ -31,12 +32,13 @@ Kubeadm을 위한 [컨테이너화된 설치 안내서](https://github.com/roman * [Romana 네트워크 폴리시의 예](https://github.com/romana/core/blob/master/doc/policy.md). * 네트워크 폴리시 API. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 로마나를 설치한 후에는, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md index 91456a0385..d5fef95e75 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy.md @@ -1,23 +1,24 @@ --- reviewers: title: 네트워크 폴리시로 위브넷(Weave Net) 사용하기 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 네트워크 폴리시(NetworkPolicy)로 위브넷(Weave Net)를 사용하는 방법을 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 쿠버네티스 클러스터가 필요하다. 맨 땅에서부터 시작하기를 위해서 [kubeadm 시작하기 안내서](/docs/getting-started-guides/kubeadm/)를 따른다. -{{% /capture %}} -{{% capture steps %}} + + ## Weave Net 애드온을 설치한다 @@ -47,12 +48,13 @@ weave-net-pmw8w 2/2 Running 0 9d 위브넷 파드를 가진 각 노드와 모든 파드는 `Running`이고 `2/2 READY`이다(`2/2`는 각 파드가 `weave`와 `weave-npc`를 가지고 있음을 뜻한다). -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 위브넷 애드온을 설치하고 나서, 쿠버네티스 네트워크 폴리시를 시도하기 위해 [네트워크 폴리시 선언하기](/docs/tasks/administer-cluster/declare-network-policy/)를 따라 할 수 있다. 질문이 있으면 [슬랙 #weave-community 이나 Weave 유저그룹](https://github.com/weaveworks/weave#getting-help)에 연락한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md index 21f946f67d..06e8f645b2 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-memory-resource.md @@ -1,19 +1,20 @@ --- title: 컨테이너 및 파드 메모리 리소스 할당 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 이 페이지는 메모리 *요청량* 과 메모리 *상한* 을 컨테이너에 어떻게 지정하는지 보여준다. 컨테이너는 요청량 만큼의 메모리 확보가 보장되나 상한보다 더 많은 메모리는 사용할 수 없다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -45,9 +46,9 @@ NAME v1beta1.metrics.k8s.io ``` -{{% /capture %}} -{{% capture steps %}} + + ## 네임스페이스 생성 @@ -327,9 +328,10 @@ kubectl delete pod memory-demo-3 --namespace=mem-example kubectl delete namespace mem-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 앱 개발자들을 위한 @@ -353,4 +355,4 @@ kubectl delete namespace mem-example * [API 오브젝트에 할당량 구성 ](/docs/tasks/administer-cluster/quota-api-object/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md index 945fd88085..bc1446946d 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity.md @@ -1,22 +1,23 @@ --- title: 노드 어피니티를 사용해 노드에 파드 할당 min-kubernetes-server-version: v1.10 -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + 이 문서는 쿠버네티스 클러스터의 특정 노드에 노드 어피니티를 사용해 쿠버네티스 파드를 할당하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 노드에 레이블 추가 @@ -112,9 +113,10 @@ weight: 120 nginx 1/1 Running 0 13s 10.200.0.4 worker0 ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [노드 어피니티](/ko/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)에 대해 더 알아보기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md index 8ce67986bc..c83db7231c 100644 --- a/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md +++ b/content/ko/docs/tasks/configure-pod-container/assign-pods-nodes.md @@ -1,21 +1,22 @@ --- title: 노드에 파드 할당 -content_template: templates/task +content_type: task weight: 120 --- -{{% capture overview %}} + 이 문서는 쿠버네티스 클러스터의 특정 노드에 쿠버네티스 파드를 할당하는 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 노드에 레이블 추가 @@ -96,9 +97,10 @@ weight: 120 설정 파일을 사용해 `foo-node` 노드에 파드를 스케줄되도록 만들어 보자. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [레이블과 셀렉터](/ko/docs/concepts/overview/working-with-objects/labels/)에 대해 배우기. * [노드](/ko/docs/concepts/architecture/nodes/)에 대해 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md b/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md index 6abe24465d..b202417ee1 100644 --- a/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md +++ b/content/ko/docs/tasks/configure-pod-container/configure-volume-storage.md @@ -1,10 +1,10 @@ --- title: 스토리지의 볼륨을 사용하는 파드 구성 -content_template: templates/task +content_type: task weight: 50 --- -{{% capture overview %}} + 이 페이지는 스토리지의 볼륨을 사용하는 파드를 구성하는 방법을 설명한다. @@ -14,15 +14,16 @@ weight: 50 사용할 수 있다. 이것은 레디스(Redis)와 같은 키-값 저장소나 데이터베이스와 같은 스테이트풀 애플리케이션에 매우 중요하다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 파드에 볼륨 구성 @@ -126,9 +127,10 @@ Redis 파드의 kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [볼륨](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#volume-v1-core)을 참고한다. @@ -140,6 +142,6 @@ Redis 파드의 노드의 디바이스 마운트, 언마운트와 같은 세부사항을 처리한다. 자세한 내용은 [볼륨](/ko/docs/concepts/storage/volumes/)을 참고한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md b/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md index 2eadc8450c..662b7528bc 100644 --- a/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md +++ b/content/ko/docs/tasks/configure-pod-container/pull-image-private-registry.md @@ -1,26 +1,27 @@ --- title: 프라이빗 레지스트리에서 이미지 받아오기 -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + 이 페이지는 프라이빗 도커 레지스트리나 리포지터리로부터 이미지를 받아오기 위해 시크릿(Secret)을 사용하는 파드(Pod)를 생성하는 방법을 보여준다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * 이 실습을 수행하기 위해, [도커 ID](https://docs.docker.com/docker-id/)와 비밀번호가 필요하다. -{{% /capture %}} -{{% capture steps %}} + + ## 도커 로그인 @@ -200,9 +201,10 @@ kubectl apply -f my-private-reg-pod.yaml kubectl get pod private-reg ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [시크릿](/docs/concepts/configuration/secret/)에 대해 더 배워 보기. * [프라이빗 레지스트리 사용](/ko/docs/concepts/containers/images/#프라이빗-레지스트리-사용)에 대해 더 배워 보기. @@ -211,4 +213,4 @@ kubectl get pod private-reg * [시크릿](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#secret-v1-core)에 대해 읽어보기. * [PodSpec](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core)의 `imagePullSecrets` 필드에 대해 읽어보기. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md b/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md index e2552c3f6d..bf948856a0 100644 --- a/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md +++ b/content/ko/docs/tasks/configure-pod-container/quality-service-pod.md @@ -1,27 +1,28 @@ --- title: 파드에 대한 서비스 품질(QoS) 구성 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 이 페이지는 특정 서비스 품질(QoS) 클래스를 할당하기 위해 어떻게 파드를 구성해야 하는지 보여준다. 쿠버네티스는 QoS 클래스를 사용하여 파드 스케줄링과 축출을 결정한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## QoS 클래스 @@ -235,9 +236,10 @@ kubectl delete pod qos-demo-4 --namespace=qos-example kubectl delete namespace qos-example ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + ### 앱 개발자를 위한 문서 @@ -263,4 +265,4 @@ kubectl delete namespace qos-example * [API 오브젝트 할당량 구성](/docs/tasks/administer-cluster/quota-api-object/) * [노드의 토폴로지 관리 정책 제어](/docs/tasks/administer-cluster/topology-manager/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md b/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md index 82c40239c0..cf0b639cbd 100644 --- a/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md +++ b/content/ko/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana.md @@ -1,9 +1,9 @@ --- -content_template: templates/concept +content_type: concept title: 엘라스틱서치(Elasticsearch) 및 키바나(Kibana)를 사용한 로깅 --- -{{% capture overview %}} + Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지원은 [스택드라이버(Stackdriver) 로깅](https://cloud.google.com/logging/)을 대상으로 한다. 이는 @@ -18,9 +18,9 @@ Google 컴퓨트 엔진(Compute Engine, GCE) 플랫폼에서, 기본 로깅 지 Google 쿠버네티스 엔진(Kubernetes Engine)에서 호스팅되는 쿠버네티스 클러스터에는 엘라스틱서치 및 키바나를 자동으로 배포할 수 없다. 수동으로 배포해야 한다. {{< /note >}} -{{% /capture %}} -{{% capture body %}} + + 클러스터 로깅에 엘라스틱서치, 키바나를 사용하려면 kube-up.sh를 사용하여 클러스터를 생성할 때 아래와 같이 다음의 환경 변수를 @@ -111,11 +111,12 @@ monitoring-influx-grafana-v1-o79xf 2/2 Running 0 2h ![키바나 로그](/images/docs/kibana-logs.png) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 키바나는 로그를 탐색하기 위한 모든 종류의 강력한 옵션을 제공한다! 이를 파헤치는 방법에 대한 아이디어는 [키바나의 문서](https://www.elastic.co/guide/en/kibana/current/discover.html)를 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md index fd6a5bd8a0..d52a6127be 100644 --- a/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md +++ b/content/ko/docs/tasks/debug-application-cluster/resource-metrics-pipeline.md @@ -1,19 +1,19 @@ --- title: 리소스 메트릭 파이프라인 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 컨테이너 CPU 및 메모리 사용량과 같은 리소스 사용량 메트릭은 쿠버네티스의 메트릭 API를 통해 사용할 수 있다. 이 메트릭은 `kubectl top` 커맨드 사용과 같이 사용자가 직접적으로 액세스하거나, Horizontal Pod Autoscaler 같은 클러스터의 컨트롤러에서 결정을 내릴 때 사용될 수 있다. -{{% /capture %}} -{{% capture body %}} + + ## 메트릭 API @@ -58,4 +58,4 @@ CPU는 일정 기간 동안 [CPU 코어](https://kubernetes.io/docs/concepts/con [설계 문서](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/instrumentation/metrics-server.md)에서 메트릭 서버에 대해 자세하게 배울 수 있다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md index f563fae04b..9677ccd1b9 100644 --- a/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md +++ b/content/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring.md @@ -1,9 +1,9 @@ --- -content_template: templates/concept +content_type: concept title: 리소스 모니터링 도구 --- -{{% capture overview %}} + 애플리케이션을 스케일하여 신뢰할 수 있는 서비스를 제공하려면, 애플리케이션이 배포되었을 때 애플리케이션이 어떻게 동작하는지를 이해해야 한다. @@ -14,9 +14,9 @@ title: 리소스 모니터링 도구 이 정보는 애플리케이션의 성능을 평가하고 병목 현상을 제거하여 전체 성능을 향상할 수 있게 해준다. -{{% /capture %}} -{{% capture body %}} + + 쿠버네티스에서 애플리케이션 모니터링은 단일 모니터링 솔루션에 의존하지 않는다. 신규 클러스터에서는, [리소스 메트릭](#리소스-메트릭-파이프라인) 또는 [완전한 @@ -55,4 +55,4 @@ kubelet의 인증이 필요한 읽기 전용 포트 상의 `/metrics/resource/v1 CNCF 프로젝트인, [프로메테우스](https://prometheus.io)는 기본적으로 쿠버네티스, 노드, 프로메테우스 자체를 모니터링할 수 있다. CNCF 프로젝트가 아닌 완전한 메트릭 파이프라인 프로젝트는 쿠버네티스 문서의 범위가 아니다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md b/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md index 639668b3f9..8f821c7cf5 100644 --- a/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md +++ b/content/ko/docs/tasks/inject-data-application/define-command-argument-container.md @@ -1,25 +1,26 @@ --- title: 컨테이너를 위한 커맨드와 인자 정의하기 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 본 페이지는 {{< glossary_tooltip text="파드" term_id="pod" >}} 안에서 컨테이너를 실행할 때 커맨드와 인자를 정의하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 파드를 생성할 때 커맨드와 인자를 정의하기 @@ -145,14 +146,15 @@ EntryPoint 값과 기본 Cmd 값이 덮어쓰여진다. `command`가 `args` 값 | `[/ep-1]` | `[foo bar]` | `[/ep-2]` | `[zoo boo]` | `[ep-2 zoo boo]` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [파드와 컨테이너를 구성하는 방법](/ko/docs/tasks/)에 대해 더 알아본다. * [컨테이너 안에서 커맨드를 실행하는 방법](/docs/tasks/debug-application-cluster/get-shell-running-container/)에 대해 더 알아본다. * [컨테이너](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core)를 확인한다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md index 5cdf78075c..21fcf9e9c2 100644 --- a/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md +++ b/content/ko/docs/tasks/inject-data-application/define-environment-variable-container.md @@ -1,25 +1,26 @@ --- title: 컨테이너를 위한 환경 변수 정의하기 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + 본 페이지는 쿠버네티스 파드의 컨테이너를 위한 환경 변수를 정의하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 컨테이너를 위한 환경 변수 정의하기 @@ -109,12 +110,12 @@ spec: 컨테이너가 생성되면, `echo Warm greetings to The Most Honorable Kubernetes` 커맨드가 컨테이너에서 실행된다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [환경 변수](/docs/tasks/inject-data-application/environment-variable-expose-pod-information/)에 대해 알아본다. * [시크릿을 환경 변수로 사용하기](/docs/user-guide/secrets/#using-secrets-as-environment-variables)에 대해 알아본다. * [EnvVarSource](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#envvarsource-v1-core)를 확인한다. -{{% /capture %}} \ No newline at end of file diff --git a/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md b/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md index aaa75feab7..01d6d8331e 100644 --- a/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md +++ b/content/ko/docs/tasks/manage-gpus/scheduling-gpus.md @@ -1,11 +1,11 @@ --- -content_template: templates/concept +content_type: concept title: GPU 스케줄링 --- -{{% capture overview %}} + {{< feature-state state="beta" for_k8s_version="v1.10" >}} @@ -15,10 +15,10 @@ title: GPU 스케줄링 이 페이지는 다른 쿠버네티스 버전 간에 걸쳐 사용자가 GPU들을 소비할 수 있는 방법과 현재의 제약 사항을 설명한다. -{{% /capture %}} -{{% capture body %}} + + ## 디바이스 플러그인 사용하기 @@ -216,4 +216,4 @@ spec: 이것은 파드가 사용자가 지정한 GPU 타입을 가진 노드에 스케줄 되도록 만든다. -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md b/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md index da73445d78..7c81129176 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/declarative-config.md @@ -1,27 +1,28 @@ --- title: 구성 파일을 이용한 쿠버네티스 오브젝트의 선언형 관리 -content_template: templates/task +content_type: task weight: 10 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 여러 개의 오브젝트 구성 파일을 디렉터리에 저장하고 필요에 따라 `kubectl apply`를 사용하여 재귀적으로 오브젝트를 생성하고 업데이트함으로써 생성, 업데이트 및 삭제할 수 있다. 이 방식은 변경사항을 되돌려 오브젝트 구성 파일에 병합하지 않고 활성 오브젝트에 가해진 기록을 유지한다. `kubectl diff`는 또한 `apply`가 어떠한 변경사항을 이루어질지에 대한 프리뷰를 제공한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)를 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -997,9 +998,10 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% capture whatsnext %}} +## {{% heading "whatsnext" %}} + * [명령형 커맨드 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) * [구성 파일 사용하여 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) * [Kubectl 명령어 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md index 7f2d17ca5f..47089a10dc 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-command.md @@ -1,23 +1,24 @@ --- title: 명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기 -content_template: templates/task +content_type: task weight: 30 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 `kubectl` 커맨드 라인 툴 속에 내장된 명령형 커맨드를 이용함으로써 바로 신속하게 생성, 업데이트 및 삭제할 수 있다. 이 문서는 어떻게 커맨드가 구성되어 있으며, 이를 사용하여 활성 오브젝트를 어떻게 관리하는 지에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -159,11 +160,12 @@ kubectl create --edit -f /tmp/srv.yaml 1. `kubectl create service` 커맨드는 서비스에 대한 구성을 생성하고 이를 `/tmp/srv.yaml`에 저장한다. 1. `kubectl create --edit` 커맨드는 오브젝트를 생성하기 전에 편집을 위해 구성파일을 열어준다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [오브젝트 구성을 이용하여 쿠버네티스 관리하기(명령형)](/ko/docs/tasks/manage-kubernetes-objects/imperative-config/) * [오브젝트 구성을 이용하여 쿠버네티스 관리하기(선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl 커맨드 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md index 3fdd8ad12d..ca6d1de04d 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/imperative-config.md @@ -1,24 +1,25 @@ --- title: 구성파일을 이용한 명령형 쿠버네티스 오브젝트 관리 -content_template: templates/task +content_type: task weight: 40 --- -{{% capture overview %}} + 쿠버네티스 오브젝트는 YAML 또는 JSON으로 작성된 오프젝트 구성파일과 함께 `kubectl` 커맨드 라인 툴을 이용하여 생성, 업데이트 및 삭제할 수 있다. 이 문서는 구성파일을 이용하여 어떻게 오브젝트를 정의하고 관리할 수 있는지에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 트레이드 오프 @@ -142,11 +143,12 @@ template: controller-selector: "apps/v1/deployment/nginx" ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [명령형 커맨드를 이용한 쿠버네티스 오브젝트 관리하기](/ko/docs/tasks/manage-kubernetes-objects/imperative-command/) * [오브젝트 구성을 이용하여 쿠버네티스 오브젝트 관리하기 (선언형)](/ko/docs/tasks/manage-kubernetes-objects/declarative-config/) * [Kubectl 커멘드 참조](/docs/reference/generated/kubectl/kubectl/) * [쿠버네티스 API 참조](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md b/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md index 87ca926908..b51a3ea49e 100644 --- a/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md +++ b/content/ko/docs/tasks/manage-kubernetes-objects/kustomization.md @@ -1,10 +1,10 @@ --- title: Kustomize를 이용한 쿠버네티스 오브젝트의 선언형 관리 -content_template: templates/task +content_type: task weight: 20 --- -{{% capture overview %}} + [Kustomize](https://github.com/kubernetes-sigs/kustomize)는 [kustomization 파일](https://github.com/kubernetes-sigs/kustomize/blob/master/docs/glossary.md#kustomization)을 @@ -24,17 +24,18 @@ kubectl kustomize kubectl apply -k ``` -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + [`kubectl`](/docs/tasks/tools/install-kubectl/)을 설치한다. {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## Kustomize 개요 @@ -825,13 +826,14 @@ deployment.apps "dev-my-nginx" deleted | configurations | []string | 이 리스트 내 각각의 항목은 [Kustomize 변환 설정](https://github.com/kubernetes-sigs/kustomize/tree/master/examples/transformerconfigs)을 포함하는 파일로 해석되어져야 한다 | | crds | []string | 이 리스트 내 각각의 항목은 쿠버네티스 타입에 대한 OpenAPI 정의 파일로 해석되어져야 한다 | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Kustomize](https://github.com/kubernetes-sigs/kustomize) * [Kubectl Book](https://kubectl.docs.kubernetes.io) * [Kubectl Command Reference](/docs/reference/generated/kubectl/kubectl/) * [Kubernetes API Reference](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/) -{{% /capture %}} + diff --git a/content/ko/docs/tasks/network/validate-dual-stack.md b/content/ko/docs/tasks/network/validate-dual-stack.md index c86948142e..0bbb20b99d 100644 --- a/content/ko/docs/tasks/network/validate-dual-stack.md +++ b/content/ko/docs/tasks/network/validate-dual-stack.md @@ -1,14 +1,15 @@ --- min-kubernetes-server-version: v1.16 title: IPv4/IPv6 이중 스택 검증 -content_template: templates/task +content_type: task --- -{{% capture overview %}} + 이 문서는 IPv4/IPv6 이중 스택이 활성화된 쿠버네티스 클러스터들을 어떻게 검증하는지 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * 이중 스택 네트워킹을 위한 제공자 지원 (클라우드 제공자 또는 기타 제공자들은 라우팅 가능한 IPv4/IPv6 네트워크 인터페이스를 제공하는 쿠버네티스 노드들을 제공해야 한다.) * 이중 스택을 지원하는 [네트워크 플러그인](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) (예. Kubenet 또는 Calico) @@ -17,9 +18,9 @@ content_template: templates/task {{< version-check >}} -{{% /capture %}} -{{% capture steps %}} + + ## 어드레싱 검증 @@ -155,4 +156,4 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S my-service ClusterIP fe80:20d::d06b 2001:db8:f100:4002::9d37:c0d7 80:31868/TCP 30s ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index b36f773884..fdf1f75411 100644 --- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -1,10 +1,10 @@ --- title: Horizontal Pod Autoscaler 연습 -content_template: templates/task +content_type: task weight: 100 --- -{{% capture overview %}} + Horizontal Pod Autoscaler는 CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭)을 관찰하여 @@ -12,11 +12,12 @@ CPU 사용량(또는 베타 지원의 다른 애플리케이션 지원 메트릭 이 문서는 php-apache 서버를 대상으로 Horizontal Pod Autoscaler를 동작해보는 예제이다. Horizontal Pod Autoscaler 동작과 관련된 더 많은 정보를 위해서는 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/)를 참고하기 바란다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 예제는 버전 1.2 또는 이상의 쿠버네티스 클러스터와 kubectl을 필요로 한다. [메트릭-서버](https://github.com/kubernetes-incubator/metrics-server/) 모니터링을 클러스터에 배포하여 리소스 메트릭 API를 통해 메트릭을 제공해야 한다. @@ -30,9 +31,9 @@ Horizontal Pod Autoscaler에 다양한 자원 메트릭을 적용하고자 하 버전 1.10 또는 이상의 쿠버네티스 클러스터와 kubectl을 사용해야 하며, 외부 메트릭 API와 통신이 가능해야 한다. 자세한 사항은 [Horizontal Pod Autoscaler 사용자 가이드](/ko/docs/tasks/run-application/horizontal-pod-autoscale/#사용자-정의-메트릭을-위한-지원)를 참고하길 바란다. -{{% /capture %}} -{{% capture steps %}} + + ## php-apache 서버 구동 및 노출 @@ -175,9 +176,9 @@ CPU 사용량은 0으로 떨어졌고, HPA는 레플리카의 개수를 1로 낮 레플리카 오토스케일링은 몇 분 정도 소요된다. {{< /note >}} -{{% /capture %}} -{{% capture discussion %}} + + ## 다양한 메트릭 및 사용자 정의 메트릭을 기초로한 오토스케일링 @@ -481,4 +482,4 @@ kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml horizontalpodautoscaler.autoscaling/php-apache created ``` -{{% /capture %}} + diff --git a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md index 607d91a844..c242695165 100644 --- a/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md +++ b/content/ko/docs/tasks/run-application/horizontal-pod-autoscale.md @@ -5,11 +5,11 @@ feature: description: > 간단한 명령어나 UI를 통해서 또는 CPU 사용량에 따라 자동으로 애플리케이션의 스케일을 업 또는 다운한다. -content_template: templates/concept +content_type: concept weight: 90 --- -{{% capture overview %}} + Horizontal Pod Autoscaler는 CPU 사용량 (또는 [사용자 정의 메트릭](https://git.k8s.io/community/contributors/design-proposals/instrumentation/custom-metrics-api.md), @@ -22,10 +22,10 @@ Horizontal Pod Autoscaler는 쿠버네티스 API 리소스 및 컨트롤러로 컨트롤러는 관찰된 평균 CPU 사용률이 사용자가 지정한 대상과 일치하도록 레플리케이션 컨트롤러 또는 디플로이먼트에서 레플리카 개수를 주기적으로 조정한다. -{{% /capture %}} -{{% capture body %}} + + ## Horizontal Pod Autoscaler는 어떻게 작동하는가? @@ -436,12 +436,12 @@ behavior: selectPolicy: Disabled ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 디자인 문서: [Horizontal Pod Autoscaling](https://git.k8s.io/community/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md). * kubectl 오토스케일 커맨드: [kubectl autoscale](/docs/reference/generated/kubectl/kubectl-commands/#autoscale). * [Horizontal Pod Autoscaler](/ko/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/)의 사용 예제. -{{% /capture %}} \ No newline at end of file diff --git a/content/ko/docs/tasks/tools/install-kubectl.md b/content/ko/docs/tasks/tools/install-kubectl.md index 7754978e42..554ae3fe43 100644 --- a/content/ko/docs/tasks/tools/install-kubectl.md +++ b/content/ko/docs/tasks/tools/install-kubectl.md @@ -1,6 +1,6 @@ --- title: kubectl 설치 및 설정 -content_template: templates/task +content_type: task weight: 10 card: name: tasks @@ -8,15 +8,16 @@ card: title: kubectl 설치 --- -{{% capture overview %}} + 쿠버네티스 커맨드 라인 도구인 [kubectl](/docs/user-guide/kubectl/)을 사용하면, 쿠버네티스 클러스터에 대해 명령을 실행할 수 있다. kubectl을 사용하여 애플리케이션을 배포하고, 클러스터 리소스를 검사 및 관리하며 로그를 볼 수 있다. kubectl 작업의 전체 목록에 대해서는, [kubectl 개요](/docs/reference/kubectl/overview/)를 참고한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.2 클라이언트는 v1.1, v1.2 및 v1.3의 마스터와 함께 작동해야 한다. 최신 버전의 kubectl을 사용하면 예기치 않은 문제를 피할 수 있다. -{{% /capture %}} -{{% capture steps %}} + + ## 리눅스에 kubectl 설치 @@ -503,12 +504,13 @@ compinit {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikube 설치](/ko/docs/tasks/tools/install-minikube/) * 클러스터 생성에 대한 자세한 내용은 [시작하기](/ko/docs/setup/)를 참고한다. * [애플리케이션을 시작하고 노출하는 방법에 대해 배운다.](/docs/tasks/access-application-cluster/service-access-application-cluster/) * 직접 생성하지 않은 클러스터에 접근해야하는 경우, [클러스터 접근 공유 문서](/ko/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)를 참고한다. * [kubectl 레퍼런스 문서](/docs/reference/kubectl/kubectl/) 읽기 -{{% /capture %}} + diff --git a/content/ko/docs/tasks/tools/install-minikube.md b/content/ko/docs/tasks/tools/install-minikube.md index 41ff7092ec..56fce69ec2 100644 --- a/content/ko/docs/tasks/tools/install-minikube.md +++ b/content/ko/docs/tasks/tools/install-minikube.md @@ -1,19 +1,20 @@ --- title: Minikube 설치 -content_template: templates/task +content_type: task weight: 20 card: name: tasks weight: 10 --- -{{% capture overview %}} + 이 페이지는 단일 노드 쿠버네티스 클러스터를 노트북의 가상 머신에서 구동하는 도구인 [Minikube](/ko/docs/tutorials/hello-minikube)의 설치 방법을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< tabs name="minikube_before_you_begin" >}} {{% tab name="리눅스" %}} @@ -53,9 +54,9 @@ Hyper-V Requirements: A hypervisor has been detected. Features required for {{% /tab %}} {{< /tabs >}} -{{% /capture %}} -{{% capture steps %}} + + # minikube 설치하기 @@ -200,13 +201,14 @@ Minikube 설치를 마친 후, 현재 CLI 세션을 닫고 재시작한다. Mini {{< /tabs >}} -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [Minikube로 로컬에서 쿠버네티스 실행하기](/docs/setup/minikube/) -{{% /capture %}} + ## 설치 확인 diff --git a/content/ko/docs/tutorials/_index.md b/content/ko/docs/tutorials/_index.md index c279a84c1b..7a3ca934e0 100644 --- a/content/ko/docs/tutorials/_index.md +++ b/content/ko/docs/tutorials/_index.md @@ -2,10 +2,10 @@ title: 튜토리얼 main_menu: true weight: 60 -content_template: templates/concept +content_type: concept --- -{{% capture overview %}} + 쿠버네티스 문서의 본 섹션은 튜토리얼을 포함하고 있다. 튜토리얼은 개별 [작업](/ko/docs/tasks) 단위보다 더 큰 목표를 달성하기 @@ -14,9 +14,9 @@ content_template: templates/concept 각 튜토리얼을 따라하기 전에, 나중에 참조할 수 있도록 [표준 용어집](/ko/docs/reference/glossary/) 페이지를 북마크하기를 권한다. -{{% /capture %}} -{{% capture body %}} + + ## 기초 @@ -64,13 +64,14 @@ content_template: templates/concept * [소스 IP 주소 이용하기](/ko/docs/tutorials/services/source-ip/) -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 튜토리얼을 작성하고 싶다면, 튜토리얼 페이지 유형과 튜토리얼 템플릿에 대한 정보가 있는 [Using Page Templates](/docs/home/contribute/page-templates/) 페이지를 참조한다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/clusters/apparmor.md b/content/ko/docs/tutorials/clusters/apparmor.md index 59de6a63f6..a168b521e1 100644 --- a/content/ko/docs/tutorials/clusters/apparmor.md +++ b/content/ko/docs/tutorials/clusters/apparmor.md @@ -1,10 +1,10 @@ --- reviewers: title: AppArmor -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + {{< feature-state for_k8s_version="v1.4" state="beta" >}} @@ -23,9 +23,10 @@ AppArmor를 이용하면 컨테이너가 수행할 수 있는 작업을 제한 애플리케이션 코드 취약점을 보호하기 위한 여러 조치를 할 수 있는 것 뿐임을 잊으면 안된다. 양호하고 제한적인 프로파일을 제공하고, 애플리케이션과 클러스터를 여러 측면에서 강화하는 것이 중요하다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 노드에 프로파일을 어떻게 적재하는지 예시를 본다. * 파드(Pod)에 프로파일을 어떻게 강제 적용하는지 배운다. @@ -33,9 +34,10 @@ AppArmor를 이용하면 컨테이너가 수행할 수 있는 작업을 제한 * 프로파일을 위반하는 경우를 살펴본다. * 프로파일을 적재할 수 없을 경우를 살펴본다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 다음을 보장해야 한다. @@ -110,9 +112,9 @@ gke-test-default-pool-239f5d02-x1kf: kubelet is posting ready status. AppArmor e gke-test-default-pool-239f5d02-xwux: kubelet is posting ready status. AppArmor enabled ``` -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 파드 보안 강화하기 {#securing-a-pod} @@ -457,13 +459,14 @@ AppArmor 로그는 `dmesg`에서 보이며, 오류는 보통 시스템 로그나 - 비록 이스케이프된 쉼표(%2C ',')도 프로파일 이름에서 유효한 문자이지만 여기에서 명시적으로 허용하지 않는다. -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + 참고 자료 * [퀵 가이드 AppArmor 프로파일 언어](https://gitlab.com/apparmor/apparmor/wikis/QuickProfileLanguage) * [AppArmor 코어 정책 참고](https://gitlab.com/apparmor/apparmor/wikis/Policy_Layout) -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md b/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md index bcc2543340..340ea6431f 100644 --- a/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md +++ b/content/ko/docs/tutorials/configuration/configure-redis-using-configmap.md @@ -1,15 +1,16 @@ --- title: 컨피그 맵을 사용해서 Redis 설정하기 -content_template: templates/tutorial +content_type: tutorial --- -{{% capture overview %}} + 이 페이지에서는 컨피그 맵을 사용해서 Redis를 설정하는 방법에 대한 실세계 예제를 제공하고, [컨피그 맵을 사용해서 컨테이너 설정하기](/docs/tasks/configure-pod-container/configure-pod-configmap/) 태스크로 빌드를 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 다음을 포함하는 `kustomization.yaml` 파일을 생성한다. * 컨피그 맵 생성자 @@ -17,18 +18,19 @@ content_template: templates/tutorial * `kubectl apply -k ./`를 실행하여 작업한 디렉토리를 적용한다. * 구성이 잘 적용되었는지 확인한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} * 예시는 `kubectl` 1.14 이상 버전에서 동작한다. * [컨피그 맵을 사용해서 컨테이너 설정하기](/docs/tasks/configure-pod-container/configure-pod-configmap/)를 이해한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 실세상 예제: 컨피그 맵을 사용해서 Redis 설정하기 @@ -102,12 +104,13 @@ kubectl exec -it redis redis-cli kubectl delete pod redis ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [컨피그 맵](/docs/tasks/configure-pod-container/configure-pod-configmap/) 배우기. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/hello-minikube.md b/content/ko/docs/tutorials/hello-minikube.md index 3a843087eb..4516124573 100644 --- a/content/ko/docs/tutorials/hello-minikube.md +++ b/content/ko/docs/tutorials/hello-minikube.md @@ -1,6 +1,6 @@ --- title: Hello Minikube -content_template: templates/tutorial +content_type: tutorial weight: 5 menu: main: @@ -13,7 +13,7 @@ card: weight: 10 --- -{{% capture overview %}} + 이 튜토리얼에서는 [Minikube](/ko/docs/setup/learning-environment/minikube)와 Katacoda를 이용하여 쿠버네티스에서 샘플 애플리케이션을 어떻게 실행하는지 살펴본다. @@ -23,23 +23,25 @@ Katacode는 무료로 브라우저에서 쿠버네티스 환경을 제공한다. [로컬에서 Minikube](/ko/docs/tasks/tools/install-minikube/)를 설치했다면 이 튜토리얼도 따라 할 수 있다. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 샘플 애플리케이션을 Minikube에 배포한다. * 배포한 애플리케이션을 실행한다. * 애플리케이션의 로그를 확인한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼은 NGINX를 사용해서 모든 요청에 응답하는 컨테이너 이미지를 제공한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Minikubue 클러스터 만들기 @@ -267,12 +269,13 @@ minikube stop minikube delete ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [디플로이먼트 오브젝트](/ko/docs/concepts/workloads/controllers/deployment/)에 대해서 더 배워 본다. * [애플리케이션 배포](/docs/tasks/run-application/run-stateless-application-deployment/)에 대해서 더 배워 본다. * [서비스 오브젝트](/ko/docs/concepts/services-networking/service/)에 대해서 더 배워 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/services/source-ip.md b/content/ko/docs/tutorials/services/source-ip.md index 11af03664d..4917fa5042 100644 --- a/content/ko/docs/tutorials/services/source-ip.md +++ b/content/ko/docs/tutorials/services/source-ip.md @@ -1,19 +1,20 @@ --- title: 소스 IP 주소 이용하기 -content_template: templates/tutorial +content_type: tutorial min-kubernetes-server-version: v1.5 --- -{{% capture overview %}} + 쿠버네티스 클러스터에서 실행 중인 애플리케이션은 서로 간에 외부 세계와 서비스 추상화를 통해 찾고 통신한다. 이 문서는 다른 종류의 서비스로 보내진 패킷의 소스 IP 주소에 어떤 일이 벌어지는지와 이 동작을 요구에 따라 토글할 수 있는지 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + ### 용어 @@ -54,18 +55,19 @@ kubectl create deployment source-ip-app --image=k8s.gcr.io/echoserver:1.4 deployment.apps/source-ip-app created ``` -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 간단한 애플리케이션을 다양한 서비스 종류로 노출하기 * 각 서비스 유형에 따른 소스 IP NAT 의 동작 이해하기 * 소스 IP 주소 보존에 관한 절충 사항 이해 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## `Type=ClusterIP` 인 서비스에서 소스 IP @@ -423,9 +425,10 @@ HTTP [Forwarded]](https://tools.ietf.org/html/rfc7239#section-5.2) HTTP 헬스 체크를 생성하여 위에서 설명한 기능을 활용할 수 있다. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 서비스를 삭제한다. @@ -439,10 +442,11 @@ kubectl delete svc -l run=source-ip-app kubectl delete deployment source-ip-app ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [서비스를 통한 애플리케이션 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)에 더 자세히 본다. * 어떻게 [외부 로드밸런서 생성](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/)하는지 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md b/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md index f5d3cf7b5c..10e7aa7683 100644 --- a/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md +++ b/content/ko/docs/tutorials/stateful-application/basic-stateful-set.md @@ -1,17 +1,18 @@ --- reviewers: title: 스테이트풀셋 기본 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + 이 튜토리얼은 스테이트풀셋([StatefulSets](/ko/docs/concepts/workloads/controllers/statefulset/))을 이용하여 애플리케이션을 관리하는 방법을 소개한다. 어떻게 스테이트풀셋의 파드(Pod)을 생성하고 삭제하며 스케일링하고 업데이트하는지 시연한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 튜토리얼을 시작하기 전에 다음의 쿠버네티스 컨셉에 대해 익숙해야 한다. @@ -27,9 +28,10 @@ weight: 10 설정되었다고 가정한다. 만약 클러스터가 이렇게 설정되어 있지 않다면, 튜토리얼 시작 전에 수동으로 2개의 1 GiB 볼륨을 프로비저닝해야 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 스테이트풀셋은 상태 유지가 필요한(stateful) 애플리케이션과 분산시스템에서 이용하도록 의도했다. 그러나 쿠버네티스 상에 스테이트풀 애플리케이션과 분산시스템을 관리하는 것은 광범위하고 복잡한 주제이다. 스테이트풀셋의 기본 기능을 보여주기 위해 @@ -43,9 +45,9 @@ weight: 10 * 스테이트풀셋을 어떻게 삭제하는지 * 스테이트풀셋은 어떻게 스케일링하는지 * 스테이트풀셋의 파드는 어떻게 업데이트하는지 -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 스테이트풀셋 생성하기 아래 예제를 이용해서 스테이트풀셋을 생성하자. 이는 @@ -1026,13 +1028,14 @@ web-3 0/1 Terminating 0 9m ```shell kubectl delete svc nginx ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 이 튜토리얼에서 사용된 퍼시턴트볼륨을 위한 퍼시스턴트 스토리지 미디어를 삭제해야 한다. 모든 스토리지를 반환하도록 환경, 스토리지 설정과 프로비저닝 방법에 따른 단계를 따르자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/cassandra.md b/content/ko/docs/tutorials/stateful-application/cassandra.md index 6ba3feeab5..f67516cb80 100644 --- a/content/ko/docs/tutorials/stateful-application/cassandra.md +++ b/content/ko/docs/tutorials/stateful-application/cassandra.md @@ -1,11 +1,11 @@ --- title: "예시: 카산드라를 스테이트풀셋으로 배포하기" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 30 --- -{{% capture overview %}} + 이 튜토리얼은 쿠버네티스에서 [아파치 카산드라](http://cassandra.apache.org/)를 실행하는 방법을 소개한다. 데이터베이스인 카산드라는 데이터 내구성을 제공하기 위해 퍼시스턴트 스토리지가 필요하다(애플리케이션 _상태_). 이 예제에서 사용자 지정 카산드라 시드 공급자는 카산드라가 클러스터에 가입할 때 카산드라가 인스턴스를 검색할 수 있도록 한다. *스테이트풀셋* 은 상태있는 애플리케이션을 쿠버네티스 클러스터에 쉽게 배포할 수 있게 한다. 이 튜토리얼에서 이용할 기능의 자세한 정보는 [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)을 참조한다. @@ -23,17 +23,19 @@ weight: 30 파드를 검색할 수 있는 사용자 지정 카산드라 시드 공급자를 배포한다. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 카산드라 헤드리스 {{< glossary_tooltip text="Service" term_id="service" >}}를 생성하고 검증한다. * {{< glossary_tooltip term_id="StatefulSet" >}}을 이용하여 카산드라 링을 생성한다. * 스테이트풀셋을 검증한다. * 스테이트풀셋을 수정한다. * 스테이트풀셋과 포함된 {{< glossary_tooltip text="파드" term_id="pod" >}}를 삭제한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼을 완료하려면, [파드](/ko/docs/concepts/workloads/pods/pod/), [서비스](/ko/docs/concepts/services-networking/service/), [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)의 기본 개념에 친숙해야한다. 추가로 * *kubectl* 커맨드라인 도구를 [설치와 설정](/docs/tasks/tools/install-kubectl/)하자. @@ -57,9 +59,9 @@ minikube start --memory 5120 --cpus=4 ``` {{< /caution >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 카산드라를 위한 헤드리스 서비스 생성하기 {#creating-a-cassandra-headless-service} 쿠버네티스 에서 {{< glossary_tooltip text="서비스" term_id="service" >}}는 동일 작업을 수행하는 {{< glossary_tooltip text="파드" term_id="pod" >}}의 집합을 기술한다. @@ -228,9 +230,10 @@ kubectl apply -f cassandra-statefulset.yaml cassandra 4 4 36m ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 스테이트풀셋을 삭제하거나 스케일링하는 것은 스테이트풀셋에 연관된 볼륨을 삭제하지 않는다. 당신의 데이터가 스테이트풀셋의 관련된 모든 리소스를 자동으로 제거하는 것보다 더 가치있기에 이 설정은 당신의 안전을 위한 것이다. {{< warning >}} @@ -270,12 +273,13 @@ kubectl apply -f cassandra-statefulset.yaml | `CASSANDRA_RPC_ADDRESS` | `0.0.0.0` | -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * 어떻게 [스테이트풀셋 스케일](/docs/tasks/run-application/scale-stateful-set/)하는지 살펴본다. * [*쿠버네티스시드제공자*](https://github.com/kubernetes/examples/blob/master/cassandra/java/src/main/java/io/k8s/cassandra/KubernetesSeedProvider.java)에 대해 더 살펴본다. * 커스텀 [시드 제공자 설정](https://git.k8s.io/examples/cassandra/java/README.md)를 살펴본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index 6176a3457d..d4891dbe39 100644 --- a/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -1,7 +1,7 @@ --- title: "예시: WordPress와 MySQL을 퍼시스턴트 볼륨에 배포하기" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -9,7 +9,7 @@ card: title: "스테이트풀셋 예시: Wordpress와 퍼시스턴트 볼륨" --- -{{% capture overview %}} + 이 튜토리얼은 WordPress 사이트와 MySQL 데이터베이스를 Minikube를 이용하여 어떻게 배포하는지 보여준다. 애플리케이션 둘 다 퍼시스턴트 볼륨과 퍼시스턴트볼륨클레임을 데이터를 저장하기 위해 사용한다. [퍼시스턴트볼륨](/ko/docs/concepts/storage/persistent-volumes/)(PV)는 관리자가 수동으로 프로비저닝한 클러스터나 쿠버네티스 [스토리지클래스](/docs/concepts/storage/storage-classes)를 이용해 동적으로 프로비저닝된 저장소의 일부이다. [퍼시스턴트볼륨클레임](/ko/docs/concepts/storage/persistent-volumes/#퍼시스턴트볼륨클레임)(PVC)은 PV로 충족할 수 있는 사용자에 의한 스토리지 요청이다. 퍼시스턴트볼륨은 파드 라이프사이클과 독립적이며 재시작, 재스케줄링이나 파드를 삭제할 때에도 데이터를 보존한다. @@ -22,9 +22,10 @@ card: 이 튜토리얼에 제공된 파일들은 GA 디플로이먼트 API를 사용하며 쿠버네티스 버전 1.9 이상을 이용한다. 이 튜토리얼을 쿠버네티스 하위 버전에서 적용한다면 API 버전을 적절히 갱신하거나 이 튜토리얼의 이전 버전을 참고하자. {{< /note >}} -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * 퍼시스턴트볼륨클레임과 퍼시스턴트볼륨 생성 * 다음을 포함하는 `kustomization.yaml` 생성 * 시크릿 생성자 @@ -33,9 +34,10 @@ card: * `kubectl apply -k ./`로 생성한 kustomization 을 적용 * 정리 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} 이 예시는 `kubectl` 1.14 이상 버전에서 동작한다. @@ -46,9 +48,9 @@ card: 1. [wordpress-deployment.yaml](/examples/application/wordpress/wordpress-deployment.yaml) -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 퍼시스턴트볼륨클레임과 퍼시스턴트볼륨 생성 @@ -217,9 +219,10 @@ kubectl apply -k ./ 이 페이지의 WordPress 설치를 내버려 두지 말자. 다른 사용자가 이 페이지를 발견하고 귀하의 인스턴스에 웹 사이트를 설정하고 악의적인 컨텐츠를 게시하는데 사용할 수 있다.

WordPress를 사용자명과 암호를 넣어 생성하거나 인스턴스를 삭제하자. {{< /warning >}} -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 1. 다음 명령을 실행하여 시크릿, 디플로이먼트, 서비스와 퍼시스턴트볼륨클레임을 삭제하자. @@ -227,14 +230,15 @@ kubectl apply -k ./ kubectl delete -k ./ ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [인트로스펙션과 디버깅](/docs/tasks/debug-application-cluster/debug-application-introspection/)를 알아보자. * [잡](/ko/docs/concepts/workloads/controllers/jobs-run-to-completion/)를 알아보자. * [포트 포워딩](/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)를 알아보자. * 어떻게 [컨테이너에서 셸을 사용하는지](/docs/tasks/debug-application-cluster/get-shell-running-container/)를 알아보자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateful-application/zookeeper.md b/content/ko/docs/tutorials/stateful-application/zookeeper.md index dd7a850134..5770bbadf1 100644 --- a/content/ko/docs/tutorials/stateful-application/zookeeper.md +++ b/content/ko/docs/tutorials/stateful-application/zookeeper.md @@ -1,17 +1,18 @@ --- title: 분산 시스템 코디네이터 ZooKeeper 실행하기 -content_template: templates/tutorial +content_type: tutorial weight: 40 --- -{{% capture overview %}} + 이 튜토리얼은 [아파치 ZooKeeper](https://zookeeper.apache.org) 쿠버네티스에서 [스테이트풀셋](/ko/docs/concepts/workloads/controllers/statefulset/)과 [파드디스룹선버짓(PodDisruptionBudget)](/ko/docs/concepts/workloads/pods/disruptions/#specifying-a-poddisruptionbudget)과 [파드안티어피니티(PodAntiAffinity)](/ko/docs/user-guide/node-selection/#파드간-어피니티와-안티-어피니티)를 이용한 [Apache Zookeeper](https://zookeeper.apache.org) 실행을 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + 이 튜토리얼을 시작하기 전에 다음 쿠버네티스 개념에 친숙해야 한다. @@ -32,18 +33,19 @@ weight: 40 그렇게 설정되어 있지 않다면 튜토리얼을 시작하기 전에 수동으로 3개의 20 GiB 볼륨을 프로비저닝해야 한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + 이 튜토리얼을 마치면 다음에 대해 알게 된다. - 어떻게 스테이트풀셋을 이용하여 ZooKeeper 앙상블을 배포하는가. - 어떻게 지속적해서 컨피그맵을 이용해서 앙상블을 설정하는가. - 어떻게 ZooKeeper 서버 디플로이먼트를 앙상블 안에서 퍼뜨리는가. - 어떻게 파드디스룹션버짓을 이용하여 계획된 점검 기간 동안 서비스 가용성을 보장하는가. - {{% /capture %}} + -{{% capture lessoncontent %}} + ### ZooKeeper 기본 {#zookeeper-basics} @@ -1082,14 +1084,15 @@ node "kubernetes-node-ixsl" uncordoned ``` `kubectl drain`을 `PodDisruptionBudget`과 결합하면 유지보수 중에도 서비스를 가용하게 할 수 있다. drain으로 노드를 통제하고 유지보수를 위해 노드를 오프라인하기 전에 파드를 추출하기 위해 사용한다면 서비스는 혼란 예산을 표기한 서비스는 그 예산이 존중은 존중될 것이다. 파드가 즉각적으로 재스케줄 할 수 있도록 항상 중요 서비스를 위한 추가 용량을 할당해야 한다. -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + - `kubectl uncordon`은 클러스터 내에 모든 노드를 통제 해제한다. - 이 튜토리얼에서 사용한 퍼시스턴트 볼륨을 위한 퍼시스턴트 스토리지 미디어를 삭제하자. 귀하의 환경과 스토리지 구성과 프로비저닝 방법에서 필요한 절차를 따라서 모든 스토리지가 재확보되도록 하자. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md b/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md index 0f7360273e..291cceba26 100644 --- a/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md +++ b/content/ko/docs/tutorials/stateless-application/expose-external-ip-address.md @@ -1,18 +1,19 @@ --- title: 외부 IP 주소를 노출하여 클러스터의 애플리케이션에 접속하기 -content_template: templates/tutorial +content_type: tutorial weight: 10 --- -{{% capture overview %}} + 이 페이지에서는 외부 IP 주소를 노출하는 쿠버네티스 서비스 오브젝트를 생성하는 방법에 대해 설명한다. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + * [kubectl](/docs/tasks/tools/install-kubectl/)을 설치한다. @@ -24,19 +25,20 @@ weight: 10 * `kubectl`이 쿠버네티스 API 서버와 통신하도록 설정한다. 자세한 내용은 클라우드 공급자의 설명을 참고한다. -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Hello World 애플리케이션을 다섯 개의 인스턴스로 실행한다. * 외부 IP 주소를 노출하는 서비스를 생성한다. * 실행 중인 애플리케이션에 접근하기 위해 서비스 오브젝트를 사용한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## 다섯 개의 파드에서 실행되는 애플리케이션에 대한 서비스 만들기 @@ -148,10 +150,11 @@ kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml Hello Kubernetes! -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 서비스를 삭제하려면, 아래의 명령어를 입력한다. @@ -162,11 +165,12 @@ Hello World 애플리케이션을 실행 중인 디플로이먼트, 레플리카 kubectl delete deployment hello-world -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + [애플리케이션과 서비스 연결하기](/ko/docs/concepts/services-networking/connect-applications-service/)에 대해 더 배워 본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md index a72d694e10..b37497b9bf 100644 --- a/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md +++ b/content/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk.md @@ -1,7 +1,7 @@ --- title: "예제: PHP / Redis 방명록 예제에 로깅과 메트릭 추가" reviewers: -content_template: templates/tutorial +content_type: tutorial weight: 21 card: name: tutorials @@ -9,7 +9,7 @@ card: title: "예제: PHP / Redis 방명록 예제에 로깅과 메트릭 추가" --- -{{% capture overview %}} + 이 튜토리얼은 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook) 튜토리얼을 기반으로 한다. Elastic의 경량 로그, 메트릭, 네트워크 데이터 오픈소스 배송기인 *Beats* 를 방명록과 동일한 쿠버네티스 클러스터에 배포한다. Beats는 데이터를 수집하고 구문분석하여 Elasticsearch에 색인화하므로, Kibana에서 동작 정보를 결과로 보며 분석할 수 있다. 이 예시는 다음과 같이 구성되어 있다. * [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook)을 실행한 인스턴스 @@ -18,17 +18,19 @@ card: * Metricbeat * Packetbeat -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Redis를 이용한 PHP 방명록 시작. * kube-state-metrics 설치. * 쿠버네티스 시크릿 생성. * Beats 배포. * 로그와 메트릭의 대시보드 보기. -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} @@ -39,9 +41,9 @@ card: * 실행 중인 Elasticsearch와 Kibana 디플로이먼트. [Elastic Cloud의 Elasticsearch 서비스](https://cloud.elastic.co)를 사용하거나, [파일을 내려받아](https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-elastic-stack.html) 워크스테이션이나 서버에서 운영하거나, [Elastic의 Helm 차트](https://github.com/elastic/helm-charts)를 이용한다. -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Redis를 이용한 PHP 방명록 시작 이 튜토리얼은 [Redis를 이용한 PHP 방명록](/ko/docs/tutorials/stateless-application/guestbook)을 기반으로 한다. 방명록 애플리케이션을 실행 중이라면, 이를 모니터링할 수 있다. 실행되지 않은 경우라면 지침을 따라 방명록을 배포하고 **정리하기** 단계는 수행하지 말자. 방명록을 실행할 때 이 페이지로 돌아오자. @@ -365,9 +367,10 @@ kubectl scale --replicas=3 deployment/frontend 스크린 캡처를 확인하여, 표시된 필터를 추가하고 해당 열을 뷰에 추가한다. ScalingReplicaSet 항목이 표시되고, 여기에서 이벤트 목록의 맨 위에 풀링되는 이미지, 마운트된 볼륨, 파드 시작 등을 보여준다. ![Kibana 디스커버리](https://raw.githubusercontent.com/elastic/examples/master/beats-k8s-send-anywhere/scaling-up.png) -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 디플로이먼트와 서비스를 삭제하면 실행중인 파드도 삭제된다. 한 커맨드로 여러 개의 리소스를 삭제하기 위해 레이블을 이용한다. 1. 다음 커맨드를 실행하여 모든 파드, 디플로이먼트, 서비스를 삭제한다. @@ -395,11 +398,12 @@ kubectl scale --replicas=3 deployment/frontend No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [리소스 모니터링 도구](/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring/)를 공부한다. * [로깅 아키텍처](/docs/concepts/cluster-administration/logging/)를 더 읽어본다. * [애플리케이션 검사 및 디버깅](/ko/docs/tasks/debug-application-cluster/)을 더 읽어본다. * [애플리케이션 문제 해결](/ko/docs/tasks/debug-application-cluster/resource-usage-monitoring/)을 더 읽어본다. -{{% /capture %}} + diff --git a/content/ko/docs/tutorials/stateless-application/guestbook.md b/content/ko/docs/tutorials/stateless-application/guestbook.md index 4753c83b93..bf91733f9b 100644 --- a/content/ko/docs/tutorials/stateless-application/guestbook.md +++ b/content/ko/docs/tutorials/stateless-application/guestbook.md @@ -1,6 +1,6 @@ --- title: "예시: Redis를 사용한 PHP 방명록 애플리케이션 배포하기" -content_template: templates/tutorial +content_type: tutorial weight: 20 card: name: tutorials @@ -8,32 +8,34 @@ card: title: "상태를 유지하지 않는 예제: Redis를 사용한 PHP 방명록" --- -{{% capture overview %}} + 이 튜토리얼에서는 쿠버네티스와 [Docker](https://www.docker.com/)를 사용하여 간단한 멀티 티어 웹 애플리케이션을 빌드하고 배포하는 방법을 보여준다. 이 예제는 다음과 같은 구성으로 이루어져 있다. * 방명록을 저장하는 단일 인스턴스 [Redis](https://redis.io/) 마스터 * 읽기를 제공하는 여러 개의 [복제된 Redis](https://redis.io/topics/replication) 인스턴스 * 여러 개의 웹 프론트엔드 인스턴스 -{{% /capture %}} -{{% capture objectives %}} + +## {{% heading "objectives" %}} + * Redis 마스터를 시작 * Redis 슬레이브를 시작 * 방명록 프론트엔드를 시작 * 프론트엔드 서비스를 노출하고 확인 * 정리 하기 -{{% /capture %}} -{{% capture prerequisites %}} + +## {{% heading "prerequisites" %}} + {{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} -{{% /capture %}} -{{% capture lessoncontent %}} + + ## Redis 마스터를 실행하기 @@ -319,9 +321,10 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우 redis-slave-2005841000-phfv9 1/1 Running 0 1h ``` -{{% /capture %}} -{{% capture cleanup %}} + +## {{% heading "cleanup" %}} + 디플로이먼트 및 서비스를 삭제하면 실행 중인 모든 파드도 삭제된다. 레이블을 사용하여 하나의 명령어로 여러 자원을 삭제해보자. 1. 모든 파드, 디플로이먼트, 서비스를 삭제하기 위해 아래 명령어를 실행한다. @@ -356,13 +359,14 @@ Google Compute Engine 또는 Google Kubernetes Engine과 같은 일부 클라우 No resources found. ``` -{{% /capture %}} -{{% capture whatsnext %}} + +## {{% heading "whatsnext" %}} + * [ELK 로깅과 모니터링](/ko/docs/tutorials/stateless-application/guestbook-logs-metrics-with-elk/)을 방명록 애플리케이션에 추가하기 * [쿠버네티스 기초](/ko/docs/tutorials/kubernetes-basics/) 튜토리얼을 완료 * [MySQL과 Wordpress을 위한 퍼시스턴트 볼륨](/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/#visit-your-new-wordpress-blog)을 사용하여 블로그 생성하는데 쿠버네티스 이용하기 * [애플리케이션 접속](/ko/docs/concepts/services-networking/connect-applications-service/)에 대해 더 알아보기 * [자원 관리](/docs/concepts/cluster-administration/manage-deployment/#using-labels-effectively)에 대해 더 알아보기 -{{% /capture %}} +