Skip to content

Commit 36ef56b

Browse files
committed
Updated text
2 parents 18c400f + e8203c6 commit 36ef56b

File tree

365 files changed

+8437
-3545
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

365 files changed

+8437
-3545
lines changed

.openpublishing.redirection.aks.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,6 +1375,11 @@
13751375
"redirect_url": "/azure/aks/hybrid/deploy-load-balancer-cli",
13761376
"redirect_document_id": false
13771377
},
1378+
{
1379+
"source_path": "AKS-Hybrid/offline-download.md",
1380+
"redirect_url": "/azure/aks/hybrid/aks-whats-new-23h2",
1381+
"redirect_document_id": false
1382+
},
13781383
{
13791384
"source_path": "AKS-Hybrid/kubernetes-rbac-azure-ad.md",
13801385
"redirect_url": "/azure/aks/hybrid/kubernetes-rbac-entra-id",

.openpublishing.redirection.json

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,7 @@
13171317
},
13181318
{
13191319
"source_path": "azure-stack/hci/manage/partition-gpu.md",
1320-
"redirect_url": "/windows-server/virtualization/hyper-v/gpu-partitioning?pivots=azure-stack-hci",
1320+
"redirect_url": "/windows-server/virtualization/hyper-v/gpu-partitioning?pivots=azure-stack-hci&toc=/azure-stack/hci/toc.json&bc=/azure-stack/breadcrumb/toc.json",
13211321
"redirect_document_id": false
13221322
},
13231323
{
@@ -1329,6 +1329,21 @@
13291329
"source_path": "azure-stack/user/container-registry-get-resource-id.md",
13301330
"redirect_url": "/azure-stack/user/container-registry-troubleshoot#find-your-registry-resource-id-for-support",
13311331
"redirect_document_id": false
1332+
},
1333+
{
1334+
"source_path": "azure-stack/hci/manage/use-gpu-with-clustered-vm.md",
1335+
"redirect_url": "/windows-server/virtualization/hyper-v/deploy/use-gpu-with-clustered-vm?pivots=azure-stack-hci&toc=/azure-stack/hci/toc.json&bc=/azure-stack/breadcrumb/toc.json",
1336+
"redirect_document_id": false
1337+
},
1338+
{
1339+
"source_path": "azure-stack/user/vm-update-management.md",
1340+
"redirect_url": "/azure/azure-monitor/agents/agents-overview",
1341+
"redirect_document_id": false
1342+
},
1343+
{
1344+
"source_path": "azure-stack/hci/manage/processor-compatibility-mode.md",
1345+
"redirect_url": "/windows-server/virtualization/hyper-v/manage/dynamic-processor-compatibility-mode?pivots=azure-stack-hci",
1346+
"redirect_document_id": false
13321347
}
13331348
]
13341349
}

