Kf 앱은 클러스터의 전용 노드에 배포할 수 있습니다. 앱 pod가 도착하는 노드를 보다 효과적으로 관리해야 할 때 이 기능이 필요합니다. 여러 앱에서 동일한 클러스터를 공유하지만 특정 앱의 전용 노드가 필요하거나 특정 조직(Kf 공간)의 전용 노드가 필요하거나 Windows와 같은 특정 운영체제를 타겟팅하거나 자주 통신하는 두 서비스의 pod를 같은 위치에 배치하는 경우를 예로 들 수 있습니다.
컴퓨팅 격리를 사용 설정할 때 Kf에서는 Kubernetes nodeSelector를 사용합니다. 이 기능을 사용하려면 먼저 앱 pod가 도착할 노드 또는 노드 풀에 라벨을 추가한 후 Kf 공간에 동일한 적격 라벨을 추가합니다. 이 공간에 설치된 모든 앱이 라벨이 일치하는 노드에 도착합니다.
Kf 클러스터의 nodeSelector 구성
기본적으로 컴퓨팅 격리는 사용 중지되어 있습니다. 다음 절차에 따라 라벨 및 nodeSelector를 구성합니다.
애플리케이션 pod가 도착할 노드에 라벨(distype=ssd)을 추가합니다.
kubectllabelnodesnodeiddisktype=ssd
Kf 공간에 동일한 라벨을 추가합니다. 그러면 이 공간에 배포된 모든 앱이 적격한 노드에 도착합니다.
Kf 앱 배포는 앱을 빌드하고 패키징하는 데 사용되는 Stack(buildpack)을 기반으로 추가로 타겟팅할 수 있습니다. 예를 들어 spaceStacksV2로 빌드된 애플리케이션을 Linux 커널 4.4.1이 있는 노드에 배치하려는 경우 스택의 nodeSelector 값이 공간에서 구성된 값을 재정의합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Compute Isolation\n\nKf Apps can be deployed on dedicated nodes in the cluster. This feature is required if you have the circumstances where you may want more control on a node where an App pod lands. For example, if you are sharing a same cluster for different Apps but want dedicated nodes for a particular App, if you want dedicated nodes for a given organization(Kf Space), to target a specific operating system like Windows, or to co-locate pods from two different services that frequently communicate.\n\nTo enable compute isolation, Kf uses the Kubernetes [nodeSelector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node). To use this feature, first add labels on the nodes or node pools where you want your App pods to land and then add the same qualifying labels on the Kf Space. All the Apps installed in this Space will then land on the nodes with matching labels.\n\nConfiguring nodeSelector in a Kf cluster\n----------------------------------------\n\nBy default, compute isolation is disabled. Use the following procedure\nto configure labels and nodeSelector.\n\n1. Add a label (`distype=ssd`) on the node where you want your application pods to\n land.\n\n kubectl label nodes \u003cvar translate=\"no\"\u003enodeid\u003c/var\u003e disktype=ssd \n\n2. Add the same label on the Kf Space. All Apps deployed in this Space\n will then land on the qualifying nodes.\n\n kf configure-space set-nodeselector \u003cvar translate=\"no\"\u003espace-name\u003c/var\u003e disktype ssd\n\n You can add multiple labels by running the same command again.\n3. Check the label is configured.\n\n kf configure-space get-nodeselector \u003cvar translate=\"no\"\u003espace-name\u003c/var\u003e\n\n4. Delete the label from the space.\n\n kf configure-space unset-nodeselector \u003cvar translate=\"no\"\u003espace-name\u003c/var\u003e disktype\n\nOverride nodeSelector for [kf Stacks](/migrate/kf/docs/2.5/cli/kf-stacks)\n-------------------------------------------------------------------------\n\nDeployment of Kf Apps can be further taregetted based on what Stack (buildpack) is being used to build and package the App. For example, if you want your applications built with `spaceStacksV2` to land on nodes with Linux kernel 4.4.1. `nodeSelector` values on a Stack will override the values configured on the Space.\n\nTo configure the `nodeSelector` on Stack.\n\n1. Edit the `config-defaults` of your Kf cluster and add the labels.\n\n $ kubectl -n kf edit configmaps config-defaults\n\n2. Add `nodeSelector` to the stacks definition.\n\n .....\n .....\n spaceStacksV2: |\n - name: cflinuxfs3\n image: cloudfoundry/cflinuxfs3\n nodeSelector:\n OS_KERNEL: LINUX_4.4.1 \n .....\n ....."]]