Skip to content

Commit 99c4a6f

Browse files
authored
Merge pull request #227069 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/azure-docs (branch main)
2 parents b0c6e57 + 9b01174 commit 99c4a6f

File tree

9 files changed

+150
-108
lines changed

9 files changed

+150
-108
lines changed

articles/active-directory/external-identities/b2b-quickstart-invite-powershell.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ If you don’t have an Azure subscription, create a [free account](https://azure
2323
## Prerequisites
2424

2525
### PowerShell Module
26-
Install the [Microsoft Graph Identity Sign-ins module](/powershell/module/microsoft.graph.identity.signins/?view=graph-powershell-beta&preserve-view=true) (Microsoft.Graph.Identity.SignIns) and the [Microsoft Graph Users module](/powershell/module/microsoft.graph.users/?view=graph-powershell-beta&preserve-view=true) (Microsoft.Graph.Users).
26+
Install the [Microsoft Graph Identity Sign-ins module](/powershell/module/microsoft.graph.identity.signins/?view=graph-powershell-beta&preserve-view=true) (Microsoft.Graph.Identity.SignIns) and the [Microsoft Graph Users module](/powershell/module/microsoft.graph.users/?view=graph-powershell-beta&preserve-view=true) (Microsoft.Graph.Users). You can use the `#Requires` statement to prevent running a script unless the required PowerShell modules are met.
27+
28+
```powershell
29+
#Requires -Modules Microsoft.Graph.Identity.SignIns, Microsoft.Graph.Users
30+
```
2731

2832
### Get a test email account
2933

@@ -34,7 +38,7 @@ You need a test email account that you can send the invitation to. The account m
3438
Run the following command to connect to the tenant domain:
3539

3640
```powershell
37-
Connect-MgGraph -Scopes user.readwrite.all
41+
Connect-MgGraph -Scopes 'User.ReadWrite.All'
3842
```
3943

4044
When prompted, enter your credentials.
@@ -66,9 +70,16 @@ When prompted, enter your credentials.
6670
When no longer needed, you can delete the test user account in the directory. Run the following command to delete a user account:
6771

6872
```powershell
69-
Remove-AzureADUser -ObjectId "<UPN>"
73+
Remove-MgUser -UserId '<String>'
74+
```
75+
For example:
76+
```powershell
77+
Remove-MgUser -UserId 'john_contoso.com#EXT#@fabrikam.onmicrosoft.com'
78+
```
79+
or
80+
```powershell
81+
Remove-MgUser -UserId '3f80a75e-750b-49aa-a6b0-d9bf6df7b4c6'
7082
```
71-
For example: `Remove-AzureADUser -UserId john_contoso.com#EXT#@fabrikam.onmicrosoft.com`
7283

7384

7485
## Next steps

articles/aks/use-wasi-node-pools.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,16 @@ spec:
168168
spec:
169169
runtimeClassName: wasmtime-slight-v1
170170
containers:
171-
- name: testwasm
171+
- name: hello-slight
172172
image: ghcr.io/deislabs/containerd-wasm-shims/examples/slight-rust-hello:latest
173173
command: ["/"]
174+
resources:
175+
requests:
176+
cpu: 10m
177+
memory: 10Mi
178+
limits:
179+
cpu: 500m
180+
memory: 128Mi
174181
---
175182
apiVersion: v1
176183
kind: Service

articles/api-management/api-management-kubernetes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ To solve this problem, Kubernetes introduced the concept of [Services](https://k
3737

3838
When we are ready to publish our microservices as APIs through API Management, we need to think about how to map our Services in Kubernetes to APIs in API Management. There are no set rules. It depends on how you designed and partitioned your business capabilities or domains into microservices at the beginning. For instance, if the pods behind a Service are responsible for all operations on a given resource (e.g., Customer), the Service may be mapped to one API. If operations on a resource are partitioned into multiple microservices (e.g., GetOrder, PlaceOrder), then multiple Services may be logically aggregated into one single API in API management (See Fig. 1).
3939

40-
The mappings can also evolve. Since API Management creates a façade in front of the microservices, it allows us to refactor and right-size our microservices over time.
40+
The mappings can also evolve. Since API Management creates a facade in front of the microservices, it allows us to refactor and right-size our microservices over time.
4141

4242
![Map services to APIs](./media/api-management-aks/service-api-mapping.png)
4343

articles/azure-arc/servers/ssh-arc-troubleshoot.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,20 @@ Possible errors:
4747
- {"level":"fatal","msg":"sshproxy: error copying information from the connection: read tcp 192.168.1.180:60887-\u003e40.122.115.96:443: wsarecv: An existing connection was forcibly closed by the remote host.","time":"2022-02-24T13:50:40-05:00"}
4848

4949
Resolution:
50-
- Ensure that the SSHD service is running on the Arc-enabled server
51-
- Ensure that port 22 (or other non-default port) is listed in allowed incoming connections. Run ```azcmagent config list``` on the Arc-enabled server in an elevated session
52-
50+
- Ensure that the SSHD service is running on the Arc-enabled server.
51+
- Ensure that port 22 (or other non-default port) is listed in allowed incoming connections. Run `azcmagent config list` on the Arc-enabled server in an elevated session. The ssh port (22) isn't set by default, so you must add it. This setting is used by other services, like admin center, so just add port 22 without deleting previously added ports.
52+
53+
```powershell
54+
# Set 22 port:
55+
azcmagent config list
56+
azcmagent config get incomingconnections.port
57+
azcmagent config set incomingconnections.port 22
58+
azcmagent config
59+
60+
# Add multiple ports:
61+
azcmagent config set incomingconnections.port 22,3516
62+
```
63+
5364
## Azure permissions issues
5465

5566
### Incorrect role assignments

articles/azure-monitor/logs/analyze-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ let freeTables = dynamic([
220220
Usage
221221
| where DataType !in (freeTables)
222222
| where TimeGenerated > ago(30d)
223-
| where IsBillable = false
223+
| where IsBillable == false
224224
| summarize MonthlyPotentialUnderbilledGB=sum(Quantity)/1000 by DataType
225225
```
226226

articles/defender-for-cloud/devops-faq.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ Data is stored within the region your connector is created in. You should consid
8282

8383
Defender for DevOps currently doesn't process or store your code, build, and audit logs.
8484

85+
Learn more about [Microsoft Privacy Statement](https://go.microsoft.com/fwLink/?LinkID=521839&amp;clcid=0x9).
86+
8587
### Is Exemptions capability available and tracked for app sec vulnerability management?
8688

8789
Exemptions are not available for Defender for DevOps within Microsoft Defender for Cloud.

articles/migrate/migrate-support-matrix-vmware-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ This table summarizes assessment support and limitations for VMware vSphere virt
122122
--- | ---
123123
**VMware vCenter Server** | Version 5.5, 6.0, 6.5, or 6.7.
124124
**VMware vSphere ESXi host** | Version 5.5, 6.0, 6.5, 6.7 or 7.0.
125-
**vCenter Server permissions** | A read-only account for vCenter Server.
125+
**vCenter Server permissions** | **VM discovery**: At least a read-only user<br/><br/> Data Center object –> Propagate to Child Object, role=Read-only.<br/><br/> **Replication**: Create a role (Azure Site Recovery) with the required permissions, and then assign the role to a VMware vSphere user or group<br/><br/> Data Center object –> Propagate to Child Object, role=Azure Site Recovery<br/><br/> Datastore -> Allocate space, browse datastore, low-level file operations, remove file, update virtual machine files<br/><br/> Network -> Network assign<br/><br/> Resource -> Assign VM to resource pool, migrate powered off VM, migrate powered on VM<br/><br/> Tasks -> Create task, update task<br/><br/> Virtual machine -> Configuration<br/><br/> Virtual machine -> Interact -> answer question, device connection, configure CD media, configure floppy media, power off, power on, VMware tools install<br/><br/> Virtual machine -> Inventory -> Create, register, unregister<br/><br/> Virtual machine -> Provisioning -> Allow virtual machine download, allow virtual machine files upload<br/><br/> Virtual machine -> Snapshots -> Remove snapshots.<br/><br/><br/>**Note**:<br/>User assigned at datacenter level, and has access to all the objects in the datacenter.<br/><br/> To restrict access, assign the **No access** role with the **Propagate to child** object, to the child objects (vSphere hosts, datastores, VMs, and networks).
126126

127127
### VM requirements (agent-based)
128128

articles/mysql/flexible-server/tutorial-deploy-wordpress-on-aks.md

Lines changed: 106 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -114,86 +114,11 @@ The server created has the below attributes:
114114
- Using public-access argument allow you to create a server with public access protected by firewall rules. By providing your IP address to add the firewall rule to allow access from your client machine.
115115
- Since the command is using Local context it will create the server in the resource group ```wordpress-project``` and in the region ```eastus```.
116116

117-
### Build your WordPress docker image
118-
119-
Download the [latest WordPress](https://wordpress.org/download/) version. Create new directory ```my-wordpress-app``` for your project and use this simple folder structure
120-
121-
```wordpress
122-
└───my-wordpress-app
123-
└───public
124-
├───wp-admin
125-
│ ├───css
126-
. . . . . . .
127-
├───wp-content
128-
│ ├───plugins
129-
. . . . . . .
130-
└───wp-includes
131-
. . . . . . .
132-
├───wp-config-sample.php
133-
├───index.php
134-
. . . . . . .
135-
└─── Dockerfile
117+
## Container definitions
136118

137-
```
138-
139-
Rename ```wp-config-sample.php``` to ```wp-config.php``` and replace lines from beginingin of ```// ** MySQL settings - You can get this info from your web host ** //``` until the line ```define( 'DB_COLLATE', '' );``` with the code snippet below. The code below is reading the database host, username and password from the Kubernetes manifest file.
140-
141-
```php
142-
//Using environment variables for DB connection information
143-
144-
// ** MySQL settings - You can get this info from your web host ** //
145-
/** The name of the database for WordPress */
146-
147-
$connectstr_dbhost = getenv('DATABASE_HOST');
148-
$connectstr_dbusername = getenv('DATABASE_USERNAME');
149-
$connectstr_dbpassword = getenv('DATABASE_PASSWORD');
150-
$connectst_dbname = getenv('DATABASE_NAME');
151-
152-
/** MySQL database name */
153-
define('DB_NAME', $connectst_dbname);
154-
155-
/** MySQL database username */
156-
define('DB_USER', $connectstr_dbusername);
157-
158-
/** MySQL database password */
159-
define('DB_PASSWORD',$connectstr_dbpassword);
160-
161-
/** MySQL hostname */
162-
define('DB_HOST', $connectstr_dbhost);
119+
In the following example, we're creating two containers, a Nginx web server and a PHP FastCGI processor, based on official Docker images `nginx` and `wordpress` ( `fpm` version with FastCGI support), published on Docker Hub.
163120

164-
/** Database Charset to use in creating database tables. */
165-
define('DB_CHARSET', 'utf8');
166-
167-
/** The Database Collate type. Don't change this if in doubt. */
168-
define('DB_COLLATE', '');
169-
170-
171-
/** SSL*/
172-
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
173-
```
174-
175-
### Create a Dockerfile
176-
177-
Create a new Dockerfile and copy this code snippet. This Dockerfile in setting up Apache web server with PHP and enabling mysqli extension.
178-
179-
```docker
180-
FROM php:7.2-apache
181-
COPY public/ /var/www/html/
182-
RUN docker-php-ext-install mysqli
183-
RUN docker-php-ext-enable mysqli
184-
```
185-
186-
### Build your docker image
187-
188-
Make sure you're in the directory ```my-wordpress-app``` in a terminal using the ```cd``` command. Run the following command to build the image:
189-
190-
``` bash
191-
192-
docker build --tag myblog:latest .
193-
194-
```
195-
196-
Deploy your image to [Docker hub](https://docs.docker.com/get-started/part3/#create-a-docker-hub-repository-and-push-your-image) or [Azure Container registry](../../container-registry/container-registry-get-started-azure-cli.md).
121+
Alternatively you can build custom docker image(s) and deploy image(s) into [Docker hub](https://docs.docker.com/get-started/part3/#create-a-docker-hub-repository-and-push-your-image) or [Azure Container registry](../../container-registry/container-registry-get-started-azure-cli.md).
197122

198123
> [!IMPORTANT]
199124
> If you are using Azure container regdistry (ACR), then run the ```az aks update``` command to attach ACR account with the AKS cluster.
@@ -202,44 +127,71 @@ Deploy your image to [Docker hub](https://docs.docker.com/get-started/part3/#cre
202127
> az aks update -n myAKSCluster -g wordpress-project --attach-acr <your-acr-name>
203128
> ```
204129
130+
205131
## Create Kubernetes manifest file
206132
207133
A Kubernetes manifest file defines a desired state for the cluster, such as what container images to run. Let's create a manifest file named `mywordpress.yaml` and copy in the following YAML definition.
208134
209135
> [!IMPORTANT]
210136
>
211-
> - Replace ```[DOCKER-HUB-USER/ACR ACCOUNT]/[YOUR-IMAGE-NAME]:[TAG]``` with your actual WordPress docker image name and tag, for example ```docker-hub-user/myblog:latest```.
212137
> - Update ```env``` section below with your ```SERVERNAME```, ```YOUR-DATABASE-USERNAME```, ```YOUR-DATABASE-PASSWORD``` of your MySQL flexible server.
213138
214139
```yaml
215140
apiVersion: apps/v1
216141
kind: Deployment
217142
metadata:
218-
name: wordpress-blog
143+
name: wp-blog
219144
spec:
220145
replicas: 1
221146
selector:
222147
matchLabels:
223-
app: wordpress-blog
148+
app: wp-blog
224149
template:
225150
metadata:
226151
labels:
227-
app: wordpress-blog
152+
app: wp-blog
228153
spec:
229154
containers:
230-
- name: wordpress-blog
231-
image: [DOCKER-HUB-USER-OR-ACR-ACCOUNT]/[YOUR-IMAGE-NAME]:[TAG]
155+
- name: wp-blog-nginx
156+
image: nginx
232157
ports:
233158
- containerPort: 80
159+
volumeMounts:
160+
- name: config
161+
mountPath: /etc/nginx/conf.d
162+
- name: wp-persistent-storage
163+
mountPath: /var/www/html
164+
165+
- name: wp-blog-php
166+
image: wordpress:fpm
167+
ports:
168+
- containerPort: 9000
169+
volumeMounts:
170+
- name: wp-persistent-storage
171+
mountPath: /var/www/html
234172
env:
235-
- name: DATABASE_HOST
236-
value: "SERVERNAME.mysql.database.azure.com" #Update here
237-
- name: DATABASE_USERNAME
238-
value: "YOUR-DATABASE-USERNAME" #Update here
239-
- name: DATABASE_PASSWORD
240-
value: "YOUR-DATABASE-PASSWORD" #Update here
241-
- name: DATABASE_NAME
242-
value: "flexibleserverdb"
173+
- name: WORDPRESS_DB_HOST
174+
value: "<<SERVERNAME.mysql.database.azure.com>>" #Update here
175+
- name: WORDPRESS_DB_USER
176+
value: "<<YOUR-DATABASE-USERNAME>>" #Update here
177+
- name: WORDPRESS_DB_PASSWORD
178+
value: "<<YOUR-DATABASE-PASSWORD>>" #Update here
179+
- name: WORDPRESS_DB_NAME
180+
value: "<<flexibleserverdb>>"
181+
- name: WORDPRESS_CONFIG_EXTRA # enable SSL connection for MySQL
182+
value: |
183+
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
184+
volumes:
185+
- name: config
186+
configMap:
187+
name: wp-nginx-config
188+
items:
189+
- key: config
190+
path: site.conf
191+
192+
- name: wp-persistent-storage
193+
persistentVolumeClaim:
194+
claimName: wp-pv-claim
243195
affinity:
244196
podAntiAffinity:
245197
requiredDuringSchedulingIgnoredDuringExecution:
@@ -248,19 +200,78 @@ spec:
248200
- key: "app"
249201
operator: In
250202
values:
251-
- wordpress-blog
203+
- wp-blog
252204
topologyKey: "kubernetes.io/hostname"
253205
---
254206
apiVersion: v1
207+
kind: PersistentVolumeClaim
208+
metadata:
209+
name: wp-pv-claim
210+
labels:
211+
app: wp-blog
212+
spec:
213+
accessModes:
214+
- ReadWriteOnce
215+
resources:
216+
requests:
217+
storage: 20Gi
218+
---
219+
apiVersion: v1
255220
kind: Service
256221
metadata:
257-
name: php-svc
222+
name: blog-nginx-service
258223
spec:
259224
type: LoadBalancer
260225
ports:
261226
- port: 80
262227
selector:
263-
app: wordpress-blog
228+
app: wp-blog
229+
---
230+
apiVersion: v1
231+
kind: ConfigMap
232+
metadata:
233+
name: wp-nginx-config
234+
data:
235+
config : |
236+
server {
237+
listen 80;
238+
server_name localhost;
239+
root /var/www/html/;
240+
241+
access_log /var/log/nginx/wp-blog-access.log;
242+
error_log /var/log/nginx/wp-blog-error.log error;
243+
index index.html index.htm index.php;
244+
245+
246+
location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
247+
expires max;
248+
index index.php index.html index.htm;
249+
try_files $uri =404;
250+
}
251+
252+
location / {
253+
index index.php index.html index.htm;
254+
255+
if (-f $request_filename) {
256+
expires max;
257+
break;
258+
}
259+
260+
if (!-e $request_filename) {
261+
rewrite ^(.+)$ /index.php?q=$1 last;
262+
}
263+
}
264+
265+
location ~ \.php$ {
266+
fastcgi_split_path_info ^(.+\.php)(/.+)$;
267+
fastcgi_pass localhost:9000;
268+
fastcgi_index index.php;
269+
include fastcgi_params;
270+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
271+
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
272+
fastcgi_param PATH_INFO $fastcgi_path_info;
273+
}
274+
}
264275
```
265276
266277
## Deploy WordPress to AKS cluster

articles/purview/how-to-create-manage-glossary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ In Microsoft Purview, you can create multiple business glossaries to support sep
1515

1616
## Create a new glossary
1717

18-
To create a glossary term, follow these steps:
18+
To create a business glossary, follow these steps:
1919

2020
1. On the home page, select **Data catalog** on the left pane, and then select the **Manage glossary** button in the center of the page.
2121

@@ -25,7 +25,7 @@ To create a glossary term, follow these steps:
2525

2626
:::image type="content" source="media/how-to-create-manage-glossary/select-new-glossary.png" alt-text="Screenshot of the button and pane for creating a new glossary." border="true":::
2727

28-
1. Give your term a **Name** and a **Description**.
28+
1. Give your glossary a **Name** and a **Description**.
2929

3030
1. You'll need to select at least one **Steward**, an Azure Active Directory user or group who will manage the glossary.
3131

0 commit comments

Comments
 (0)