AKS-Hybrid/TOC.yml

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
href: aks-hci-network-system-requirements.md
2525
- name: Load balancer
2626
href: load-balancer-overview.md
27+
- name: Access and identity
28+
href: concepts-security-access-identity.md
2729
- name: Supported scale requirements
2830
href: scale-requirements.md
2931
- name: Azure Hybrid Benefit
@@ -45,7 +47,11 @@
4547
- name: Azure CLI
4648
href: aks-create-clusters-cli.md
4749
- name: Azure portal
48-
href: aks-create-clusters-portal.md
50+
href: aks-create-clusters-portal.md
51+
- name: Bicep
52+
href: create-clusters-bicep.md
53+
- name: Deploy to Azure using a quickstart template
54+
href: /samples/azure/azure-quickstart-templates/aks-on-ashci
4955
- name: Azure Resource Manager template
5056
href: resource-manager-quickstart.md
5157
- name: Networking
@@ -60,18 +66,18 @@
6066
href: deploy-load-balancer-portal.md
6167
# - name: Troubleshoot issues
6268
# href: load-balancer-troubleshoot.md
63-
- name: Security and authentication
69+
- name: Authentication and authorization
6470
items:
65-
- name: Access and identity options
66-
href: concepts-security-access-identity.md
71+
- name: Enable Microsoft Entra ID authentication for Kubernetes clusters
72+
href: enable-authentication-microsoft-entra-id.md
73+
- name: Use Azure RBAC for Kubernetes authorization
74+
href: azure-rbac-23h2.md
75+
- name: Use Kubernetes RBAC with Microsoft Entra ID
76+
href: kubernetes-rbac-23h2.md
6777
- name: Retrieve certificate-based admin kubeconfig
6878
href: retrieve-admin-kubeconfig.md
6979
- name: Restrict SSH access
7080
href: restrict-ssh-access.md
71-
- name: Use Kubernetes RBAC with Microsoft Entra ID
72-
href: kubernetes-rbac-23h2.md
73-
- name: Use Azure RBAC for Kubernetes authorization
74-
href: azure-rbac-23h2.md
7581
- name: Storage
7682
items:
7783
- name: CSI storage drivers
@@ -86,17 +92,19 @@
8692
href: manage-node-pools.md
8793
- name: Use GPUs
8894
href: deploy-gpu-node-pool.md
89-
- name: Use labels in a Kubernetes cluster
95+
- name: Cluster management
96+
items:
97+
- name: Labels
9098
href: cluster-labels.md
91-
- name: Download Kubernetes VHDs manually
92-
href: offline-download.md
99+
- name: Taints
100+
href: aks-arc-use-node-taints.md
93101
- name: Scale a Kubernetes cluster
94102
href: auto-scale-aks-arc.md
95103
- name: Upgrade Kubernetes clusters
96104
href: cluster-upgrade.md
97105
- name: Create Windows Server containers
98106
href: aks-create-containers.md
99-
- name: Deploy container images using Azure Container Registry
107+
- name: Integrate Azure Container Registry with a Kubernetes cluster
100108
href: deploy-container-registry.md
101109
- name: Monitoring and logging
102110
items:
@@ -120,24 +128,22 @@
120128
href: aks-known-issues.md
121129
- name: Troubleshoot
122130
href: aks-troubleshoot.md
131+
- name: Use diagnostic checker
132+
href: aks-arc-diagnostic-checker.md
133+
- name: KubeAPIServer unreachable error
134+
href: kube-api-server-unreachable.md
123135
- name: Reference
124136
items:
125137
- name: Azure CLI
126138
href: /cli/azure/aksarc
127139
- name: REST API reference
128140
href: /rest/api/hybridcontainer/operation-groups
141+
- name: Resources
142+
items:
129143
- name: Azure Stack HCI
130144
href: /azure-stack/hci/index
131145
- name: Azure hybrid cloud
132146
href: /hybrid
133-
- name: Release notes
134-
href: https://aka.ms/AKS-hybrid-Releasenotes
135-
- name: AKS Arc PowerShell
136-
href: ./reference/ps/index.md
137-
- name: Add-ons, extensions, and integrations
138-
href: add-ons.md
139-
- name: Resources
140-
items:
141147
- name: Azure Arc Jumpstart
142148
href: https://azurearcjumpstart.com/azure_arc_jumpstart/azure_arc_k8s/aks_stack_hci/
143149
- name: Azure roadmap
@@ -184,6 +190,8 @@
184190
href: aks-edge-howto-access-tpm.md
185191
- name: Additional configuration
186192
href: aks-edge-howto-more-configs.md
193+
- name: Use GPU acceleration
194+
href: aks-edge-gpu.md
187195
- name: Update AKS Edge Essentials
188196
items:
189197
- name: Update online
@@ -262,6 +270,20 @@
262270
href: aks-vmware-known-issues.md
263271
- name: Troubleshooting guide
264272
href: aks-vmware-troubleshooting-guide.md
273+
- name: Reference
274+
items:
275+
- name: aksarc CLI version 1.0.0b1
276+
items:
277+
- name: Commands
278+
href: aksarc.yml
279+
- name: logs
280+
href: logs.yml
281+
- name: nodepool
282+
href: nodepool.yml
283+
- name: vmsize
284+
href: vmsize.yml
285+
- name: vnet
286+
href: vnet.yml
265287
- name: AKS on Windows Server
266288
items:
267289
- name: Overview
@@ -535,6 +557,12 @@
535557
href: help-support.md
536558
- name: File bugs
537559
href: https://aka.ms/AKS-hybrid-issues
560+
- name: Release notes
561+
href: https://aka.ms/AKS-hybrid-Releasenotes
562+
- name: AKS Arc PowerShell
563+
href: ./reference/ps/index.md
564+
- name: Add-ons, extensions, and integrations
565+
href: add-ons.md
538566
- name: Architecture
539567
items:
540568
- name: Baseline architecture for AKS

AKS-Hybrid/ad-sso.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use Active Directory single sign-on for secure connection to Kubernetes A
33
description: Use Active Directory Authentication to securely connect to the API server with SSO credentials
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 02/15/2024
6+
ms.date: 06/24/2024
77
ms.author: sethm
88
ms.lastreviewed: 1/14/2022
99
ms.reviewer: sulahiri
@@ -21,7 +21,7 @@ You can create a secure connection to your Kubernetes API server in AKS enabled
2121

