Microsoft.ContainerService managedClusters 2021-07-01
- 최신
- 2024-06-02-preview
- 2024-05-02-preview
- 2024-05-01
- 2024-04-02-preview
- 2024-03-02-preview
- 2024-02-01
- 2024-01-02-preview
- 2024-01-01
- 2023-11-02-preview
- 2023-11-01
- 2023-10-02-preview
- 2023-10-01
- 2023-09-02-preview
- 2023-09-01
- 2023-08-02-preview
- 2023-08-01
- 2023-07-02-preview
- 2023-07-01
- 2023-06-02-preview
- 2023-06-01
- 2023-05-02-preview
- 2023-05-01
- 2023-04-02-preview
- 2023-04-01
- 2023-03-02-preview
- 2023-03-01
- 2023-02-02-preview
- 2023-02-01
- 2023-01-02-preview
- 2023-01-01
- 2022-11-02-preview
- 2022-11-01
- 2022-10-02-preview
- 2022-09-01
- 2022-08-03-preview
- 2022-08-02-preview
- 2022-07-01
- 2022-06-01
- 2022-04-01
- 2022-03-01
- 2022-02-01
- 2022-01-01
- 2021-10-01
- 2021-09-01
- 2021-08-01
- 2021-07-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-12-01
- 2020-11-01
- 2020-09-01
Bicep 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
발언
사용 가능한 추가 기능에 대한 자세한 내용은 Azure Kubernetes Service
리소스 형식
Microsoft.ContainerService/managedClusters 리소스를 만들려면 템플릿에 다음 Bicep을 추가합니다.
resource symbolicname 'Microsoft.ContainerService/managedClusters@2021-07-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
name: 'Basic'
tier: 'string'
}
extendedLocation: {
name: 'string'
type: 'EdgeZone'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
aadProfile: {
adminGroupObjectIDs: [
'string'
]
clientAppID: 'string'
enableAzureRBAC: bool
managed: bool
serverAppID: 'string'
serverAppSecret: 'string'
tenantID: 'string'
}
addonProfiles: {
{customized property}: {
config: {
{customized property}: 'string'
}
enabled: bool
}
}
agentPoolProfiles: [
{
availabilityZones: [
'string'
]
count: int
enableAutoScaling: bool
enableEncryptionAtHost: bool
enableFIPS: bool
enableNodePublicIP: bool
enableUltraSSD: bool
gpuInstanceProfile: 'string'
kubeletConfig: {
allowedUnsafeSysctls: [
'string'
]
containerLogMaxFiles: int
containerLogMaxSizeMB: int
cpuCfsQuota: bool
cpuCfsQuotaPeriod: 'string'
cpuManagerPolicy: 'string'
failSwapOn: bool
imageGcHighThreshold: int
imageGcLowThreshold: int
podMaxPids: int
topologyManagerPolicy: 'string'
}
kubeletDiskType: 'string'
linuxOSConfig: {
swapFileSizeMB: int
sysctls: {
fsAioMaxNr: int
fsFileMax: int
fsInotifyMaxUserWatches: int
fsNrOpen: int
kernelThreadsMax: int
netCoreNetdevMaxBacklog: int
netCoreOptmemMax: int
netCoreRmemDefault: int
netCoreRmemMax: int
netCoreSomaxconn: int
netCoreWmemDefault: int
netCoreWmemMax: int
netIpv4IpLocalPortRange: 'string'
netIpv4NeighDefaultGcThresh1: int
netIpv4NeighDefaultGcThresh2: int
netIpv4NeighDefaultGcThresh3: int
netIpv4TcpFinTimeout: int
netIpv4TcpkeepaliveIntvl: int
netIpv4TcpKeepaliveProbes: int
netIpv4TcpKeepaliveTime: int
netIpv4TcpMaxSynBacklog: int
netIpv4TcpMaxTwBuckets: int
netIpv4TcpTwReuse: bool
netNetfilterNfConntrackBuckets: int
netNetfilterNfConntrackMax: int
vmMaxMapCount: int
vmSwappiness: int
vmVfsCachePressure: int
}
transparentHugePageDefrag: 'string'
transparentHugePageEnabled: 'string'
}
maxCount: int
maxPods: int
minCount: int
mode: 'string'
name: 'string'
nodeLabels: {
{customized property}: 'string'
}
nodePublicIPPrefixID: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osSKU: 'string'
osType: 'string'
podSubnetID: 'string'
proximityPlacementGroupID: 'string'
scaleDownMode: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
spotMaxPrice: json('decimal-as-string')
tags: {}
type: 'string'
upgradeSettings: {
maxSurge: 'string'
}
vmSize: 'string'
vnetSubnetID: 'string'
}
]
apiServerAccessProfile: {
authorizedIPRanges: [
'string'
]
enablePrivateCluster: bool
enablePrivateClusterPublicFQDN: bool
privateDNSZone: 'string'
}
autoScalerProfile: {
'balance-similar-node-groups': 'string'
expander: 'string'
'max-empty-bulk-delete': 'string'
'max-graceful-termination-sec': 'string'
'max-node-provision-time': 'string'
'max-total-unready-percentage': 'string'
'new-pod-scale-up-delay': 'string'
'ok-total-unready-count': 'string'
'scale-down-delay-after-add': 'string'
'scale-down-delay-after-delete': 'string'
'scale-down-delay-after-failure': 'string'
'scale-down-unneeded-time': 'string'
'scale-down-unready-time': 'string'
'scale-down-utilization-threshold': 'string'
'scan-interval': 'string'
'skip-nodes-with-local-storage': 'string'
'skip-nodes-with-system-pods': 'string'
}
autoUpgradeProfile: {
upgradeChannel: 'string'
}
disableLocalAccounts: bool
diskEncryptionSetID: 'string'
dnsPrefix: 'string'
enablePodSecurityPolicy: bool
enableRBAC: bool
fqdnSubdomain: 'string'
httpProxyConfig: {
httpProxy: 'string'
httpsProxy: 'string'
noProxy: [
'string'
]
trustedCa: 'string'
}
identityProfile: {
{customized property}: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
}
kubernetesVersion: 'string'
linuxProfile: {
adminUsername: 'string'
ssh: {
publicKeys: [
{
keyData: 'string'
}
]
}
}
networkProfile: {
dnsServiceIP: 'string'
dockerBridgeCidr: 'string'
loadBalancerProfile: {
allocatedOutboundPorts: int
effectiveOutboundIPs: [
{
id: 'string'
}
]
idleTimeoutInMinutes: int
managedOutboundIPs: {
count: int
}
outboundIPPrefixes: {
publicIPPrefixes: [
{
id: 'string'
}
]
}
outboundIPs: {
publicIPs: [
{
id: 'string'
}
]
}
}
loadBalancerSku: 'string'
natGatewayProfile: {
effectiveOutboundIPs: [
{
id: 'string'
}
]
idleTimeoutInMinutes: int
managedOutboundIPProfile: {
count: int
}
}
networkMode: 'string'
networkPlugin: 'string'
networkPolicy: 'string'
outboundType: 'string'
podCidr: 'string'
serviceCidr: 'string'
}
nodeResourceGroup: 'string'
podIdentityProfile: {
allowNetworkPluginKubenet: bool
enabled: bool
userAssignedIdentities: [
{
bindingSelector: 'string'
identity: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
name: 'string'
namespace: 'string'
}
]
userAssignedIdentityExceptions: [
{
name: 'string'
namespace: 'string'
podLabels: {
{customized property}: 'string'
}
}
]
}
privateLinkResources: [
{
groupId: 'string'
id: 'string'
name: 'string'
requiredMembers: [
'string'
]
type: 'string'
}
]
securityProfile: {
azureDefender: {
enabled: bool
logAnalyticsWorkspaceResourceId: 'string'
}
}
servicePrincipalProfile: {
clientId: 'string'
secret: 'string'
}
windowsProfile: {
adminPassword: 'string'
adminUsername: 'string'
enableCSIProxy: bool
licenseType: 'string'
}
}
}
속성 값
managedClusters
이름 | 묘사 | 값 |
---|---|---|
이름 | 리소스 이름 | string(필수) 문자 제한: 1-63 유효한 문자: 영숫자, 밑줄 및 하이픈 영숫자로 시작하고 끝납니다. |
위치 | 리소스 위치 | string(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
sku | 관리되는 클러스터 SKU입니다. | ManagedClusterSKU |
extendedLocation | Virtual Machine의 확장된 위치입니다. | ExtendedLocation |
신원 | 구성된 경우 관리되는 클러스터의 ID입니다. | ManagedClusterIdentity |
속성 | 관리형 클러스터의 속성입니다. | ManagedClusterProperties |
ExtendedLocation
이름 | 묘사 | 값 |
---|---|---|
이름 | 확장된 위치의 이름입니다. | 문자열 |
형 | 확장된 위치의 형식입니다. | 'EdgeZone' |
ManagedClusterIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 자세한 내용은 AKS관리 ID를 사용하는 |
'None' 'SystemAssigned' 'UserAssigned' |
userAssignedIdentities | 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' 형식의 ARM 리소스 ID여야 합니다. | ManagedClusterIdentityUserAssignedIdentities |
ManagedClusterIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
ManagedClusterProperties
이름 | 묘사 | 값 |
---|---|---|
aadProfile | Azure Active Directory 구성입니다. | ManagedClusterAADProfile |
addonProfiles | 관리형 클러스터 추가 기능의 프로필입니다. | managedClusterPropertiesAddonProfiles |
agentPoolProfiles | 에이전트 풀 속성입니다. | managedClusterAgentPoolProfile |
apiServerAccessProfile | 관리형 클러스터 API 서버에 대한 액세스 프로필입니다. | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 사용하도록 설정된 경우 클러스터 자동 크기 조정기에 적용할 매개 변수 | managedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 자동 업그레이드 구성입니다. | ManagedClusterAutoUpgradeProfile |
disableLocalAccounts | true로 설정하면 이 클러스터에 대해 정적 자격 증명 가져오기가 비활성화됩니다. AAD를 사용하도록 설정된 관리형 클러스터에서만 사용해야 합니다. 자세한 내용은 로컬 계정사용하지 않도록 설정하는 |
bool |
diskEncryptionSetID | '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 형식입니다. | 문자열 |
dnsPrefix | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
enablePodSecurityPolicy | (사용되지 않음) Kubernetes Pod 보안 정책(미리 보기)을 사용하도록 설정할지 여부입니다. 이 기능은 2020년 10월 15일에 제거하도록 설정됩니다. aka.ms/aks/azpodpolicy 자세히 알아보세요. | bool |
enableRBAC | Kubernetes Role-Based Access Control을 사용하도록 설정할지 여부입니다. | bool |
fqdnSubdomain | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
httpProxyConfig | HTTP 프록시 서버를 사용하여 클러스터를 프로비전하기 위한 구성입니다. | ManagedClusterHttpProxyConfig |
identityProfile | 클러스터와 연결된 ID입니다. | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 지원되는 AKS 클러스터를 업그레이드하는 경우 Kubernetes 부 버전을 건너뛸 수 없습니다. 모든 업그레이드는 주 버전 번호별로 순차적으로 수행해야 합니다. 예를 들어 1.14.x -> 1.15.x 또는 1.15.x -> 1.16.x 간의 업그레이드는 허용되지만 1.14.x -> 1.16.x는 허용되지 않습니다. 자세한 내용은 AKS 클러스터 업그레이드하는 |
문자열 |
linuxProfile | 관리형 클러스터의 Linux VM에 대한 프로필입니다. | ContainerServiceLinuxProfile |
networkProfile | 네트워크 구성 프로필입니다. | ContainerServiceNetworkProfile |
nodeResourceGroup | 에이전트 풀 노드를 포함하는 리소스 그룹의 이름입니다. | 문자열 |
podIdentityProfile | AAD Pod ID 통합에 대한 자세한 내용은 AAD Pod ID 사용하는 |
ManagedClusterPodIdentityProfile |
privateLinkResources | 클러스터와 연결된 프라이빗 링크 리소스입니다. | privateLinkResource |
securityProfile | 관리되는 클러스터에 대한 보안 프로필입니다. | ManagedClusterSecurityProfile |
servicePrincipalProfile | Azure API 조작에 사용할 클러스터의 서비스 주체 ID에 대한 정보입니다. | ManagedClusterServicePrincipalProfile |
windowsProfile | 관리형 클러스터의 Windows VM에 대한 프로필입니다. | ManagedClusterWindowsProfile |
ManagedClusterAADProfile
이름 | 묘사 | 값 |
---|---|---|
adminGroupObjectIDs | 클러스터의 관리자 역할을 맡게 될 AAD 그룹 개체 ID 목록입니다. | string[] |
clientAppID | 클라이언트 AAD 애플리케이션 ID입니다. | 문자열 |
enableAzureRBAC | Kubernetes 권한 부여에 Azure RBAC를 사용하도록 설정할지 여부입니다. | bool |
관리 | 관리되는 AAD를 사용하도록 설정할지 여부입니다. | bool |
serverAppID | 서버 AAD 애플리케이션 ID입니다. | 문자열 |
serverAppSecret | 서버 AAD 애플리케이션 비밀입니다. | 문자열 |
tenantID | 인증에 사용할 AAD 테넌트 ID입니다. 지정하지 않으면 배포 구독의 테넌트가 사용합니다. | 문자열 |
ManagedClusterPropertiesAddonProfiles
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
이름 | 묘사 | 값 |
---|---|---|
구성(config) | 추가 기능을 구성하기 위한 키-값 쌍입니다. | managedClusterAddonProfileConfig |
사용 | 추가 기능을 사용할 수 있는지 여부입니다. | bool(필수) |
ManagedClusterAddonProfileConfig
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
ManagedClusterAgentPoolProfile
이름 | 묘사 | 값 |
---|---|---|
availabilityZones | 노드에 사용할 가용성 영역 목록입니다. AgentPoolType 속성이 'VirtualMachineScaleSets'인 경우에만 지정할 수 있습니다. | string[] |
세다 | Docker 컨테이너를 호스트할 에이전트(VM) 수입니다. 허용되는 값은 사용자 풀의 경우 0에서 1000(포함) 범위여야 하고 시스템 풀의 경우 1~1000(포함) 범위여야 합니다. 기본값은 1입니다. | int |
enableAutoScaling | 자동 크기 조정기를 사용하도록 설정할지 여부 | bool |
enableEncryptionAtHost | 이는 특정 VM 크기 및 특정 Azure 지역에서만 지원됩니다. 자세한 내용은 다음을 참조하세요. /azure/aks/enable-host-encryption | bool |
enableFIPS | 자세한 내용은 FIPS 사용 노드 풀 추가를 참조하세요. | bool |
enableNodePublicIP | 일부 시나리오에서는 노드 풀의 노드가 자체 전용 공용 IP 주소를 수신해야 할 수 있습니다. 일반적인 시나리오는 홉을 최소화하기 위해 콘솔이 클라우드 가상 머신에 직접 연결해야 하는 게임 워크로드에 대한 것입니다. 자세한 내용은 노드당 공용 IP를 할당하는 |
bool |
enableUltraSSD | UltraSSD를 사용하도록 설정할지 여부 | bool |
gpuInstanceProfile | 지원되는 GPU VM SKU에 대한 GPU MIG 인스턴스 프로필을 지정하는 데 사용되는 GPUInstanceProfile입니다. | 'MIG1g' 'MIG2g' 'MIG3g' 'MIG4g' 'MIG7g' |
kubeletConfig | 에이전트 풀 노드의 Kubelet 구성입니다. | KubeletConfig |
kubeletDiskType | emptyDir 볼륨, 컨테이너 런타임 데이터 루트 및 Kubelet 임시 스토리지의 배치를 결정합니다. | 'OS' '임시' |
linuxOSConfig | Linux 에이전트 노드의 OS 구성입니다. | LinuxOSConfig |
maxCount | 자동 크기 조정을 위한 최대 노드 수 | int |
maxPods | 노드에서 실행할 수 있는 최대 Pod 수입니다. | int |
minCount | 자동 크기 조정을 위한 최소 노드 수 | int |
모드 | 클러스터에는 항상 하나 이상의 '시스템' 에이전트 풀이 있어야 합니다. 에이전트 풀 제한 및 모범 사례에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/use-system-pools | 'System' 'User' |
이름 | Windows 에이전트 풀 이름은 6자 이내여야 합니다. | string(필수) 제약 조건: 패턴 = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 에이전트 풀의 모든 노드에서 유지할 노드 레이블입니다. | managedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 형식입니다. | 문자열 |
nodeTaints | 노드 풀 만들기 및 크기 조정 중에 새 노드에 추가된 taint입니다. 예를 들어 key=value:NoSchedule입니다. | string[] |
orchestratorVersion | AKS 클러스터의 모든 노드 풀을 동일한 Kubernetes 버전으로 업그레이드하는 것이 가장 좋습니다. 노드 풀 버전은 컨트롤 플레인과 동일한 주 버전이어야 합니다. 노드 풀 부 버전은 컨트롤 플레인 버전의 두 부 버전 내에 있어야 합니다. 노드 풀 버전은 컨트롤 플레인 버전보다 클 수 없습니다. 자세한 내용은 노드 풀업그레이드하는 |
문자열 |
osDiskSizeGB | 마스터/에이전트 풀의 모든 컴퓨터에 대한 디스크 크기를 지정하는 데 사용할 OS 디스크 크기(GB)입니다. 0을 지정하면 지정된 vmSize에 따라 기본 osDisk 크기가 적용됩니다. | int 제약 조건: 최소값 = 0 최대값 = 2048 |
osDiskType | VM이 지원하며 요청된 OSDiskSizeGB보다 큰 캐시 디스크가 있는 경우 기본값은 'Ephemeral'입니다. 그렇지 않으면 기본값은 'Managed'입니다. 만든 후에는 변경되지 않을 수 있습니다. 자세한 내용은 임시 OS참조하세요. | '임시' '관리' |
osSKU | OS SKU를 지정합니다. OSType이 Windows인 경우 이 값을 지정해서는 안 됩니다. | 'CBLMariner' 'Ubuntu' |
osType | 운영 체제 유형입니다. 기본값은 Linux입니다. | 'Linux' 'Windows' |
podSubnetID | 생략하면 노드 서브넷에 Pod IP가 정적으로 할당됩니다(자세한 내용은 vnetSubnetID 참조). /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
proximityPlacementGroupID | 근접 배치 그룹의 ID입니다. | 문자열 |
scaleDownMode | 클러스터 자동 크기 조정기 동작에도 영향을 줍니다. 지정하지 않으면 기본적으로 Delete로 설정됩니다. | '할당 취소' 'Delete' |
scaleSetEvictionPolicy | scaleSetPriority가 'Spot'이 아니면 지정할 수 없습니다. 지정하지 않으면 기본값은 'Delete'입니다. | '할당 취소' 'Delete' |
scaleSetPriority | Virtual Machine Scale Set 우선 순위입니다. 지정하지 않으면 기본값은 'Regular'입니다. | 'Regular' 'Spot' |
spotMaxPrice | 가능한 값은 0보다 크거나 -1 값으로, 주문형 가격을 지불하려는 의지를 나타냅니다. 스폿 가격 책정에 대한 자세한 내용은 스폿 VM 가격 책정 10진수 값을 지정하려면 json() 함수를 사용합니다. | int 또는 json decimal |
태그 | 에이전트 풀 가상 머신 확장 집합에 유지할 태그입니다. | 객체 |
형 | 에이전트 풀의 형식입니다. | 'AvailabilitySet' 'VirtualMachineScaleSets' |
upgradeSettings | 에이전트 풀 업그레이드 설정 | AgentPoolUpgradeSettings |
vmSize | VM 크기 가용성은 지역에 따라 다릅니다. 노드에 컴퓨팅 리소스(메모리, cpu 등)가 부족한 경우 Pod가 제대로 실행되지 않을 수 있습니다. 제한된 VM 크기에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/quotas-skus-regions | 문자열 |
vnetSubnetID | 지정하지 않으면 VNET 및 서브넷이 생성되고 사용됩니다. podSubnetID를 지정하지 않으면 노드 및 Pod에 적용되고, 그렇지 않으면 노드에만 적용됩니다. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
KubeletConfig
이름 | 묘사 | 값 |
---|---|---|
allowedUnsafeSysctls | 안전하지 않은 sysctls 또는 안전하지 않은 sysctl 패턴(* 종료)의 허용된 목록입니다. |
string[] |
containerLogMaxFiles | 컨테이너에 대해 존재할 수 있는 컨테이너 로그 파일의 최대 수입니다. 숫자는 ≥ 2여야 합니다. | int 제약 조건: 최소값 = 2 |
containerLogMaxSizeMB | 회전하기 전의 컨테이너 로그 파일의 최대 크기(예: 10Mi)입니다. | int |
cpuCfsQuota | 기본값은 true입니다. | bool |
cpuCfsQuotaPeriod | 기본값은 '100ms'입니다. 유효한 값은 선택적 분수와 단위 접미사가 있는 소수 자릿수의 시퀀스입니다. 예: '300ms', '2h45m'. 지원되는 단위는 'ns', 'us', 'ms', 's', 'm' 및 'h'입니다. | 문자열 |
cpuManagerPolicy | 기본값은 'none'입니다. 자세한 내용은 Kubernetes CPU 관리 정책 참조하세요. 허용되는 값은 'none' 및 'static'입니다. | 문자열 |
failSwapOn | true로 설정하면 노드에서 교환이 활성화된 경우 Kubelet이 시작되지 않습니다. | bool |
imageGcHighThreshold | 이미지 가비지 수집을 사용하지 않도록 설정하려면 100으로 설정합니다. 기본값은 85% | int |
imageGcLowThreshold | imageGcHighThreshold보다 높게 설정할 수 없습니다. 기본값은 80% | int |
podMaxPids | Pod당 최대 프로세스 수입니다. | int |
topologyManagerPolicy | 자세한 내용은 Kubernetes 토폴로지 관리자참조하세요. 기본값은 'none'입니다. 허용되는 값은 'none', 'best-effort', 'restricted' 및 'single-numa-node'입니다. | 문자열 |
LinuxOSConfig
이름 | 묘사 | 값 |
---|---|---|
swapFileSizeMB | 각 노드에서 만들 스왑 파일의 크기(MB)입니다. | int |
sysctls | Linux 에이전트 노드에 대한 Sysctl 설정입니다. | SysctlConfig |
transparentHugePageDefrag | 유효한 값은 'always', 'defer', 'defer+madvise', 'madvise' 및 'never'입니다. 기본값은 'madvise'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
transparentHugePageEnabled | 유효한 값은 'always', 'madvise' 및 'never'입니다. 기본값은 'always'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
SysctlConfig
이름 | 묘사 | 값 |
---|---|---|
fsAioMaxNr | Sysctl 설정 fs.aio-max-nr. | int |
fsFileMax | Sysctl 설정 fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 설정 fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl 설정 fs.nr_open. | int |
kernelThreadsMax | Sysctl 설정 kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl 설정 net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl 설정 net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl 설정 net.core.rmem_default. | int |
netCoreRmemMax | Sysctl 설정 net.core.rmem_max. | int |
netCoreSomaxconn | sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 설정 net.core.wmem_default. | int |
netCoreWmemMax | Sysctl 설정 net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl 설정 net.ipv4.ip_local_port_range. | 문자열 |
netIpv4NeighDefaultGcThresh1 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl 설정 net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl 설정 net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl 설정 net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl 설정 net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl 설정 net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl 설정 net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl 설정 net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl 설정 net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl 설정 net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl 설정 vm.max_map_count. | int |
vmSwappiness | Sysctl 설정 vm.swappiness. | int |
vmVfsCachePressure | Sysctl 설정 vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
AgentPoolUpgradeSettings
이름 | 묘사 | 값 |
---|---|---|
maxSurge | 정수(예: '5') 또는 백분율(예: '50%')으로 설정할 수 있습니다. 백분율을 지정하면 업그레이드 시 총 에이전트 풀 크기의 백분율입니다. 백분율의 경우 소수 노드가 반올림됩니다. 지정하지 않으면 기본값은 1입니다. 모범 사례를 포함한 자세한 내용은 다음을 참조하세요. /azure/aks/upgrade-cluster#customize-node-surge-upgrade | 문자열 |
ManagedClusterAPIServerAccessProfile
이름 | 묘사 | 값 |
---|---|---|
authorizedIPRanges | IP 범위는 CIDR 형식(예: 137.117.106.88/29)으로 지정됩니다. 이 기능은 노드당 공용 IP를 사용하는 클러스터 또는 기본 Load Balancer를 사용하는 클러스터와 호환되지 않습니다. 자세한 내용은 API 서버 권한 있는 IP 범위참조하세요. | string[] |
enablePrivateCluster | 자세한 내용은 프라이빗 AKS 클러스터만들기를 참조하세요. | bool |
enablePrivateClusterPublicFQDN | 프라이빗 클러스터에 대한 추가 공용 FQDN을 만들지 여부를 지정합니다. | bool |
privateDNSZone | 기본값은 System입니다. 자세한 내용은 프라이빗 DNS 영역구성 |
문자열 |
ManagedClusterPropertiesAutoScalerProfile
이름 | 묘사 | 값 |
---|---|---|
balance-similar-node-groups | 유효한 값은 'true' 및 'false'입니다. | 문자열 |
확장기 | 지정하지 않으면 기본값은 'random'입니다. 자세한 내용은 확장기 참조하세요. | '최소 폐기물' '대부분의 포드' 'priority' 'random' |
max-empty-bulk-delete | 기본값은 10입니다. | 문자열 |
max-graceful-termination-sec | 기본값은 600입니다. | 문자열 |
max-node-provision-time | 기본값은 '15m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
max-total-unready-percentage | 기본값은 45입니다. 최대값은 100이고 최소값은 0입니다. | 문자열 |
new-pod-scale-up-delay | kubernetes 스케줄러가 모든 Pod를 예약하기 전에 CA가 작동하지 않도록 하는 버스트/일괄 처리 확장과 같은 시나리오의 경우 특정 기간이 되기 전에 예약되지 않은 Pod를 무시하도록 CA에 지시할 수 있습니다. 기본값은 '0s'입니다. 값은 정수 다음에 단위(초의 경우 's', 분은 'm', 시간 단위는 'h' 등)여야 합니다. | 문자열 |
ok-total-unready-count | 정수여야 합니다. 기본값은 3입니다. | 문자열 |
scale-down-delay-after-add | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
삭제 후 스케일 다운 지연 | 기본값은 검색 간격입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
실패 후 스케일 다운 지연 | 기본값은 '3m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
규모 축소-불필요한 시간 | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운-읽지 않은 시간 | 기본값은 '20m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운 사용률 임계값 | 기본값은 '0.5'입니다. | 문자열 |
스캔 간격 | 기본값은 '10'입니다. 값은 정수(초)여야 합니다. | 문자열 |
skip-nodes-with-local-storage | 기본값은 true입니다. | 문자열 |
skip-nodes-with-system-Pods | 기본값은 true입니다. | 문자열 |
ManagedClusterAutoUpgradeProfile
이름 | 묘사 | 값 |
---|---|---|
upgradeChannel | 자세한 내용은 AKS 클러스터 자동 업그레이드 채널 |
'node-image' 'none' 'patch' '빠른' '안정' |
ManagedClusterHttpProxyConfig
이름 | 묘사 | 값 |
---|---|---|
httpProxy | 사용할 HTTP 프록시 서버 엔드포인트입니다. | 문자열 |
httpsProxy | 사용할 HTTPS 프록시 서버 엔드포인트입니다. | 문자열 |
noProxy | 프록시를 통과해서는 안 되는 엔드포인트입니다. | string[] |
trustedCa | 프록시 서버에 연결하는 데 사용할 대체 CA 인증서입니다. | 문자열 |
ManagedClusterPropertiesIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
objectId | 사용자 할당 ID의 개체 ID입니다. | 문자열 |
resourceId | 사용자 할당 ID의 리소스 ID입니다. | 문자열 |
ContainerServiceLinuxProfile
이름 | 묘사 | 값 |
---|---|---|
adminUsername | Linux VM에 사용할 관리자 사용자 이름입니다. | string(필수) 제약 조건: 패턴 = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | Azure에서 실행되는 Linux 기반 VM에 대한 SSH 구성입니다. | containerServiceSshConfiguration |
ContainerServiceSshConfiguration
이름 | 묘사 | 값 |
---|---|---|
publicKeys | Linux 기반 VM으로 인증하는 데 사용되는 SSH 공개 키 목록입니다. 최대 1키를 지정할 수 있습니다. | ContainerServiceSshPublicKey[] (필수) |
ContainerServiceSshPublicKey
이름 | 묘사 | 값 |
---|---|---|
keyData | SSH를 통해 VM으로 인증하는 데 사용되는 인증서 공개 키입니다. 인증서는 헤더가 있거나 없는 PEM 형식이어야 합니다. | string(필수) |
ContainerServiceNetworkProfile
이름 | 묘사 | 값 |
---|---|---|
dnsServiceIP | Kubernetes DNS 서비스에 할당된 IP 주소입니다. serviceCidr에 지정된 Kubernetes 서비스 주소 범위 내에 있어야 합니다. | 문자열 제약 조건: 패턴 = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | Docker 브리지 네트워크에 할당된 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위 또는 Kubernetes 서비스 주소 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
loadBalancerProfile | 클러스터 부하 분산 장치의 프로필입니다. | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 기본값은 'standard'입니다. 부하 분산 장치 SKU 간의 차이점에 대한 자세한 내용은 Azure Load Balancer SKU 참조하세요. | 'basic' 'standard' |
natGatewayProfile | 클러스터 NAT 게이트웨이의 프로필입니다. | ManagedClusterNATGatewayProfile |
networkMode | networkPlugin이 'azure'가 아닌 경우 지정할 수 없습니다. | 'bridge' 'transparent' |
networkPlugin | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 플러그 인입니다. | 'azure' 'kubenet' |
networkPolicy | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 정책입니다. | 'azure' '칼리코' |
outboundType | 클러스터를 만들 때만 설정할 수 있으며 나중에 변경할 수 없습니다. 자세한 내용은 송신 아웃바운드 형식참조하세요. | 'loadBalancer' 'managedNATGateway' 'userAssignedNATGateway' 'userDefinedRouting' |
podCidr | kubenet을 사용할 때 Pod IP를 할당할 CIDR 표기법 IP 범위입니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | 서비스 클러스터 IP를 할당할 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ManagedClusterLoadBalancerProfile
이름 | 묘사 | 값 |
---|---|---|
allocatedOutboundPorts | VM당 할당된 SNAT 포트의 원하는 수입니다. 허용되는 값의 범위는 0에서 64000(포함)입니다. 기본값은 0으로, Azure에서 동적으로 포트를 할당합니다. | int 제약 조건: 최소값 = 0 최대값 = 64000 |
effectiveOutboundIPs | 클러스터 부하 분산 장치의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 30분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPs | 클러스터 부하 분산 장치에 대한 원하는 관리형 아웃바운드 IP입니다. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 클러스터 부하 분산 장치에 대한 원하는 아웃바운드 IP 접두사 리소스입니다. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
아웃바운드 IP | 클러스터 부하 분산 장치에 필요한 아웃바운드 IP 리소스입니다. | managedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
이름 | 묘사 | 값 |
---|---|---|
아이디 | 정규화된 Azure 리소스 ID입니다. | 문자열 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
세다 | 클러스터 부하 분산 장치에 대해 Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 100(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
이름 | 묘사 | 값 |
---|---|---|
publicIPPrefixes | 공용 IP 접두사 리소스 목록입니다. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
publicIPs | 공용 IP 리소스 목록입니다. | ResourceReference[] |
ManagedClusterNATGatewayProfile
이름 | 묘사 | 값 |
---|---|---|
effectiveOutboundIPs | 클러스터 NAT 게이트웨이의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 4분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPProfile | 클러스터 NAT 게이트웨이의 관리되는 아웃바운드 IP 리소스 프로필입니다. | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
이름 | 묘사 | 값 |
---|---|---|
세다 | Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 16(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 16 |
ManagedClusterPodIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
allowNetworkPluginKubenet | AAD Pod ID의 보안 관련 특성 및 IP 스푸핑의 위험으로 인해 Kubenet에서 실행이 기본적으로 비활성화됩니다. 자세한 내용은 AAD Pod ID Kubenet 네트워크 플러그 인을 사용하는 |
bool |
사용 | Pod ID 추가 기능을 사용할 수 있는지 여부입니다. | bool |
userAssignedIdentities | 클러스터에서 사용할 Pod ID입니다. | managedClusterPodIdentity |
userAssignedIdentityExceptions | 허용할 Pod ID 예외입니다. | managedClusterPodIdentityException |
ManagedClusterPodIdentity
이름 | 묘사 | 값 |
---|---|---|
bindingSelector | AzureIdentityBinding 리소스에 사용할 바인딩 선택기입니다. | 문자열 |
신원 | 사용자가 할당한 ID 세부 정보입니다. | UserAssignedIdentity |
이름 | Pod ID의 이름입니다. | string(필수) |
네임스페이스 | Pod ID의 네임스페이스입니다. | string(필수) |
ManagedClusterPodIdentityException
이름 | 묘사 | 값 |
---|---|---|
이름 | Pod ID 예외의 이름입니다. | string(필수) |
네임스페이스 | Pod ID 예외의 네임스페이스입니다. | string(필수) |
podLabels | 일치시킬 Pod 레이블입니다. | managedClusterPodIdentityExceptionPodLabels |
ManagedClusterPodIdentityExceptionPodLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
PrivateLinkResource
이름 | 묘사 | 값 |
---|---|---|
groupId | 리소스의 그룹 ID입니다. | 문자열 |
아이디 | 프라이빗 링크 리소스의 ID입니다. | 문자열 |
이름 | 프라이빗 링크 리소스의 이름입니다. | 문자열 |
requiredMembers | 리소스의 RequiredMembers | string[] |
형 | 리소스 종류입니다. | 문자열 |
ManagedClusterSecurityProfile
이름 | 묘사 | 값 |
---|---|---|
azureDefender | 보안 프로필에 대한 Azure Defender 설정입니다. | managedClusterSecurityProfileAzureDefender |
ManagedClusterSecurityProfileAzureDefender
이름 | 묘사 | 값 |
---|---|---|
사용 | Azure Defender를 사용하도록 설정할지 여부 | bool |
logAnalyticsWorkspaceResourceId | Azure Defender와 연결할 Log Analytics 작업 영역의 리소스 ID입니다. Azure Defender를 사용하는 경우 이 필드는 필수이며 유효한 작업 영역 리소스 ID여야 합니다. Azure Defender를 사용하지 않도록 설정하면 이 필드가 없어야 합니다. | 문자열 |
ManagedClusterServicePrincipalProfile
이름 | 묘사 | 값 |
---|---|---|
clientId | 서비스 주체의 ID입니다. | string(필수) |
비밀 | 일반 텍스트로 서비스 주체와 연결된 비밀 암호입니다. | 문자열 |
ManagedClusterWindowsProfile
이름 | 묘사 | 값 |
---|---|---|
adminPassword | 관리자 계정의 암호를 지정합니다. 최소 길이: 8자 최대 길이: 123자 복잡성 요구 사항: 아래의 4개 조건 중 3개 조건을 충족해야 합니다. 하위 문자가 있습니다. 대문자 자릿수가 있습니다. 특수 문자가 있음(Regex 일치 [\W_]) 허용 안 함 값: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
문자열 |
adminUsername | 관리자 계정의 이름을 지정합니다. 제한: ""로 끝날 수 없습니다. 허용 안 함 값: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 최소 길이: 1자 최대 길이: 20자 |
string(필수) |
enableCSIProxy | CSI 프록시에 대한 자세한 내용은 CSI 프록시 GitHub 리포지토리참조하세요. | bool |
licenseType | Windows VM에 사용할 라이선스 유형입니다. 자세한 내용은 azure 하이브리드 사용자 혜택 |
'None' 'Windows_Server' |
ManagedClusterSKU
이름 | 묘사 | 값 |
---|---|---|
이름 | 관리되는 클러스터 SKU의 이름입니다. | '기본' |
계층 | 지정하지 않으면 기본값은 'Free'입니다. 자세한 내용은 작동 시간 SLA 참조하세요. | '무료' '유료' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
AKS(Azure Container Service) Jenkins를 사용하여 CI/CD Azure |
컨테이너를 사용하면 애플리케이션을 지속적으로 빌드하고 배포할 수 있습니다. Azure Container Service에서 Kubernetes를 사용하여 해당 컨테이너의 배포를 오케스트레이션하면 복제 가능하고 관리 가능한 컨테이너 클러스터를 달성할 수 있습니다. 컨테이너 이미지 및 오케스트레이션을 생성하도록 연속 빌드를 설정하면 배포의 속도와 안정성을 높일 수 있습니다. |
Azure Gateway Azure |
Blob Storage에서 지원되는 S3 호환 스토리지 API를 제공하는 완전 프라이빗 min.io Azure Gateway 배포 |
NAT 게이트웨이 및 Application Gateway 사용하여 AKS 클러스터 Azure |
이 샘플에서는 아웃바운드 연결을 위한 NAT 게이트웨이와 인바운드 연결을 위한 Application Gateway를 사용하여 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
프라이빗 AKS 클러스터 만들기 Azure 배포 |
이 샘플에서는 jumpbox 가상 머신과 함께 가상 네트워크에서 프라이빗 AKS 클러스터를 만드는 방법을 보여 줍니다. |
공용 DNS 영역 사용하여 프라이빗 AKS 클러스터 만들기 Azure 배포 |
이 샘플에서는 공용 DNS 영역을 사용하여 프라이빗 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
AKS(관리되는 Kubernetes 클러스터) 배포 Azure 배포 |
이 ARM 템플릿은 고급 네트워킹 기능이 있는 AKS 인스턴스를 기존 가상 네트워크에 배포하는 방법을 보여 줍니다. 또한 선택한 서비스 주체는 AKS 클러스터를 포함하는 서브넷에 대해 네트워크 기여자 역할이 할당됩니다. |
AAD(AKS) 사용하여 관리되는 Kubernetes 클러스터 배포 Azure |
이 ARM 템플릿은 고급 네트워킹 기능이 있는 AKS 인스턴스를 기존 가상 네트워크 및 Azure AD 정수로 배포하는 방법을 보여 줍니다. 또한 선택한 서비스 주체는 AKS 클러스터를 포함하는 서브넷에 대해 네트워크 기여자 역할이 할당됩니다. |
azure ML 대한 AKS 클러스터 배포 Azure |
이 템플릿을 사용하면 Azure ML에 연결할 수 있는 엔트로프라이즈 규격 AKS 클러스터를 배포할 수 있습니다. |
AKS(Azure Container Service) Azure |
AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
AKS(Azure Container Service) Azure |
Azure Linux 컨테이너 호스트를 사용하여 AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
Helm 사용하여 AKS(Azure Container Service) Azure |
Helm을 사용하여 AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
AKS(Azure Kubernetes Service) Azure |
AKS(Azure Kubernetes Service)를 통해 관리되는 Kubernetes 클러스터를 배포합니다. |
Application Gateway 수신 컨트롤러 사용하여 AKS 클러스터 Azure |
이 샘플에서는 Application Gateway, Application Gateway 수신 컨트롤러, Azure Container Registry, Log Analytics 및 Key Vault를 사용하여 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
ARM 템플릿 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
발언
사용 가능한 추가 기능에 대한 자세한 내용은 Azure Kubernetes Service
리소스 형식
Microsoft.ContainerService/managedClusters 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2021-07-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"name": "Basic",
"tier": "string"
},
"extendedLocation": {
"name": "string",
"type": "EdgeZone"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"aadProfile": {
"adminGroupObjectIDs": [ "string" ],
"clientAppID": "string",
"enableAzureRBAC": "bool",
"managed": "bool",
"serverAppID": "string",
"serverAppSecret": "string",
"tenantID": "string"
},
"addonProfiles": {
"{customized property}": {
"config": {
"{customized property}": "string"
},
"enabled": "bool"
}
},
"agentPoolProfiles": [
{
"availabilityZones": [ "string" ],
"count": "int",
"enableAutoScaling": "bool",
"enableEncryptionAtHost": "bool",
"enableFIPS": "bool",
"enableNodePublicIP": "bool",
"enableUltraSSD": "bool",
"gpuInstanceProfile": "string",
"kubeletConfig": {
"allowedUnsafeSysctls": [ "string" ],
"containerLogMaxFiles": "int",
"containerLogMaxSizeMB": "int",
"cpuCfsQuota": "bool",
"cpuCfsQuotaPeriod": "string",
"cpuManagerPolicy": "string",
"failSwapOn": "bool",
"imageGcHighThreshold": "int",
"imageGcLowThreshold": "int",
"podMaxPids": "int",
"topologyManagerPolicy": "string"
},
"kubeletDiskType": "string",
"linuxOSConfig": {
"swapFileSizeMB": "int",
"sysctls": {
"fsAioMaxNr": "int",
"fsFileMax": "int",
"fsInotifyMaxUserWatches": "int",
"fsNrOpen": "int",
"kernelThreadsMax": "int",
"netCoreNetdevMaxBacklog": "int",
"netCoreOptmemMax": "int",
"netCoreRmemDefault": "int",
"netCoreRmemMax": "int",
"netCoreSomaxconn": "int",
"netCoreWmemDefault": "int",
"netCoreWmemMax": "int",
"netIpv4IpLocalPortRange": "string",
"netIpv4NeighDefaultGcThresh1": "int",
"netIpv4NeighDefaultGcThresh2": "int",
"netIpv4NeighDefaultGcThresh3": "int",
"netIpv4TcpFinTimeout": "int",
"netIpv4TcpkeepaliveIntvl": "int",
"netIpv4TcpKeepaliveProbes": "int",
"netIpv4TcpKeepaliveTime": "int",
"netIpv4TcpMaxSynBacklog": "int",
"netIpv4TcpMaxTwBuckets": "int",
"netIpv4TcpTwReuse": "bool",
"netNetfilterNfConntrackBuckets": "int",
"netNetfilterNfConntrackMax": "int",
"vmMaxMapCount": "int",
"vmSwappiness": "int",
"vmVfsCachePressure": "int"
},
"transparentHugePageDefrag": "string",
"transparentHugePageEnabled": "string"
},
"maxCount": "int",
"maxPods": "int",
"minCount": "int",
"mode": "string",
"name": "string",
"nodeLabels": {
"{customized property}": "string"
},
"nodePublicIPPrefixID": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osSKU": "string",
"osType": "string",
"podSubnetID": "string",
"proximityPlacementGroupID": "string",
"scaleDownMode": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"spotMaxPrice": "[json('decimal-as-string')]",
"tags": {},
"type": "string",
"upgradeSettings": {
"maxSurge": "string"
},
"vmSize": "string",
"vnetSubnetID": "string"
}
],
"apiServerAccessProfile": {
"authorizedIPRanges": [ "string" ],
"enablePrivateCluster": "bool",
"enablePrivateClusterPublicFQDN": "bool",
"privateDNSZone": "string"
},
"autoScalerProfile": {
"balance-similar-node-groups": "string",
"expander": "string",
"max-empty-bulk-delete": "string",
"max-graceful-termination-sec": "string",
"max-node-provision-time": "string",
"max-total-unready-percentage": "string",
"new-pod-scale-up-delay": "string",
"ok-total-unready-count": "string",
"scale-down-delay-after-add": "string",
"scale-down-delay-after-delete": "string",
"scale-down-delay-after-failure": "string",
"scale-down-unneeded-time": "string",
"scale-down-unready-time": "string",
"scale-down-utilization-threshold": "string",
"scan-interval": "string",
"skip-nodes-with-local-storage": "string",
"skip-nodes-with-system-pods": "string"
},
"autoUpgradeProfile": {
"upgradeChannel": "string"
},
"disableLocalAccounts": "bool",
"diskEncryptionSetID": "string",
"dnsPrefix": "string",
"enablePodSecurityPolicy": "bool",
"enableRBAC": "bool",
"fqdnSubdomain": "string",
"httpProxyConfig": {
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": [ "string" ],
"trustedCa": "string"
},
"identityProfile": {
"{customized property}": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
}
},
"kubernetesVersion": "string",
"linuxProfile": {
"adminUsername": "string",
"ssh": {
"publicKeys": [
{
"keyData": "string"
}
]
}
},
"networkProfile": {
"dnsServiceIP": "string",
"dockerBridgeCidr": "string",
"loadBalancerProfile": {
"allocatedOutboundPorts": "int",
"effectiveOutboundIPs": [
{
"id": "string"
}
],
"idleTimeoutInMinutes": "int",
"managedOutboundIPs": {
"count": "int"
},
"outboundIPPrefixes": {
"publicIPPrefixes": [
{
"id": "string"
}
]
},
"outboundIPs": {
"publicIPs": [
{
"id": "string"
}
]
}
},
"loadBalancerSku": "string",
"natGatewayProfile": {
"effectiveOutboundIPs": [
{
"id": "string"
}
],
"idleTimeoutInMinutes": "int",
"managedOutboundIPProfile": {
"count": "int"
}
},
"networkMode": "string",
"networkPlugin": "string",
"networkPolicy": "string",
"outboundType": "string",
"podCidr": "string",
"serviceCidr": "string"
},
"nodeResourceGroup": "string",
"podIdentityProfile": {
"allowNetworkPluginKubenet": "bool",
"enabled": "bool",
"userAssignedIdentities": [
{
"bindingSelector": "string",
"identity": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
},
"name": "string",
"namespace": "string"
}
],
"userAssignedIdentityExceptions": [
{
"name": "string",
"namespace": "string",
"podLabels": {
"{customized property}": "string"
}
}
]
},
"privateLinkResources": [
{
"groupId": "string",
"id": "string",
"name": "string",
"requiredMembers": [ "string" ],
"type": "string"
}
],
"securityProfile": {
"azureDefender": {
"enabled": "bool",
"logAnalyticsWorkspaceResourceId": "string"
}
},
"servicePrincipalProfile": {
"clientId": "string",
"secret": "string"
},
"windowsProfile": {
"adminPassword": "string",
"adminUsername": "string",
"enableCSIProxy": "bool",
"licenseType": "string"
}
}
}
속성 값
managedClusters
이름 | 묘사 | 값 |
---|---|---|
형 | 리소스 종류 | 'Microsoft.ContainerService/managedClusters' |
apiVersion | 리소스 api 버전 | '2021-07-01' |
이름 | 리소스 이름 | string(필수) 문자 제한: 1-63 유효한 문자: 영숫자, 밑줄 및 하이픈 영숫자로 시작하고 끝납니다. |
위치 | 리소스 위치 | string(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
sku | 관리되는 클러스터 SKU입니다. | ManagedClusterSKU |
extendedLocation | Virtual Machine의 확장된 위치입니다. | ExtendedLocation |
신원 | 구성된 경우 관리되는 클러스터의 ID입니다. | ManagedClusterIdentity |
속성 | 관리형 클러스터의 속성입니다. | ManagedClusterProperties |
ExtendedLocation
이름 | 묘사 | 값 |
---|---|---|
이름 | 확장된 위치의 이름입니다. | 문자열 |
형 | 확장된 위치의 형식입니다. | 'EdgeZone' |
ManagedClusterIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 자세한 내용은 AKS관리 ID를 사용하는 |
'None' 'SystemAssigned' 'UserAssigned' |
userAssignedIdentities | 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' 형식의 ARM 리소스 ID여야 합니다. | ManagedClusterIdentityUserAssignedIdentities |
ManagedClusterIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
ManagedClusterProperties
이름 | 묘사 | 값 |
---|---|---|
aadProfile | Azure Active Directory 구성입니다. | ManagedClusterAADProfile |
addonProfiles | 관리형 클러스터 추가 기능의 프로필입니다. | managedClusterPropertiesAddonProfiles |
agentPoolProfiles | 에이전트 풀 속성입니다. | managedClusterAgentPoolProfile |
apiServerAccessProfile | 관리형 클러스터 API 서버에 대한 액세스 프로필입니다. | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 사용하도록 설정된 경우 클러스터 자동 크기 조정기에 적용할 매개 변수 | managedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 자동 업그레이드 구성입니다. | ManagedClusterAutoUpgradeProfile |
disableLocalAccounts | true로 설정하면 이 클러스터에 대해 정적 자격 증명 가져오기가 비활성화됩니다. AAD를 사용하도록 설정된 관리형 클러스터에서만 사용해야 합니다. 자세한 내용은 로컬 계정사용하지 않도록 설정하는 |
bool |
diskEncryptionSetID | '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 형식입니다. | 문자열 |
dnsPrefix | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
enablePodSecurityPolicy | (사용되지 않음) Kubernetes Pod 보안 정책(미리 보기)을 사용하도록 설정할지 여부입니다. 이 기능은 2020년 10월 15일에 제거하도록 설정됩니다. aka.ms/aks/azpodpolicy 자세히 알아보세요. | bool |
enableRBAC | Kubernetes Role-Based Access Control을 사용하도록 설정할지 여부입니다. | bool |
fqdnSubdomain | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
httpProxyConfig | HTTP 프록시 서버를 사용하여 클러스터를 프로비전하기 위한 구성입니다. | ManagedClusterHttpProxyConfig |
identityProfile | 클러스터와 연결된 ID입니다. | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 지원되는 AKS 클러스터를 업그레이드하는 경우 Kubernetes 부 버전을 건너뛸 수 없습니다. 모든 업그레이드는 주 버전 번호별로 순차적으로 수행해야 합니다. 예를 들어 1.14.x -> 1.15.x 또는 1.15.x -> 1.16.x 간의 업그레이드는 허용되지만 1.14.x -> 1.16.x는 허용되지 않습니다. 자세한 내용은 AKS 클러스터 업그레이드하는 |
문자열 |
linuxProfile | 관리형 클러스터의 Linux VM에 대한 프로필입니다. | ContainerServiceLinuxProfile |
networkProfile | 네트워크 구성 프로필입니다. | ContainerServiceNetworkProfile |
nodeResourceGroup | 에이전트 풀 노드를 포함하는 리소스 그룹의 이름입니다. | 문자열 |
podIdentityProfile | AAD Pod ID 통합에 대한 자세한 내용은 AAD Pod ID 사용하는 |
ManagedClusterPodIdentityProfile |
privateLinkResources | 클러스터와 연결된 프라이빗 링크 리소스입니다. | privateLinkResource |
securityProfile | 관리되는 클러스터에 대한 보안 프로필입니다. | ManagedClusterSecurityProfile |
servicePrincipalProfile | Azure API 조작에 사용할 클러스터의 서비스 주체 ID에 대한 정보입니다. | ManagedClusterServicePrincipalProfile |
windowsProfile | 관리형 클러스터의 Windows VM에 대한 프로필입니다. | ManagedClusterWindowsProfile |
ManagedClusterAADProfile
이름 | 묘사 | 값 |
---|---|---|
adminGroupObjectIDs | 클러스터의 관리자 역할을 맡게 될 AAD 그룹 개체 ID 목록입니다. | string[] |
clientAppID | 클라이언트 AAD 애플리케이션 ID입니다. | 문자열 |
enableAzureRBAC | Kubernetes 권한 부여에 Azure RBAC를 사용하도록 설정할지 여부입니다. | bool |
관리 | 관리되는 AAD를 사용하도록 설정할지 여부입니다. | bool |
serverAppID | 서버 AAD 애플리케이션 ID입니다. | 문자열 |
serverAppSecret | 서버 AAD 애플리케이션 비밀입니다. | 문자열 |
tenantID | 인증에 사용할 AAD 테넌트 ID입니다. 지정하지 않으면 배포 구독의 테넌트가 사용합니다. | 문자열 |
ManagedClusterPropertiesAddonProfiles
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
이름 | 묘사 | 값 |
---|---|---|
구성(config) | 추가 기능을 구성하기 위한 키-값 쌍입니다. | managedClusterAddonProfileConfig |
사용 | 추가 기능을 사용할 수 있는지 여부입니다. | bool(필수) |
ManagedClusterAddonProfileConfig
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
ManagedClusterAgentPoolProfile
이름 | 묘사 | 값 |
---|---|---|
availabilityZones | 노드에 사용할 가용성 영역 목록입니다. AgentPoolType 속성이 'VirtualMachineScaleSets'인 경우에만 지정할 수 있습니다. | string[] |
세다 | Docker 컨테이너를 호스트할 에이전트(VM) 수입니다. 허용되는 값은 사용자 풀의 경우 0에서 1000(포함) 범위여야 하고 시스템 풀의 경우 1~1000(포함) 범위여야 합니다. 기본값은 1입니다. | int |
enableAutoScaling | 자동 크기 조정기를 사용하도록 설정할지 여부 | bool |
enableEncryptionAtHost | 이는 특정 VM 크기 및 특정 Azure 지역에서만 지원됩니다. 자세한 내용은 다음을 참조하세요. /azure/aks/enable-host-encryption | bool |
enableFIPS | 자세한 내용은 FIPS 사용 노드 풀 추가를 참조하세요. | bool |
enableNodePublicIP | 일부 시나리오에서는 노드 풀의 노드가 자체 전용 공용 IP 주소를 수신해야 할 수 있습니다. 일반적인 시나리오는 홉을 최소화하기 위해 콘솔이 클라우드 가상 머신에 직접 연결해야 하는 게임 워크로드에 대한 것입니다. 자세한 내용은 노드당 공용 IP를 할당하는 |
bool |
enableUltraSSD | UltraSSD를 사용하도록 설정할지 여부 | bool |
gpuInstanceProfile | 지원되는 GPU VM SKU에 대한 GPU MIG 인스턴스 프로필을 지정하는 데 사용되는 GPUInstanceProfile입니다. | 'MIG1g' 'MIG2g' 'MIG3g' 'MIG4g' 'MIG7g' |
kubeletConfig | 에이전트 풀 노드의 Kubelet 구성입니다. | KubeletConfig |
kubeletDiskType | emptyDir 볼륨, 컨테이너 런타임 데이터 루트 및 Kubelet 임시 스토리지의 배치를 결정합니다. | 'OS' '임시' |
linuxOSConfig | Linux 에이전트 노드의 OS 구성입니다. | LinuxOSConfig |
maxCount | 자동 크기 조정을 위한 최대 노드 수 | int |
maxPods | 노드에서 실행할 수 있는 최대 Pod 수입니다. | int |
minCount | 자동 크기 조정을 위한 최소 노드 수 | int |
모드 | 클러스터에는 항상 하나 이상의 '시스템' 에이전트 풀이 있어야 합니다. 에이전트 풀 제한 및 모범 사례에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/use-system-pools | 'System' 'User' |
이름 | Windows 에이전트 풀 이름은 6자 이내여야 합니다. | string(필수) 제약 조건: 패턴 = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 에이전트 풀의 모든 노드에서 유지할 노드 레이블입니다. | managedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 형식입니다. | 문자열 |
nodeTaints | 노드 풀 만들기 및 크기 조정 중에 새 노드에 추가된 taint입니다. 예를 들어 key=value:NoSchedule입니다. | string[] |
orchestratorVersion | AKS 클러스터의 모든 노드 풀을 동일한 Kubernetes 버전으로 업그레이드하는 것이 가장 좋습니다. 노드 풀 버전은 컨트롤 플레인과 동일한 주 버전이어야 합니다. 노드 풀 부 버전은 컨트롤 플레인 버전의 두 부 버전 내에 있어야 합니다. 노드 풀 버전은 컨트롤 플레인 버전보다 클 수 없습니다. 자세한 내용은 노드 풀업그레이드하는 |
문자열 |
osDiskSizeGB | 마스터/에이전트 풀의 모든 컴퓨터에 대한 디스크 크기를 지정하는 데 사용할 OS 디스크 크기(GB)입니다. 0을 지정하면 지정된 vmSize에 따라 기본 osDisk 크기가 적용됩니다. | int 제약 조건: 최소값 = 0 최대값 = 2048 |
osDiskType | VM이 지원하며 요청된 OSDiskSizeGB보다 큰 캐시 디스크가 있는 경우 기본값은 'Ephemeral'입니다. 그렇지 않으면 기본값은 'Managed'입니다. 만든 후에는 변경되지 않을 수 있습니다. 자세한 내용은 임시 OS참조하세요. | '임시' '관리' |
osSKU | OS SKU를 지정합니다. OSType이 Windows인 경우 이 값을 지정해서는 안 됩니다. | 'CBLMariner' 'Ubuntu' |
osType | 운영 체제 유형입니다. 기본값은 Linux입니다. | 'Linux' 'Windows' |
podSubnetID | 생략하면 노드 서브넷에 Pod IP가 정적으로 할당됩니다(자세한 내용은 vnetSubnetID 참조). /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
proximityPlacementGroupID | 근접 배치 그룹의 ID입니다. | 문자열 |
scaleDownMode | 클러스터 자동 크기 조정기 동작에도 영향을 줍니다. 지정하지 않으면 기본적으로 Delete로 설정됩니다. | '할당 취소' 'Delete' |
scaleSetEvictionPolicy | scaleSetPriority가 'Spot'이 아니면 지정할 수 없습니다. 지정하지 않으면 기본값은 'Delete'입니다. | '할당 취소' 'Delete' |
scaleSetPriority | Virtual Machine Scale Set 우선 순위입니다. 지정하지 않으면 기본값은 'Regular'입니다. | 'Regular' 'Spot' |
spotMaxPrice | 가능한 값은 0보다 크거나 -1 값으로, 주문형 가격을 지불하려는 의지를 나타냅니다. 스폿 가격 책정에 대한 자세한 내용은 스폿 VM 가격 책정 10진수 값을 지정하려면 json() 함수를 사용합니다. | int 또는 json decimal |
태그 | 에이전트 풀 가상 머신 확장 집합에 유지할 태그입니다. | 객체 |
형 | 에이전트 풀의 형식입니다. | 'AvailabilitySet' 'VirtualMachineScaleSets' |
upgradeSettings | 에이전트 풀 업그레이드 설정 | AgentPoolUpgradeSettings |
vmSize | VM 크기 가용성은 지역에 따라 다릅니다. 노드에 컴퓨팅 리소스(메모리, cpu 등)가 부족한 경우 Pod가 제대로 실행되지 않을 수 있습니다. 제한된 VM 크기에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/quotas-skus-regions | 문자열 |
vnetSubnetID | 지정하지 않으면 VNET 및 서브넷이 생성되고 사용됩니다. podSubnetID를 지정하지 않으면 노드 및 Pod에 적용되고, 그렇지 않으면 노드에만 적용됩니다. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
KubeletConfig
이름 | 묘사 | 값 |
---|---|---|
allowedUnsafeSysctls | 안전하지 않은 sysctls 또는 안전하지 않은 sysctl 패턴(* 종료)의 허용된 목록입니다. |
string[] |
containerLogMaxFiles | 컨테이너에 대해 존재할 수 있는 컨테이너 로그 파일의 최대 수입니다. 숫자는 ≥ 2여야 합니다. | int 제약 조건: 최소값 = 2 |
containerLogMaxSizeMB | 회전하기 전의 컨테이너 로그 파일의 최대 크기(예: 10Mi)입니다. | int |
cpuCfsQuota | 기본값은 true입니다. | bool |
cpuCfsQuotaPeriod | 기본값은 '100ms'입니다. 유효한 값은 선택적 분수와 단위 접미사가 있는 소수 자릿수의 시퀀스입니다. 예: '300ms', '2h45m'. 지원되는 단위는 'ns', 'us', 'ms', 's', 'm' 및 'h'입니다. | 문자열 |
cpuManagerPolicy | 기본값은 'none'입니다. 자세한 내용은 Kubernetes CPU 관리 정책 참조하세요. 허용되는 값은 'none' 및 'static'입니다. | 문자열 |
failSwapOn | true로 설정하면 노드에서 교환이 활성화된 경우 Kubelet이 시작되지 않습니다. | bool |
imageGcHighThreshold | 이미지 가비지 수집을 사용하지 않도록 설정하려면 100으로 설정합니다. 기본값은 85% | int |
imageGcLowThreshold | imageGcHighThreshold보다 높게 설정할 수 없습니다. 기본값은 80% | int |
podMaxPids | Pod당 최대 프로세스 수입니다. | int |
topologyManagerPolicy | 자세한 내용은 Kubernetes 토폴로지 관리자참조하세요. 기본값은 'none'입니다. 허용되는 값은 'none', 'best-effort', 'restricted' 및 'single-numa-node'입니다. | 문자열 |
LinuxOSConfig
이름 | 묘사 | 값 |
---|---|---|
swapFileSizeMB | 각 노드에서 만들 스왑 파일의 크기(MB)입니다. | int |
sysctls | Linux 에이전트 노드에 대한 Sysctl 설정입니다. | SysctlConfig |
transparentHugePageDefrag | 유효한 값은 'always', 'defer', 'defer+madvise', 'madvise' 및 'never'입니다. 기본값은 'madvise'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
transparentHugePageEnabled | 유효한 값은 'always', 'madvise' 및 'never'입니다. 기본값은 'always'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
SysctlConfig
이름 | 묘사 | 값 |
---|---|---|
fsAioMaxNr | Sysctl 설정 fs.aio-max-nr. | int |
fsFileMax | Sysctl 설정 fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 설정 fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl 설정 fs.nr_open. | int |
kernelThreadsMax | Sysctl 설정 kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl 설정 net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl 설정 net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl 설정 net.core.rmem_default. | int |
netCoreRmemMax | Sysctl 설정 net.core.rmem_max. | int |
netCoreSomaxconn | sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 설정 net.core.wmem_default. | int |
netCoreWmemMax | Sysctl 설정 net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl 설정 net.ipv4.ip_local_port_range. | 문자열 |
netIpv4NeighDefaultGcThresh1 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl 설정 net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl 설정 net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl 설정 net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl 설정 net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl 설정 net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl 설정 net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl 설정 net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl 설정 net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl 설정 net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl 설정 vm.max_map_count. | int |
vmSwappiness | Sysctl 설정 vm.swappiness. | int |
vmVfsCachePressure | Sysctl 설정 vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
AgentPoolUpgradeSettings
이름 | 묘사 | 값 |
---|---|---|
maxSurge | 정수(예: '5') 또는 백분율(예: '50%')으로 설정할 수 있습니다. 백분율을 지정하면 업그레이드 시 총 에이전트 풀 크기의 백분율입니다. 백분율의 경우 소수 노드가 반올림됩니다. 지정하지 않으면 기본값은 1입니다. 모범 사례를 포함한 자세한 내용은 다음을 참조하세요. /azure/aks/upgrade-cluster#customize-node-surge-upgrade | 문자열 |
ManagedClusterAPIServerAccessProfile
이름 | 묘사 | 값 |
---|---|---|
authorizedIPRanges | IP 범위는 CIDR 형식(예: 137.117.106.88/29)으로 지정됩니다. 이 기능은 노드당 공용 IP를 사용하는 클러스터 또는 기본 Load Balancer를 사용하는 클러스터와 호환되지 않습니다. 자세한 내용은 API 서버 권한 있는 IP 범위참조하세요. | string[] |
enablePrivateCluster | 자세한 내용은 프라이빗 AKS 클러스터만들기를 참조하세요. | bool |
enablePrivateClusterPublicFQDN | 프라이빗 클러스터에 대한 추가 공용 FQDN을 만들지 여부를 지정합니다. | bool |
privateDNSZone | 기본값은 System입니다. 자세한 내용은 프라이빗 DNS 영역구성 |
문자열 |
ManagedClusterPropertiesAutoScalerProfile
이름 | 묘사 | 값 |
---|---|---|
balance-similar-node-groups | 유효한 값은 'true' 및 'false'입니다. | 문자열 |
확장기 | 지정하지 않으면 기본값은 'random'입니다. 자세한 내용은 확장기 참조하세요. | '최소 폐기물' '대부분의 포드' 'priority' 'random' |
max-empty-bulk-delete | 기본값은 10입니다. | 문자열 |
max-graceful-termination-sec | 기본값은 600입니다. | 문자열 |
max-node-provision-time | 기본값은 '15m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
max-total-unready-percentage | 기본값은 45입니다. 최대값은 100이고 최소값은 0입니다. | 문자열 |
new-pod-scale-up-delay | kubernetes 스케줄러가 모든 Pod를 예약하기 전에 CA가 작동하지 않도록 하는 버스트/일괄 처리 확장과 같은 시나리오의 경우 특정 기간이 되기 전에 예약되지 않은 Pod를 무시하도록 CA에 지시할 수 있습니다. 기본값은 '0s'입니다. 값은 정수 다음에 단위(초의 경우 's', 분은 'm', 시간 단위는 'h' 등)여야 합니다. | 문자열 |
ok-total-unready-count | 정수여야 합니다. 기본값은 3입니다. | 문자열 |
scale-down-delay-after-add | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
삭제 후 스케일 다운 지연 | 기본값은 검색 간격입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
실패 후 스케일 다운 지연 | 기본값은 '3m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
규모 축소-불필요한 시간 | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운-읽지 않은 시간 | 기본값은 '20m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운 사용률 임계값 | 기본값은 '0.5'입니다. | 문자열 |
스캔 간격 | 기본값은 '10'입니다. 값은 정수(초)여야 합니다. | 문자열 |
skip-nodes-with-local-storage | 기본값은 true입니다. | 문자열 |
skip-nodes-with-system-Pods | 기본값은 true입니다. | 문자열 |
ManagedClusterAutoUpgradeProfile
이름 | 묘사 | 값 |
---|---|---|
upgradeChannel | 자세한 내용은 AKS 클러스터 자동 업그레이드 채널 |
'node-image' 'none' 'patch' '빠른' '안정' |
ManagedClusterHttpProxyConfig
이름 | 묘사 | 값 |
---|---|---|
httpProxy | 사용할 HTTP 프록시 서버 엔드포인트입니다. | 문자열 |
httpsProxy | 사용할 HTTPS 프록시 서버 엔드포인트입니다. | 문자열 |
noProxy | 프록시를 통과해서는 안 되는 엔드포인트입니다. | string[] |
trustedCa | 프록시 서버에 연결하는 데 사용할 대체 CA 인증서입니다. | 문자열 |
ManagedClusterPropertiesIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
objectId | 사용자 할당 ID의 개체 ID입니다. | 문자열 |
resourceId | 사용자 할당 ID의 리소스 ID입니다. | 문자열 |
ContainerServiceLinuxProfile
이름 | 묘사 | 값 |
---|---|---|
adminUsername | Linux VM에 사용할 관리자 사용자 이름입니다. | string(필수) 제약 조건: 패턴 = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | Azure에서 실행되는 Linux 기반 VM에 대한 SSH 구성입니다. | containerServiceSshConfiguration |
ContainerServiceSshConfiguration
이름 | 묘사 | 값 |
---|---|---|
publicKeys | Linux 기반 VM으로 인증하는 데 사용되는 SSH 공개 키 목록입니다. 최대 1키를 지정할 수 있습니다. | ContainerServiceSshPublicKey[] (필수) |
ContainerServiceSshPublicKey
이름 | 묘사 | 값 |
---|---|---|
keyData | SSH를 통해 VM으로 인증하는 데 사용되는 인증서 공개 키입니다. 인증서는 헤더가 있거나 없는 PEM 형식이어야 합니다. | string(필수) |
ContainerServiceNetworkProfile
이름 | 묘사 | 값 |
---|---|---|
dnsServiceIP | Kubernetes DNS 서비스에 할당된 IP 주소입니다. serviceCidr에 지정된 Kubernetes 서비스 주소 범위 내에 있어야 합니다. | 문자열 제약 조건: 패턴 = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | Docker 브리지 네트워크에 할당된 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위 또는 Kubernetes 서비스 주소 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
loadBalancerProfile | 클러스터 부하 분산 장치의 프로필입니다. | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 기본값은 'standard'입니다. 부하 분산 장치 SKU 간의 차이점에 대한 자세한 내용은 Azure Load Balancer SKU 참조하세요. | 'basic' 'standard' |
natGatewayProfile | 클러스터 NAT 게이트웨이의 프로필입니다. | ManagedClusterNATGatewayProfile |
networkMode | networkPlugin이 'azure'가 아닌 경우 지정할 수 없습니다. | 'bridge' 'transparent' |
networkPlugin | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 플러그 인입니다. | 'azure' 'kubenet' |
networkPolicy | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 정책입니다. | 'azure' '칼리코' |
outboundType | 클러스터를 만들 때만 설정할 수 있으며 나중에 변경할 수 없습니다. 자세한 내용은 송신 아웃바운드 형식참조하세요. | 'loadBalancer' 'managedNATGateway' 'userAssignedNATGateway' 'userDefinedRouting' |
podCidr | kubenet을 사용할 때 Pod IP를 할당할 CIDR 표기법 IP 범위입니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | 서비스 클러스터 IP를 할당할 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ManagedClusterLoadBalancerProfile
이름 | 묘사 | 값 |
---|---|---|
allocatedOutboundPorts | VM당 할당된 SNAT 포트의 원하는 수입니다. 허용되는 값의 범위는 0에서 64000(포함)입니다. 기본값은 0으로, Azure에서 동적으로 포트를 할당합니다. | int 제약 조건: 최소값 = 0 최대값 = 64000 |
effectiveOutboundIPs | 클러스터 부하 분산 장치의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 30분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPs | 클러스터 부하 분산 장치에 대한 원하는 관리형 아웃바운드 IP입니다. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 클러스터 부하 분산 장치에 대한 원하는 아웃바운드 IP 접두사 리소스입니다. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
아웃바운드 IP | 클러스터 부하 분산 장치에 필요한 아웃바운드 IP 리소스입니다. | managedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
이름 | 묘사 | 값 |
---|---|---|
아이디 | 정규화된 Azure 리소스 ID입니다. | 문자열 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
세다 | 클러스터 부하 분산 장치에 대해 Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 100(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
이름 | 묘사 | 값 |
---|---|---|
publicIPPrefixes | 공용 IP 접두사 리소스 목록입니다. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
publicIPs | 공용 IP 리소스 목록입니다. | ResourceReference[] |
ManagedClusterNATGatewayProfile
이름 | 묘사 | 값 |
---|---|---|
effectiveOutboundIPs | 클러스터 NAT 게이트웨이의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 4분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPProfile | 클러스터 NAT 게이트웨이의 관리되는 아웃바운드 IP 리소스 프로필입니다. | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
이름 | 묘사 | 값 |
---|---|---|
세다 | Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 16(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 16 |
ManagedClusterPodIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
allowNetworkPluginKubenet | AAD Pod ID의 보안 관련 특성 및 IP 스푸핑의 위험으로 인해 Kubenet에서 실행이 기본적으로 비활성화됩니다. 자세한 내용은 AAD Pod ID Kubenet 네트워크 플러그 인을 사용하는 |
bool |
사용 | Pod ID 추가 기능을 사용할 수 있는지 여부입니다. | bool |
userAssignedIdentities | 클러스터에서 사용할 Pod ID입니다. | managedClusterPodIdentity |
userAssignedIdentityExceptions | 허용할 Pod ID 예외입니다. | managedClusterPodIdentityException |
ManagedClusterPodIdentity
이름 | 묘사 | 값 |
---|---|---|
bindingSelector | AzureIdentityBinding 리소스에 사용할 바인딩 선택기입니다. | 문자열 |
신원 | 사용자가 할당한 ID 세부 정보입니다. | UserAssignedIdentity |
이름 | Pod ID의 이름입니다. | string(필수) |
네임스페이스 | Pod ID의 네임스페이스입니다. | string(필수) |
ManagedClusterPodIdentityException
이름 | 묘사 | 값 |
---|---|---|
이름 | Pod ID 예외의 이름입니다. | string(필수) |
네임스페이스 | Pod ID 예외의 네임스페이스입니다. | string(필수) |
podLabels | 일치시킬 Pod 레이블입니다. | managedClusterPodIdentityExceptionPodLabels |
ManagedClusterPodIdentityExceptionPodLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
PrivateLinkResource
이름 | 묘사 | 값 |
---|---|---|
groupId | 리소스의 그룹 ID입니다. | 문자열 |
아이디 | 프라이빗 링크 리소스의 ID입니다. | 문자열 |
이름 | 프라이빗 링크 리소스의 이름입니다. | 문자열 |
requiredMembers | 리소스의 RequiredMembers | string[] |
형 | 리소스 종류입니다. | 문자열 |
ManagedClusterSecurityProfile
이름 | 묘사 | 값 |
---|---|---|
azureDefender | 보안 프로필에 대한 Azure Defender 설정입니다. | managedClusterSecurityProfileAzureDefender |
ManagedClusterSecurityProfileAzureDefender
이름 | 묘사 | 값 |
---|---|---|
사용 | Azure Defender를 사용하도록 설정할지 여부 | bool |
logAnalyticsWorkspaceResourceId | Azure Defender와 연결할 Log Analytics 작업 영역의 리소스 ID입니다. Azure Defender를 사용하는 경우 이 필드는 필수이며 유효한 작업 영역 리소스 ID여야 합니다. Azure Defender를 사용하지 않도록 설정하면 이 필드가 없어야 합니다. | 문자열 |
ManagedClusterServicePrincipalProfile
이름 | 묘사 | 값 |
---|---|---|
clientId | 서비스 주체의 ID입니다. | string(필수) |
비밀 | 일반 텍스트로 서비스 주체와 연결된 비밀 암호입니다. | 문자열 |
ManagedClusterWindowsProfile
이름 | 묘사 | 값 |
---|---|---|
adminPassword | 관리자 계정의 암호를 지정합니다. 최소 길이: 8자 최대 길이: 123자 복잡성 요구 사항: 아래의 4개 조건 중 3개 조건을 충족해야 합니다. 하위 문자가 있습니다. 대문자 자릿수가 있습니다. 특수 문자가 있음(Regex 일치 [\W_]) 허용 안 함 값: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
문자열 |
adminUsername | 관리자 계정의 이름을 지정합니다. 제한: ""로 끝날 수 없습니다. 허용 안 함 값: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 최소 길이: 1자 최대 길이: 20자 |
string(필수) |
enableCSIProxy | CSI 프록시에 대한 자세한 내용은 CSI 프록시 GitHub 리포지토리참조하세요. | bool |
licenseType | Windows VM에 사용할 라이선스 유형입니다. 자세한 내용은 azure 하이브리드 사용자 혜택 |
'None' 'Windows_Server' |
ManagedClusterSKU
이름 | 묘사 | 값 |
---|---|---|
이름 | 관리되는 클러스터 SKU의 이름입니다. | '기본' |
계층 | 지정하지 않으면 기본값은 'Free'입니다. 자세한 내용은 작동 시간 SLA 참조하세요. | '무료' '유료' |
빠른 시작 템플릿
다음 빠른 시작 템플릿은 이 리소스 유형을 배포합니다.
템플렛 | 묘사 |
---|---|
AKS(Azure Container Service) Jenkins를 사용하여 CI/CD Azure |
컨테이너를 사용하면 애플리케이션을 지속적으로 빌드하고 배포할 수 있습니다. Azure Container Service에서 Kubernetes를 사용하여 해당 컨테이너의 배포를 오케스트레이션하면 복제 가능하고 관리 가능한 컨테이너 클러스터를 달성할 수 있습니다. 컨테이너 이미지 및 오케스트레이션을 생성하도록 연속 빌드를 설정하면 배포의 속도와 안정성을 높일 수 있습니다. |
Azure Gateway Azure |
Blob Storage에서 지원되는 S3 호환 스토리지 API를 제공하는 완전 프라이빗 min.io Azure Gateway 배포 |
NAT 게이트웨이 및 Application Gateway 사용하여 AKS 클러스터 Azure |
이 샘플에서는 아웃바운드 연결을 위한 NAT 게이트웨이와 인바운드 연결을 위한 Application Gateway를 사용하여 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
프라이빗 AKS 클러스터 만들기 Azure 배포 |
이 샘플에서는 jumpbox 가상 머신과 함께 가상 네트워크에서 프라이빗 AKS 클러스터를 만드는 방법을 보여 줍니다. |
공용 DNS 영역 사용하여 프라이빗 AKS 클러스터 만들기 Azure 배포 |
이 샘플에서는 공용 DNS 영역을 사용하여 프라이빗 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
AKS(관리되는 Kubernetes 클러스터) 배포 Azure 배포 |
이 ARM 템플릿은 고급 네트워킹 기능이 있는 AKS 인스턴스를 기존 가상 네트워크에 배포하는 방법을 보여 줍니다. 또한 선택한 서비스 주체는 AKS 클러스터를 포함하는 서브넷에 대해 네트워크 기여자 역할이 할당됩니다. |
AAD(AKS) 사용하여 관리되는 Kubernetes 클러스터 배포 Azure |
이 ARM 템플릿은 고급 네트워킹 기능이 있는 AKS 인스턴스를 기존 가상 네트워크 및 Azure AD 정수로 배포하는 방법을 보여 줍니다. 또한 선택한 서비스 주체는 AKS 클러스터를 포함하는 서브넷에 대해 네트워크 기여자 역할이 할당됩니다. |
azure ML 대한 AKS 클러스터 배포 Azure |
이 템플릿을 사용하면 Azure ML에 연결할 수 있는 엔트로프라이즈 규격 AKS 클러스터를 배포할 수 있습니다. |
AKS(Azure Container Service) Azure |
AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
AKS(Azure Container Service) Azure |
Azure Linux 컨테이너 호스트를 사용하여 AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
Helm 사용하여 AKS(Azure Container Service) Azure |
Helm을 사용하여 AKS(Azure Container Service)를 사용하여 관리형 클러스터 배포 |
AKS(Azure Kubernetes Service) Azure |
AKS(Azure Kubernetes Service)를 통해 관리되는 Kubernetes 클러스터를 배포합니다. |
Application Gateway 수신 컨트롤러 사용하여 AKS 클러스터 Azure |
이 샘플에서는 Application Gateway, Application Gateway 수신 컨트롤러, Azure Container Registry, Log Analytics 및 Key Vault를 사용하여 AKS 클러스터를 배포하는 방법을 보여 줍니다. |
Terraform(AzAPI 공급자) 리소스 정의
managedClusters 리소스 종류는 다음을 대상으로 하는 작업으로 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ContainerService/managedClusters 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters@2021-07-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
aadProfile = {
adminGroupObjectIDs = [
"string"
]
clientAppID = "string"
enableAzureRBAC = bool
managed = bool
serverAppID = "string"
serverAppSecret = "string"
tenantID = "string"
}
addonProfiles = {
{customized property} = {
config = {
{customized property} = "string"
}
enabled = bool
}
}
agentPoolProfiles = [
{
availabilityZones = [
"string"
]
count = int
enableAutoScaling = bool
enableEncryptionAtHost = bool
enableFIPS = bool
enableNodePublicIP = bool
enableUltraSSD = bool
gpuInstanceProfile = "string"
kubeletConfig = {
allowedUnsafeSysctls = [
"string"
]
containerLogMaxFiles = int
containerLogMaxSizeMB = int
cpuCfsQuota = bool
cpuCfsQuotaPeriod = "string"
cpuManagerPolicy = "string"
failSwapOn = bool
imageGcHighThreshold = int
imageGcLowThreshold = int
podMaxPids = int
topologyManagerPolicy = "string"
}
kubeletDiskType = "string"
linuxOSConfig = {
swapFileSizeMB = int
sysctls = {
fsAioMaxNr = int
fsFileMax = int
fsInotifyMaxUserWatches = int
fsNrOpen = int
kernelThreadsMax = int
netCoreNetdevMaxBacklog = int
netCoreOptmemMax = int
netCoreRmemDefault = int
netCoreRmemMax = int
netCoreSomaxconn = int
netCoreWmemDefault = int
netCoreWmemMax = int
netIpv4IpLocalPortRange = "string"
netIpv4NeighDefaultGcThresh1 = int
netIpv4NeighDefaultGcThresh2 = int
netIpv4NeighDefaultGcThresh3 = int
netIpv4TcpFinTimeout = int
netIpv4TcpkeepaliveIntvl = int
netIpv4TcpKeepaliveProbes = int
netIpv4TcpKeepaliveTime = int
netIpv4TcpMaxSynBacklog = int
netIpv4TcpMaxTwBuckets = int
netIpv4TcpTwReuse = bool
netNetfilterNfConntrackBuckets = int
netNetfilterNfConntrackMax = int
vmMaxMapCount = int
vmSwappiness = int
vmVfsCachePressure = int
}
transparentHugePageDefrag = "string"
transparentHugePageEnabled = "string"
}
maxCount = int
maxPods = int
minCount = int
mode = "string"
name = "string"
nodeLabels = {
{customized property} = "string"
}
nodePublicIPPrefixID = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osSKU = "string"
osType = "string"
podSubnetID = "string"
proximityPlacementGroupID = "string"
scaleDownMode = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
spotMaxPrice = "decimal-as-string"
tags = {}
type = "string"
upgradeSettings = {
maxSurge = "string"
}
vmSize = "string"
vnetSubnetID = "string"
}
]
apiServerAccessProfile = {
authorizedIPRanges = [
"string"
]
enablePrivateCluster = bool
enablePrivateClusterPublicFQDN = bool
privateDNSZone = "string"
}
autoScalerProfile = {
balance-similar-node-groups = "string"
expander = "string"
max-empty-bulk-delete = "string"
max-graceful-termination-sec = "string"
max-node-provision-time = "string"
max-total-unready-percentage = "string"
new-pod-scale-up-delay = "string"
ok-total-unready-count = "string"
scale-down-delay-after-add = "string"
scale-down-delay-after-delete = "string"
scale-down-delay-after-failure = "string"
scale-down-unneeded-time = "string"
scale-down-unready-time = "string"
scale-down-utilization-threshold = "string"
scan-interval = "string"
skip-nodes-with-local-storage = "string"
skip-nodes-with-system-pods = "string"
}
autoUpgradeProfile = {
upgradeChannel = "string"
}
disableLocalAccounts = bool
diskEncryptionSetID = "string"
dnsPrefix = "string"
enablePodSecurityPolicy = bool
enableRBAC = bool
fqdnSubdomain = "string"
httpProxyConfig = {
httpProxy = "string"
httpsProxy = "string"
noProxy = [
"string"
]
trustedCa = "string"
}
identityProfile = {
{customized property} = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
}
kubernetesVersion = "string"
linuxProfile = {
adminUsername = "string"
ssh = {
publicKeys = [
{
keyData = "string"
}
]
}
}
networkProfile = {
dnsServiceIP = "string"
dockerBridgeCidr = "string"
loadBalancerProfile = {
allocatedOutboundPorts = int
effectiveOutboundIPs = [
{
id = "string"
}
]
idleTimeoutInMinutes = int
managedOutboundIPs = {
count = int
}
outboundIPPrefixes = {
publicIPPrefixes = [
{
id = "string"
}
]
}
outboundIPs = {
publicIPs = [
{
id = "string"
}
]
}
}
loadBalancerSku = "string"
natGatewayProfile = {
effectiveOutboundIPs = [
{
id = "string"
}
]
idleTimeoutInMinutes = int
managedOutboundIPProfile = {
count = int
}
}
networkMode = "string"
networkPlugin = "string"
networkPolicy = "string"
outboundType = "string"
podCidr = "string"
serviceCidr = "string"
}
nodeResourceGroup = "string"
podIdentityProfile = {
allowNetworkPluginKubenet = bool
enabled = bool
userAssignedIdentities = [
{
bindingSelector = "string"
identity = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
name = "string"
namespace = "string"
}
]
userAssignedIdentityExceptions = [
{
name = "string"
namespace = "string"
podLabels = {
{customized property} = "string"
}
}
]
}
privateLinkResources = [
{
groupId = "string"
id = "string"
name = "string"
requiredMembers = [
"string"
]
type = "string"
}
]
securityProfile = {
azureDefender = {
enabled = bool
logAnalyticsWorkspaceResourceId = "string"
}
}
servicePrincipalProfile = {
clientId = "string"
secret = "string"
}
windowsProfile = {
adminPassword = "string"
adminUsername = "string"
enableCSIProxy = bool
licenseType = "string"
}
}
sku = {
name = "Basic"
tier = "string"
}
extendedLocation = {
name = "string"
type = "EdgeZone"
}
})
}
속성 값
managedClusters
이름 | 묘사 | 값 |
---|---|---|
형 | 리소스 종류 | "Microsoft.ContainerService/managedClusters@2021-07-01" |
이름 | 리소스 이름 | string(필수) 문자 제한: 1-63 유효한 문자: 영숫자, 밑줄 및 하이픈 영숫자로 시작하고 끝납니다. |
위치 | 리소스 위치 | string(필수) |
parent_id | 리소스 그룹에 배포하려면 해당 리소스 그룹의 ID를 사용합니다. | string(필수) |
태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. |
sku | 관리되는 클러스터 SKU입니다. | ManagedClusterSKU |
extendedLocation | Virtual Machine의 확장된 위치입니다. | ExtendedLocation |
신원 | 구성된 경우 관리되는 클러스터의 ID입니다. | ManagedClusterIdentity |
속성 | 관리형 클러스터의 속성입니다. | ManagedClusterProperties |
ExtendedLocation
이름 | 묘사 | 값 |
---|---|---|
이름 | 확장된 위치의 이름입니다. | 문자열 |
형 | 확장된 위치의 형식입니다. | "EdgeZone" |
ManagedClusterIdentity
이름 | 묘사 | 값 |
---|---|---|
형 | 자세한 내용은 AKS관리 ID를 사용하는 |
"SystemAssigned" "UserAssigned" |
identity_ids | 키는 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' 형식의 ARM 리소스 ID여야 합니다. | 사용자 ID ID의 배열입니다. |
ManagedClusterIdentityUserAssignedIdentities
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
이 개체에는 배포 중에 설정할 속성이 없습니다. 모든 속성은 ReadOnly입니다.
ManagedClusterProperties
이름 | 묘사 | 값 |
---|---|---|
aadProfile | Azure Active Directory 구성입니다. | ManagedClusterAADProfile |
addonProfiles | 관리형 클러스터 추가 기능의 프로필입니다. | managedClusterPropertiesAddonProfiles |
agentPoolProfiles | 에이전트 풀 속성입니다. | managedClusterAgentPoolProfile |
apiServerAccessProfile | 관리형 클러스터 API 서버에 대한 액세스 프로필입니다. | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 사용하도록 설정된 경우 클러스터 자동 크기 조정기에 적용할 매개 변수 | managedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 자동 업그레이드 구성입니다. | ManagedClusterAutoUpgradeProfile |
disableLocalAccounts | true로 설정하면 이 클러스터에 대해 정적 자격 증명 가져오기가 비활성화됩니다. AAD를 사용하도록 설정된 관리형 클러스터에서만 사용해야 합니다. 자세한 내용은 로컬 계정사용하지 않도록 설정하는 |
bool |
diskEncryptionSetID | '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 형식입니다. | 문자열 |
dnsPrefix | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
enablePodSecurityPolicy | (사용되지 않음) Kubernetes Pod 보안 정책(미리 보기)을 사용하도록 설정할지 여부입니다. 이 기능은 2020년 10월 15일에 제거하도록 설정됩니다. aka.ms/aks/azpodpolicy 자세히 알아보세요. | bool |
enableRBAC | Kubernetes Role-Based Access Control을 사용하도록 설정할지 여부입니다. | bool |
fqdnSubdomain | 관리형 클러스터를 만든 후에는 업데이트할 수 없습니다. | 문자열 |
httpProxyConfig | HTTP 프록시 서버를 사용하여 클러스터를 프로비전하기 위한 구성입니다. | ManagedClusterHttpProxyConfig |
identityProfile | 클러스터와 연결된 ID입니다. | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 지원되는 AKS 클러스터를 업그레이드하는 경우 Kubernetes 부 버전을 건너뛸 수 없습니다. 모든 업그레이드는 주 버전 번호별로 순차적으로 수행해야 합니다. 예를 들어 1.14.x -> 1.15.x 또는 1.15.x -> 1.16.x 간의 업그레이드는 허용되지만 1.14.x -> 1.16.x는 허용되지 않습니다. 자세한 내용은 AKS 클러스터 업그레이드하는 |
문자열 |
linuxProfile | 관리형 클러스터의 Linux VM에 대한 프로필입니다. | ContainerServiceLinuxProfile |
networkProfile | 네트워크 구성 프로필입니다. | ContainerServiceNetworkProfile |
nodeResourceGroup | 에이전트 풀 노드를 포함하는 리소스 그룹의 이름입니다. | 문자열 |
podIdentityProfile | AAD Pod ID 통합에 대한 자세한 내용은 AAD Pod ID 사용하는 |
ManagedClusterPodIdentityProfile |
privateLinkResources | 클러스터와 연결된 프라이빗 링크 리소스입니다. | privateLinkResource |
securityProfile | 관리되는 클러스터에 대한 보안 프로필입니다. | ManagedClusterSecurityProfile |
servicePrincipalProfile | Azure API 조작에 사용할 클러스터의 서비스 주체 ID에 대한 정보입니다. | ManagedClusterServicePrincipalProfile |
windowsProfile | 관리형 클러스터의 Windows VM에 대한 프로필입니다. | ManagedClusterWindowsProfile |
ManagedClusterAADProfile
이름 | 묘사 | 값 |
---|---|---|
adminGroupObjectIDs | 클러스터의 관리자 역할을 맡게 될 AAD 그룹 개체 ID 목록입니다. | string[] |
clientAppID | 클라이언트 AAD 애플리케이션 ID입니다. | 문자열 |
enableAzureRBAC | Kubernetes 권한 부여에 Azure RBAC를 사용하도록 설정할지 여부입니다. | bool |
관리 | 관리되는 AAD를 사용하도록 설정할지 여부입니다. | bool |
serverAppID | 서버 AAD 애플리케이션 ID입니다. | 문자열 |
serverAppSecret | 서버 AAD 애플리케이션 비밀입니다. | 문자열 |
tenantID | 인증에 사용할 AAD 테넌트 ID입니다. 지정하지 않으면 배포 구독의 테넌트가 사용합니다. | 문자열 |
ManagedClusterPropertiesAddonProfiles
이름 | 묘사 | 값 |
---|---|---|
{customized property} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
이름 | 묘사 | 값 |
---|---|---|
구성(config) | 추가 기능을 구성하기 위한 키-값 쌍입니다. | managedClusterAddonProfileConfig |
사용 | 추가 기능을 사용할 수 있는지 여부입니다. | bool(필수) |
ManagedClusterAddonProfileConfig
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
ManagedClusterAgentPoolProfile
이름 | 묘사 | 값 |
---|---|---|
availabilityZones | 노드에 사용할 가용성 영역 목록입니다. AgentPoolType 속성이 'VirtualMachineScaleSets'인 경우에만 지정할 수 있습니다. | string[] |
세다 | Docker 컨테이너를 호스트할 에이전트(VM) 수입니다. 허용되는 값은 사용자 풀의 경우 0에서 1000(포함) 범위여야 하고 시스템 풀의 경우 1~1000(포함) 범위여야 합니다. 기본값은 1입니다. | int |
enableAutoScaling | 자동 크기 조정기를 사용하도록 설정할지 여부 | bool |
enableEncryptionAtHost | 이는 특정 VM 크기 및 특정 Azure 지역에서만 지원됩니다. 자세한 내용은 다음을 참조하세요. /azure/aks/enable-host-encryption | bool |
enableFIPS | 자세한 내용은 FIPS 사용 노드 풀 추가를 참조하세요. | bool |
enableNodePublicIP | 일부 시나리오에서는 노드 풀의 노드가 자체 전용 공용 IP 주소를 수신해야 할 수 있습니다. 일반적인 시나리오는 홉을 최소화하기 위해 콘솔이 클라우드 가상 머신에 직접 연결해야 하는 게임 워크로드에 대한 것입니다. 자세한 내용은 노드당 공용 IP를 할당하는 |
bool |
enableUltraSSD | UltraSSD를 사용하도록 설정할지 여부 | bool |
gpuInstanceProfile | 지원되는 GPU VM SKU에 대한 GPU MIG 인스턴스 프로필을 지정하는 데 사용되는 GPUInstanceProfile입니다. | "MIG1g" "MIG2g" "MIG3g" "MIG4g" "MIG7g" |
kubeletConfig | 에이전트 풀 노드의 Kubelet 구성입니다. | KubeletConfig |
kubeletDiskType | emptyDir 볼륨, 컨테이너 런타임 데이터 루트 및 Kubelet 임시 스토리지의 배치를 결정합니다. | "OS" "임시" |
linuxOSConfig | Linux 에이전트 노드의 OS 구성입니다. | LinuxOSConfig |
maxCount | 자동 크기 조정을 위한 최대 노드 수 | int |
maxPods | 노드에서 실행할 수 있는 최대 Pod 수입니다. | int |
minCount | 자동 크기 조정을 위한 최소 노드 수 | int |
모드 | 클러스터에는 항상 하나 이상의 '시스템' 에이전트 풀이 있어야 합니다. 에이전트 풀 제한 및 모범 사례에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/use-system-pools | "시스템" "User" |
이름 | Windows 에이전트 풀 이름은 6자 이내여야 합니다. | string(필수) 제약 조건: 패턴 = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 에이전트 풀의 모든 노드에서 유지할 노드 레이블입니다. | managedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 형식입니다. | 문자열 |
nodeTaints | 노드 풀 만들기 및 크기 조정 중에 새 노드에 추가된 taint입니다. 예를 들어 key=value:NoSchedule입니다. | string[] |
orchestratorVersion | AKS 클러스터의 모든 노드 풀을 동일한 Kubernetes 버전으로 업그레이드하는 것이 가장 좋습니다. 노드 풀 버전은 컨트롤 플레인과 동일한 주 버전이어야 합니다. 노드 풀 부 버전은 컨트롤 플레인 버전의 두 부 버전 내에 있어야 합니다. 노드 풀 버전은 컨트롤 플레인 버전보다 클 수 없습니다. 자세한 내용은 노드 풀업그레이드하는 |
문자열 |
osDiskSizeGB | 마스터/에이전트 풀의 모든 컴퓨터에 대한 디스크 크기를 지정하는 데 사용할 OS 디스크 크기(GB)입니다. 0을 지정하면 지정된 vmSize에 따라 기본 osDisk 크기가 적용됩니다. | int 제약 조건: 최소값 = 0 최대값 = 2048 |
osDiskType | VM이 지원하며 요청된 OSDiskSizeGB보다 큰 캐시 디스크가 있는 경우 기본값은 'Ephemeral'입니다. 그렇지 않으면 기본값은 'Managed'입니다. 만든 후에는 변경되지 않을 수 있습니다. 자세한 내용은 임시 OS참조하세요. | "임시" "관리" |
osSKU | OS SKU를 지정합니다. OSType이 Windows인 경우 이 값을 지정해서는 안 됩니다. | "CBLMariner" "Ubuntu" |
osType | 운영 체제 유형입니다. 기본값은 Linux입니다. | "Linux" "Windows" |
podSubnetID | 생략하면 노드 서브넷에 Pod IP가 정적으로 할당됩니다(자세한 내용은 vnetSubnetID 참조). /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
proximityPlacementGroupID | 근접 배치 그룹의 ID입니다. | 문자열 |
scaleDownMode | 클러스터 자동 크기 조정기 동작에도 영향을 줍니다. 지정하지 않으면 기본적으로 Delete로 설정됩니다. | "할당 취소" "삭제" |
scaleSetEvictionPolicy | scaleSetPriority가 'Spot'이 아니면 지정할 수 없습니다. 지정하지 않으면 기본값은 'Delete'입니다. | "할당 취소" "삭제" |
scaleSetPriority | Virtual Machine Scale Set 우선 순위입니다. 지정하지 않으면 기본값은 'Regular'입니다. | "일반" "Spot" |
spotMaxPrice | 가능한 값은 0보다 크거나 -1 값으로, 주문형 가격을 지불하려는 의지를 나타냅니다. 스폿 가격 책정에 대한 자세한 내용은 스폿 VM 가격 책정 문자열로 10진수 값 지정을 참조하세요. | int 또는 json decimal |
태그 | 에이전트 풀 가상 머신 확장 집합에 유지할 태그입니다. | 객체 |
형 | 에이전트 풀의 형식입니다. | "AvailabilitySet" "VirtualMachineScaleSets" |
upgradeSettings | 에이전트 풀 업그레이드 설정 | AgentPoolUpgradeSettings |
vmSize | VM 크기 가용성은 지역에 따라 다릅니다. 노드에 컴퓨팅 리소스(메모리, cpu 등)가 부족한 경우 Pod가 제대로 실행되지 않을 수 있습니다. 제한된 VM 크기에 대한 자세한 내용은 다음을 참조하세요. /azure/aks/quotas-skus-regions | 문자열 |
vnetSubnetID | 지정하지 않으면 VNET 및 서브넷이 생성되고 사용됩니다. podSubnetID를 지정하지 않으면 노드 및 Pod에 적용되고, 그렇지 않으면 노드에만 적용됩니다. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 형식입니다. | 문자열 |
KubeletConfig
이름 | 묘사 | 값 |
---|---|---|
allowedUnsafeSysctls | 안전하지 않은 sysctls 또는 안전하지 않은 sysctl 패턴(* 종료)의 허용된 목록입니다. |
string[] |
containerLogMaxFiles | 컨테이너에 대해 존재할 수 있는 컨테이너 로그 파일의 최대 수입니다. 숫자는 ≥ 2여야 합니다. | int 제약 조건: 최소값 = 2 |
containerLogMaxSizeMB | 회전하기 전의 컨테이너 로그 파일의 최대 크기(예: 10Mi)입니다. | int |
cpuCfsQuota | 기본값은 true입니다. | bool |
cpuCfsQuotaPeriod | 기본값은 '100ms'입니다. 유효한 값은 선택적 분수와 단위 접미사가 있는 소수 자릿수의 시퀀스입니다. 예: '300ms', '2h45m'. 지원되는 단위는 'ns', 'us', 'ms', 's', 'm' 및 'h'입니다. | 문자열 |
cpuManagerPolicy | 기본값은 'none'입니다. 자세한 내용은 Kubernetes CPU 관리 정책 참조하세요. 허용되는 값은 'none' 및 'static'입니다. | 문자열 |
failSwapOn | true로 설정하면 노드에서 교환이 활성화된 경우 Kubelet이 시작되지 않습니다. | bool |
imageGcHighThreshold | 이미지 가비지 수집을 사용하지 않도록 설정하려면 100으로 설정합니다. 기본값은 85% | int |
imageGcLowThreshold | imageGcHighThreshold보다 높게 설정할 수 없습니다. 기본값은 80% | int |
podMaxPids | Pod당 최대 프로세스 수입니다. | int |
topologyManagerPolicy | 자세한 내용은 Kubernetes 토폴로지 관리자참조하세요. 기본값은 'none'입니다. 허용되는 값은 'none', 'best-effort', 'restricted' 및 'single-numa-node'입니다. | 문자열 |
LinuxOSConfig
이름 | 묘사 | 값 |
---|---|---|
swapFileSizeMB | 각 노드에서 만들 스왑 파일의 크기(MB)입니다. | int |
sysctls | Linux 에이전트 노드에 대한 Sysctl 설정입니다. | SysctlConfig |
transparentHugePageDefrag | 유효한 값은 'always', 'defer', 'defer+madvise', 'madvise' 및 'never'입니다. 기본값은 'madvise'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
transparentHugePageEnabled | 유효한 값은 'always', 'madvise' 및 'never'입니다. 기본값은 'always'입니다. 자세한 내용은 Transparent Hugepages참조하세요. | 문자열 |
SysctlConfig
이름 | 묘사 | 값 |
---|---|---|
fsAioMaxNr | Sysctl 설정 fs.aio-max-nr. | int |
fsFileMax | Sysctl 설정 fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 설정 fs.inotify.max_user_watches. | int |
fsNrOpen | Sysctl 설정 fs.nr_open. | int |
kernelThreadsMax | Sysctl 설정 kernel.threads-max. | int |
netCoreNetdevMaxBacklog | Sysctl 설정 net.core.netdev_max_backlog. | int |
netCoreOptmemMax | Sysctl 설정 net.core.optmem_max. | int |
netCoreRmemDefault | Sysctl 설정 net.core.rmem_default. | int |
netCoreRmemMax | Sysctl 설정 net.core.rmem_max. | int |
netCoreSomaxconn | sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 설정 net.core.wmem_default. | int |
netCoreWmemMax | Sysctl 설정 net.core.wmem_max. | int |
netIpv4IpLocalPortRange | Sysctl 설정 net.ipv4.ip_local_port_range. | 문자열 |
netIpv4NeighDefaultGcThresh1 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh1. | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh2. | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 설정 net.ipv4.neigh.default.gc_thresh3. | int |
netIpv4TcpFinTimeout | Sysctl 설정 net.ipv4.tcp_fin_timeout. | int |
netIpv4TcpkeepaliveIntvl | Sysctl 설정 net.ipv4.tcp_keepalive_intvl. | int |
netIpv4TcpKeepaliveProbes | Sysctl 설정 net.ipv4.tcp_keepalive_probes. | int |
netIpv4TcpKeepaliveTime | Sysctl 설정 net.ipv4.tcp_keepalive_time. | int |
netIpv4TcpMaxSynBacklog | Sysctl 설정 net.ipv4.tcp_max_syn_backlog. | int |
netIpv4TcpMaxTwBuckets | Sysctl 설정 net.ipv4.tcp_max_tw_buckets. | int |
netIpv4TcpTwReuse | Sysctl 설정 net.ipv4.tcp_tw_reuse. | bool |
netNetfilterNfConntrackBuckets | Sysctl 설정 net.netfilter.nf_conntrack_buckets. | int |
netNetfilterNfConntrackMax | Sysctl 설정 net.netfilter.nf_conntrack_max. | int |
vmMaxMapCount | Sysctl 설정 vm.max_map_count. | int |
vmSwappiness | Sysctl 설정 vm.swappiness. | int |
vmVfsCachePressure | Sysctl 설정 vm.vfs_cache_pressure. | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
AgentPoolUpgradeSettings
이름 | 묘사 | 값 |
---|---|---|
maxSurge | 정수(예: '5') 또는 백분율(예: '50%')으로 설정할 수 있습니다. 백분율을 지정하면 업그레이드 시 총 에이전트 풀 크기의 백분율입니다. 백분율의 경우 소수 노드가 반올림됩니다. 지정하지 않으면 기본값은 1입니다. 모범 사례를 포함한 자세한 내용은 다음을 참조하세요. /azure/aks/upgrade-cluster#customize-node-surge-upgrade | 문자열 |
ManagedClusterAPIServerAccessProfile
이름 | 묘사 | 값 |
---|---|---|
authorizedIPRanges | IP 범위는 CIDR 형식(예: 137.117.106.88/29)으로 지정됩니다. 이 기능은 노드당 공용 IP를 사용하는 클러스터 또는 기본 Load Balancer를 사용하는 클러스터와 호환되지 않습니다. 자세한 내용은 API 서버 권한 있는 IP 범위참조하세요. | string[] |
enablePrivateCluster | 자세한 내용은 프라이빗 AKS 클러스터만들기를 참조하세요. | bool |
enablePrivateClusterPublicFQDN | 프라이빗 클러스터에 대한 추가 공용 FQDN을 만들지 여부를 지정합니다. | bool |
privateDNSZone | 기본값은 System입니다. 자세한 내용은 프라이빗 DNS 영역구성 |
문자열 |
ManagedClusterPropertiesAutoScalerProfile
이름 | 묘사 | 값 |
---|---|---|
balance-similar-node-groups | 유효한 값은 'true' 및 'false'입니다. | 문자열 |
확장기 | 지정하지 않으면 기본값은 'random'입니다. 자세한 내용은 확장기 참조하세요. | "최소 폐기물" "대부분의 포드" "priority" "random" |
max-empty-bulk-delete | 기본값은 10입니다. | 문자열 |
max-graceful-termination-sec | 기본값은 600입니다. | 문자열 |
max-node-provision-time | 기본값은 '15m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
max-total-unready-percentage | 기본값은 45입니다. 최대값은 100이고 최소값은 0입니다. | 문자열 |
new-pod-scale-up-delay | kubernetes 스케줄러가 모든 Pod를 예약하기 전에 CA가 작동하지 않도록 하는 버스트/일괄 처리 확장과 같은 시나리오의 경우 특정 기간이 되기 전에 예약되지 않은 Pod를 무시하도록 CA에 지시할 수 있습니다. 기본값은 '0s'입니다. 값은 정수 다음에 단위(초의 경우 's', 분은 'm', 시간 단위는 'h' 등)여야 합니다. | 문자열 |
ok-total-unready-count | 정수여야 합니다. 기본값은 3입니다. | 문자열 |
scale-down-delay-after-add | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
삭제 후 스케일 다운 지연 | 기본값은 검색 간격입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
실패 후 스케일 다운 지연 | 기본값은 '3m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
규모 축소-불필요한 시간 | 기본값은 '10m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운-읽지 않은 시간 | 기본값은 '20m'입니다. 값은 정수 뒤에 'm'이어야 합니다. 분(m) 이외의 시간 단위는 지원되지 않습니다. | 문자열 |
스케일 다운 사용률 임계값 | 기본값은 '0.5'입니다. | 문자열 |
스캔 간격 | 기본값은 '10'입니다. 값은 정수(초)여야 합니다. | 문자열 |
skip-nodes-with-local-storage | 기본값은 true입니다. | 문자열 |
skip-nodes-with-system-Pods | 기본값은 true입니다. | 문자열 |
ManagedClusterAutoUpgradeProfile
이름 | 묘사 | 값 |
---|---|---|
upgradeChannel | 자세한 내용은 AKS 클러스터 자동 업그레이드 채널 |
"node-image" "none" "patch" "rapid" "안정적" |
ManagedClusterHttpProxyConfig
이름 | 묘사 | 값 |
---|---|---|
httpProxy | 사용할 HTTP 프록시 서버 엔드포인트입니다. | 문자열 |
httpsProxy | 사용할 HTTPS 프록시 서버 엔드포인트입니다. | 문자열 |
noProxy | 프록시를 통과해서는 안 되는 엔드포인트입니다. | string[] |
trustedCa | 프록시 서버에 연결하는 데 사용할 대체 CA 인증서입니다. | 문자열 |
ManagedClusterPropertiesIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
{customized property} | UserAssignedIdentity |
UserAssignedIdentity
이름 | 묘사 | 값 |
---|---|---|
clientId | 사용자 할당 ID의 클라이언트 ID입니다. | 문자열 |
objectId | 사용자 할당 ID의 개체 ID입니다. | 문자열 |
resourceId | 사용자 할당 ID의 리소스 ID입니다. | 문자열 |
ContainerServiceLinuxProfile
이름 | 묘사 | 값 |
---|---|---|
adminUsername | Linux VM에 사용할 관리자 사용자 이름입니다. | string(필수) 제약 조건: 패턴 = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | Azure에서 실행되는 Linux 기반 VM에 대한 SSH 구성입니다. | containerServiceSshConfiguration |
ContainerServiceSshConfiguration
이름 | 묘사 | 값 |
---|---|---|
publicKeys | Linux 기반 VM으로 인증하는 데 사용되는 SSH 공개 키 목록입니다. 최대 1키를 지정할 수 있습니다. | ContainerServiceSshPublicKey[] (필수) |
ContainerServiceSshPublicKey
이름 | 묘사 | 값 |
---|---|---|
keyData | SSH를 통해 VM으로 인증하는 데 사용되는 인증서 공개 키입니다. 인증서는 헤더가 있거나 없는 PEM 형식이어야 합니다. | string(필수) |
ContainerServiceNetworkProfile
이름 | 묘사 | 값 |
---|---|---|
dnsServiceIP | Kubernetes DNS 서비스에 할당된 IP 주소입니다. serviceCidr에 지정된 Kubernetes 서비스 주소 범위 내에 있어야 합니다. | 문자열 제약 조건: 패턴 = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
dockerBridgeCidr | Docker 브리지 네트워크에 할당된 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위 또는 Kubernetes 서비스 주소 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
loadBalancerProfile | 클러스터 부하 분산 장치의 프로필입니다. | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 기본값은 'standard'입니다. 부하 분산 장치 SKU 간의 차이점에 대한 자세한 내용은 Azure Load Balancer SKU 참조하세요. | "basic" "standard" |
natGatewayProfile | 클러스터 NAT 게이트웨이의 프로필입니다. | ManagedClusterNATGatewayProfile |
networkMode | networkPlugin이 'azure'가 아닌 경우 지정할 수 없습니다. | "bridge" "transparent" |
networkPlugin | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 플러그 인입니다. | "azure" "kubenet" |
networkPolicy | Kubernetes 네트워크를 빌드하는 데 사용되는 네트워크 정책입니다. | "azure" "칼리코" |
outboundType | 클러스터를 만들 때만 설정할 수 있으며 나중에 변경할 수 없습니다. 자세한 내용은 송신 아웃바운드 형식참조하세요. | "loadBalancer" "managedNATGateway" "userAssignedNATGateway" "userDefinedRouting" |
podCidr | kubenet을 사용할 때 Pod IP를 할당할 CIDR 표기법 IP 범위입니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidr | 서비스 클러스터 IP를 할당할 CIDR 표기법 IP 범위입니다. 서브넷 IP 범위와 겹치지 않아야 합니다. | 문자열 제약 조건: 패턴 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ManagedClusterLoadBalancerProfile
이름 | 묘사 | 값 |
---|---|---|
allocatedOutboundPorts | VM당 할당된 SNAT 포트의 원하는 수입니다. 허용되는 값의 범위는 0에서 64000(포함)입니다. 기본값은 0으로, Azure에서 동적으로 포트를 할당합니다. | int 제약 조건: 최소값 = 0 최대값 = 64000 |
effectiveOutboundIPs | 클러스터 부하 분산 장치의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 30분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPs | 클러스터 부하 분산 장치에 대한 원하는 관리형 아웃바운드 IP입니다. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 클러스터 부하 분산 장치에 대한 원하는 아웃바운드 IP 접두사 리소스입니다. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
아웃바운드 IP | 클러스터 부하 분산 장치에 필요한 아웃바운드 IP 리소스입니다. | managedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
이름 | 묘사 | 값 |
---|---|---|
아이디 | 정규화된 Azure 리소스 ID입니다. | 문자열 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
세다 | 클러스터 부하 분산 장치에 대해 Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 100(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
이름 | 묘사 | 값 |
---|---|---|
publicIPPrefixes | 공용 IP 접두사 리소스 목록입니다. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
이름 | 묘사 | 값 |
---|---|---|
publicIPs | 공용 IP 리소스 목록입니다. | ResourceReference[] |
ManagedClusterNATGatewayProfile
이름 | 묘사 | 값 |
---|---|---|
effectiveOutboundIPs | 클러스터 NAT 게이트웨이의 효과적인 아웃바운드 IP 리소스입니다. | ResourceReference[] |
idleTimeoutInMinutes | 원하는 아웃바운드 흐름 유휴 시간 제한(분)입니다. 허용되는 값은 4~120(포함) 범위에 있습니다. 기본값은 4분입니다. | int 제약 조건: 최소값 = 4 최대값 = 120 |
managedOutboundIPProfile | 클러스터 NAT 게이트웨이의 관리되는 아웃바운드 IP 리소스 프로필입니다. | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
이름 | 묘사 | 값 |
---|---|---|
세다 | Azure에서 생성/관리하는 원하는 아웃바운드 IP 수입니다. 허용되는 값은 1에서 16(포함) 범위여야 합니다. 기본값은 1입니다. | int 제약 조건: 최소값 = 1 최대값 = 16 |
ManagedClusterPodIdentityProfile
이름 | 묘사 | 값 |
---|---|---|
allowNetworkPluginKubenet | AAD Pod ID의 보안 관련 특성 및 IP 스푸핑의 위험으로 인해 Kubenet에서 실행이 기본적으로 비활성화됩니다. 자세한 내용은 AAD Pod ID Kubenet 네트워크 플러그 인을 사용하는 |
bool |
사용 | Pod ID 추가 기능을 사용할 수 있는지 여부입니다. | bool |
userAssignedIdentities | 클러스터에서 사용할 Pod ID입니다. | managedClusterPodIdentity |
userAssignedIdentityExceptions | 허용할 Pod ID 예외입니다. | managedClusterPodIdentityException |
ManagedClusterPodIdentity
이름 | 묘사 | 값 |
---|---|---|
bindingSelector | AzureIdentityBinding 리소스에 사용할 바인딩 선택기입니다. | 문자열 |
신원 | 사용자가 할당한 ID 세부 정보입니다. | UserAssignedIdentity |
이름 | Pod ID의 이름입니다. | string(필수) |
네임스페이스 | Pod ID의 네임스페이스입니다. | string(필수) |
ManagedClusterPodIdentityException
이름 | 묘사 | 값 |
---|---|---|
이름 | Pod ID 예외의 이름입니다. | string(필수) |
네임스페이스 | Pod ID 예외의 네임스페이스입니다. | string(필수) |
podLabels | 일치시킬 Pod 레이블입니다. | managedClusterPodIdentityExceptionPodLabels |
ManagedClusterPodIdentityExceptionPodLabels
이름 | 묘사 | 값 |
---|---|---|
{customized property} | 문자열 |
PrivateLinkResource
이름 | 묘사 | 값 |
---|---|---|
groupId | 리소스의 그룹 ID입니다. | 문자열 |
아이디 | 프라이빗 링크 리소스의 ID입니다. | 문자열 |
이름 | 프라이빗 링크 리소스의 이름입니다. | 문자열 |
requiredMembers | 리소스의 RequiredMembers | string[] |
형 | 리소스 종류입니다. | 문자열 |
ManagedClusterSecurityProfile
이름 | 묘사 | 값 |
---|---|---|
azureDefender | 보안 프로필에 대한 Azure Defender 설정입니다. | managedClusterSecurityProfileAzureDefender |
ManagedClusterSecurityProfileAzureDefender
이름 | 묘사 | 값 |
---|---|---|
사용 | Azure Defender를 사용하도록 설정할지 여부 | bool |
logAnalyticsWorkspaceResourceId | Azure Defender와 연결할 Log Analytics 작업 영역의 리소스 ID입니다. Azure Defender를 사용하는 경우 이 필드는 필수이며 유효한 작업 영역 리소스 ID여야 합니다. Azure Defender를 사용하지 않도록 설정하면 이 필드가 없어야 합니다. | 문자열 |
ManagedClusterServicePrincipalProfile
이름 | 묘사 | 값 |
---|---|---|
clientId | 서비스 주체의 ID입니다. | string(필수) |
비밀 | 일반 텍스트로 서비스 주체와 연결된 비밀 암호입니다. | 문자열 |
ManagedClusterWindowsProfile
이름 | 묘사 | 값 |
---|---|---|
adminPassword | 관리자 계정의 암호를 지정합니다. 최소 길이: 8자 최대 길이: 123자 복잡성 요구 사항: 아래의 4개 조건 중 3개 조건을 충족해야 합니다. 하위 문자가 있습니다. 대문자 자릿수가 있습니다. 특수 문자가 있음(Regex 일치 [\W_]) 허용 안 함 값: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
문자열 |
adminUsername | 관리자 계정의 이름을 지정합니다. 제한: ""로 끝날 수 없습니다. 허용 안 함 값: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". 최소 길이: 1자 최대 길이: 20자 |
string(필수) |
enableCSIProxy | CSI 프록시에 대한 자세한 내용은 CSI 프록시 GitHub 리포지토리참조하세요. | bool |
licenseType | Windows VM에 사용할 라이선스 유형입니다. 자세한 내용은 azure 하이브리드 사용자 혜택 |
"없음" "Windows_Server" |
ManagedClusterSKU
이름 | 묘사 | 값 |
---|---|---|
이름 | 관리되는 클러스터 SKU의 이름입니다. | "기본" |
계층 | 지정하지 않으면 기본값은 'Free'입니다. 자세한 내용은 작동 시간 SLA 참조하세요. | "무료" "유료" |