2222
## Overview of AD in AKS enabled by Arc
2323

24-
Without Active Directory authentication, users must rely on a certificate-based _kubeconfig_ file when connecting to the API server via the `kubectl` command. The kubeconfig file contains secrets such as private keys and certificates that need to be carefully distributed, which can be a significant security risk.
24+
Without Active Directory authentication, you must rely on a certificate-based _kubeconfig_ file when you connect to the API server via the `kubectl` command. The **kubeconfig** file contains secrets such as private keys and certificates that need to be carefully distributed, which can be a significant security risk.
2525

2626
As an alternative to using certificate-based kubeconfig, you can use AD SSO credentials as a secure way to connect to the API server. AD integration with AKS Arc lets users on a Windows domain-joined machine connect to the API server via `kubectl` using their SSO credentials. This removes the need to manage and distribute certificate-based kubeconfig files that contain private keys.
2727

@@ -32,7 +32,7 @@ Another security benefit with AD integration is that the users and groups are st
3232
> [!NOTE]
3333
> Currently, AD SSO connectivity is only supported for workload clusters.
3434
35-
This article guides you through the following steps to set up Active Directory as the identity provider and to enable SSO via `kubectl`:
35+
This article guides you through the steps to set up Active Directory as the identity provider and to enable SSO via `kubectl`:
3636

3737
- Create the AD account for the API server, and then create the [keytab](https://web.mit.edu/kerberos/krb5-devel/doc/basic/keytab_def.html) file associated with the account. See [Create AD Auth using the keytab file](#create-ad-auth-using-the-keytab-file) to create the AD account and generate the keytab file.
3838
- Use the [keytab](https://web.mit.edu/kerberos/krb5-devel/doc/basic/keytab_def.html) file to install AD Auth on the Kubernetes cluster. As part of this step, a default role-based access control (RBAC) configuration is automatically created.
@@ -87,21 +87,21 @@ Install-AksHciAdAuth -name mynewcluster1 -keytab .\current.keytab -SPN k8s/apise
8787

8888
If the cluster host isn't domain-joined, use the admin user name or group name in SID format, as shown in the following example.
8989

90-
If using an admin user:
90+
Admin user:
9191

9292
```powershell
9393
Install-AksHciAdAuth -name mynewcluster1 -keytab .\current.keytab -SPN k8s/[email protected] -adminUserSID <User SID>
9494
```
9595

96-
If using an admin group:
96+
Admin group:
9797

9898
```powershell
9999
Install-AksHciAdAuth -name mynewcluster1 -keytab .\current.keytab -SPN k8s/[email protected] -adminGroupSID <Group SID>
100100
```
101101

102102
To find the SID for the user account, see [Determine the user or group security identifier](#determine-the-user-or-group-security-identifier).
103103

104-
Before proceeding to the next steps, make note of the following items:
104+
Before you proceed to the next steps, make note of the following items:
105105

106106
- Make sure the keytab file is named **current.keytab**.
107107
- Replace the SPN that corresponds to your environment.
@@ -154,19 +154,19 @@ You should copy the following three files from the AKS workload cluster to your
154154
155155
### Step 6: Connect to the API server from the client machine
156156
157-
After you've completed the previous steps, use your SSO credentials to sign in to your Windows domain-joined client machine. Open PowerShell, and then attempt to access the API server using `kubectl`. If the operation completes successfully, you have set up AD SSO correctly.
157+
After you complete the previous steps, use your SSO credentials to sign in to your Windows domain-joined client machine. Open PowerShell, and then attempt to access the API server using `kubectl`. If the operation completes successfully, you set up AD SSO correctly.
158158
159159
## Create and update the AD group role binding
160160
161-
As mentioned in Step 2, a default role binding with cluster admin privileges is created for the user and/or the group that was provided during installation. Role binding in Kubernetes defines the access policies for AD groups. This step describes how to use RBAC to create new AD group role bindings in Kubernetes and to edit existing role bindings. For example, the cluster admin may want to grant additional privileges to users by using AD groups (which makes the process more efficient). For more information about RBAC, see [using RBAC authorization](https://kubernetes.io/docs/reference/access-authn-authz/rbac/).
161+
As mentioned in Step 2, a default role binding with cluster admin privileges is created for the user and/or the group that was provided during installation. Role binding in Kubernetes defines the access policies for AD groups. This step describes how to use RBAC to create new AD group role bindings in Kubernetes and to edit existing role bindings. For example, the cluster admin might want to grant additional privileges to users by using AD groups (which makes the process more efficient). For more information about RBAC, see [using RBAC authorization](https://kubernetes.io/docs/reference/access-authn-authz/rbac/).
162162
163163
When you create or edit other AD group RBAC entries, the subject name should have the **microsoft:activedirectory:CONTOSO\group name** prefix. Note that the names must contain a domain name and a prefix that are enclosed by double quotes.
164164
165165
Here are two examples:
166166
167167
### Example 1
168168
169-
```yml
169+
```yaml
170170
apiVersion: rbac.authorization.k8s.io/v1
171171
kind: ClusterRoleBinding
172172
metadata:
@@ -185,7 +185,7 @@ subjects:
185185
186186
The following example shows how to create a custom role and role binding for a [namespace](https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/) with an AD group. In the example, `SREGroup` is a pre-existing group in the Contoso Active Directory. When users are added to the AD group, they're immediately granted privileges.
187187

188-
```yml
188+
```yaml
189189
kind: Role
190190
apiVersion: rbac.authorization.k8s.io/v1
191191
metadata:

AKS-Hybrid/adapt-apps-mixed-os-clusters.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
title: Adapt applications for use in mixed-OS Kubernetes clusters
3-
description: How to use node selectors or taints and tolerations on Azure Kubernetes Service to ensure applications in mixed OS Kubernetes clusters running on AKS Arc are scheduled on the correct worker node operating system.
3+
description: Learn how to use node selectors or taints and tolerations on Azure Kubernetes Service to ensure applications in mixed OS Kubernetes clusters running on AKS Arc are scheduled on the correct worker node operating system.
44
author: sethmanheim
55
ms.topic: how-to
6-
ms.date: 11/03/2022
6+
ms.date: 06/27/2024
77
ms.author: sethm
88
ms.lastreviewed: 1/14/2022
99
ms.reviewer: abha
@@ -16,29 +16,29 @@ ms.reviewer: abha
1616

1717
[!INCLUDE [applies-to-azure stack-hci-and-windows-server-skus](includes/aks-hci-applies-to-skus/aks-hybrid-applies-to-azure-stack-hci-windows-server-sku.md)]
1818

19-
AKS enabled by Azure Arc enables you to run Kubernetes clusters with both Linux and Windows nodes, but you must make small edits to your apps for use in these mixed-OS clusters. In this how-to guide, you learn how to ensure your application gets scheduled on the right host OS using either node selectors or taints and tolerations.
19+
AKS enabled by Arc enables you to run Kubernetes clusters with both Linux and Windows nodes, but you must make small edits to your apps for use in these mixed-OS clusters. This how-to guide describes how to ensure your application gets scheduled on the right host OS using either node selectors or taints and tolerations.
2020

2121
This article assumes a basic understanding of Kubernetes concepts. For more information, see [Kubernetes core concepts for AKS enabled by Arc](kubernetes-concepts.md).
2222

2323
## Node selectors
2424

2525
A *node selector* is a simple field in the pod specification YAML that constrains pods to only be scheduled onto healthy nodes matching the operating system. In your pod specification YAML, specify a `nodeSelector` value of Windows or Linux, as shown in the following examples:
2626

27-
```yml
27+
```yaml
2828
kubernetes.io/os = Windows
2929
```
3030

3131
or,
3232

33-
```yml
33+
```yaml
3434
kubernetes.io/os = Linux
3535
```
3636

37-
For more information about nodeSelectors, see [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
37+
For more information about node selectors, see [node selectors](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/).
3838

3939
## Taints and tolerations
4040

41-
**Taints** and **tolerations** work together to ensure that pods aren't scheduled on nodes unintentionally. A node can be "tainted" to reject pods that don't explicitly tolerate its taint through a "toleration" in the pod specification YAML.
41+
**Taints** and **tolerations** work together to ensure that pods aren't unintentionally scheduled on nodes. A node can be "tainted" to reject pods that don't explicitly tolerate its taint through a "toleration" in the pod specification YAML.
4242

4343
Windows OS nodes in AKS Arc can be tainted when created with the [New-AksHciNodePool](./reference/ps/new-akshcinodepool.md) or the [New-AksHciCluster](./reference/ps/new-akshcicluster.md) commands. You can also use these commands to taint Linux OS nodes. The following example taints Windows nodes.
4444

@@ -82,7 +82,7 @@ Taints : {sku=Windows:NoSchedule}
8282

8383
You can specify a toleration for a pod in the pod specification YAML. The following toleration "matches" the taint created by the `kubectl` taint line shown in the previous example. The result is that a pod with the toleration can schedule onto the tainted nodes.
8484

85-
```yml
85+
```yaml
8686
tolerations:
8787
- key: node.kubernetes.io/os
8888
operator: Equal

0 commit comments

Comments
 (0)