Skip to content

Commit c0c312f

Browse files
Merge branch 'MicrosoftDocs:main' into main
2 parents 95348de + c858da5 commit c0c312f

File tree

637 files changed

+3458
-12480
lines changed

Some content is hidden

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

637 files changed

+3458
-12480
lines changed

.github/workflows/whats-new.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
pull-requests: write
1919

2020
steps:
21-
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac
21+
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608
2222

2323
- name: "Print manual run reason"
2424
if: ${{ github.event_name == 'workflow_dispatch' }}

.openpublishing.redirection.json

Lines changed: 521 additions & 175 deletions
Large diffs are not rendered by default.

.openpublishing.redirection.vs2017.json

Lines changed: 202 additions & 104 deletions
Large diffs are not rendered by default.

bridge/articles/bridge-to-kubernetes-aks.md

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ description: Learn how to use Bridge to Kubernetes to connect your development c
1212

1313
# Use Bridge to Kubernetes with AKS
1414

15-
In this tutorial, you'll use a specific AKS sample microservices web app to learn how to use Bridge to Kubernetes to debug locally in a single pod that's part of an Azure Kubernetes Service (AKS) cluster.
15+
In this tutorial, you use a specific AKS sample microservices web app to learn how to use Bridge to Kubernetes to debug locally in a single pod that's part of an Azure Kubernetes Service (AKS) cluster.
1616

1717
## Before you begin
1818

@@ -27,7 +27,7 @@ This guide uses the [Todo App sample application](https://github.com/Azure/Bridg
2727

2828
## Create a Kubernetes cluster
2929

30-
Create an AKS cluster in a [supported region][supported-regions]. The below commands create a resource group called `MyResourceGroup` and an AKS cluster called `MyAKS`.
30+
Create an AKS cluster in a [supported region][supported-regions]. The following commands create a resource group called `MyResourceGroup` and an AKS cluster called `MyAKS`.
3131

3232
```azurecli-interactive
3333
az group create \
@@ -46,14 +46,14 @@ az aks create \
4646
Download the code and install dependencies
4747

4848
```azurecli-interactive
49-
git clone https://github.com/Microsoft/mindaro
50-
cd mindaro/samples/todo-app
49+
git clone https://github.com/Azure/Bridge-To-Kubernetes
50+
cd Bridge-To-Kubernetes/samples/todo-app
5151
npm install stats-api\
5252
```
5353

5454
## Connect to your cluster and deploy the app
5555

56-
On your development computer, download and configure the Kubernetes CLI to connect to your Kubernetes cluster using [az aks get-credentials][az-aks-get-credentials].
56+
On your development computer, download and configure the Kubernetes CLI to connect to your Kubernetes cluster using [`az aks get-credentials`][az-aks-get-credentials].
5757

5858
```azurecli
5959
az aks get-credentials --resource-group MyResourceGroup --name MyAKS
@@ -64,18 +64,18 @@ kubectl apply -f deployment.yaml --namespace todo-app
6464

6565
## Try out the app
6666

67-
On the same terminal you were using earlier run below command and copy the IP for front end service under the External IP columnd.
67+
On the same terminal you were using earlier, run the following command and copy the IP for front end service under the External IP column.
6868

6969
```azurecli
7070
kubectl get services
7171
```
7272

7373
To try out the app, open the url:
74-
(your external IP from above command goes here).nip.io
74+
`{your external IP from above command goes here}.nip.io`
7575

7676
## Debug stats-api service
7777

78-
On the same terminal you were using earlier type below ot open stats-api in vscode.
78+
On the same terminal you were using earlier, type the following command to open stats-api in VS Code.
7979

8080
```azurecli
8181
code ./stats-api
@@ -91,7 +91,7 @@ Next, configure bridge: open the Command Palette (**CTRL**+**SHIFT**+**P** or **
9191

9292
![Screenshot showing the Bridge to Kubernetes Configure command window.](media/bridge-to-kubernetes-sample/bridge-configure.png)
9393

94-
You are prompted to configure the service you want to replace, the port to forward from your development computer, and the launch task to use.
94+
You're prompted to configure the service you want to replace, the port to forward from your development computer, and the launch task to use.
9595

9696
Choose the `stats-api` service.
9797

@@ -100,15 +100,15 @@ Choose the `stats-api` service.
100100
> [!IMPORTANT]
101101
> You can only redirect services that have a single pod.
102102
103-
After you select your service, you are prompted to enter the TCP port for your local application. For this example, enter 3001.
103+
After you select your service, you're prompted to enter the TCP port for your local application. For this example, enter 3001.
104104

105105
![Screenshot showing the enter the port number window.](media/bridge-to-kubernetes-sample/enter-port.png)
106106

107107
Choose **Run Script: dev** as the launch task.
108108

109109
![Screenshot showing the choose the debugger launch task window.](media/bridge-to-kubernetes-sample/launch-task.png)
110110

111-
You have the option of running isolated or not isolated. If you run isolated, only your requests are routed to your local process; other developers can use the cluster without being affected. If you don't run isolated, all traffic is redirected to your local process. For more information on this option, see [Using routing capabilities for developing in isolation](overview-bridge-to-kubernetes.md#using-routing-capabilities-for-developing-in-isolation). For this example, we will proceed with non-isolated. If you chose isolation, task.json will have the prefix you should use to route request to your machine.
111+
You have the option of running isolated or not isolated. If you run isolated, only your requests are routed to your local process; other developers can use the cluster without being affected. If you don't run isolated, all traffic is redirected to your local process. For more information on this option, see [Using routing capabilities for developing in isolation](overview-bridge-to-kubernetes.md#using-routing-capabilities-for-developing-in-isolation). For this example, we proceed with non-isolated. If you chose isolation, task.json has the prefix you should use to route request to your machine.
112112

113113
![Screenshot showing the choose isolation option window.](media/bridge-to-kubernetes-sample/isolation.png)
114114

@@ -124,11 +124,11 @@ To start debugging, select the Debug icon on the left and select **Run Script: d
124124
> [!NOTE]
125125
> You will be prompted to allow the EndpointManager to run elevated and modify your hosts file.
126126
127-
Your development computer is connected when the VS Code status bar turns orange and the Kubernetes extension shows you are connected. Once your development computer is connected, traffic starts redirecting to your development computer for the stats-api you are replacing.
127+
Your development computer is connected when the VS Code status bar turns orange and the Kubernetes extension shows you're connected. Once your development computer is connected, traffic starts redirecting to your development computer for the stats-api you're replacing.
128128

129129
![Screenshot showing the choose the debugging with Bridge to Kubernetes window.](media/bridge-to-kubernetes-sample/debugging.png)
130130

131-
Navigate to the frontend entry point of your todo-app. Using that external IP you found earlier (your external IP from get services command).nip.io. Note, if you selected isolation mode, you will need to use (your prefix - can be found in task.json).(your external IP from get services command).nip.io.
131+
Navigate to the frontend entry point of your todo-app. Using that external IP you found earlier `{your external IP from get services command}.nip.io`. Note, if you selected isolation mode, you need to use `{your prefix - can be found in task.json}.{your external IP from get services command}.nip.io`.
132132

133133
Make a request to the stats-api by choosing the **stats** link.
134134

@@ -140,9 +140,9 @@ Press play and let the request continue complete transparently.
140140

141141
## Clean up
142142

143-
When you stop the debugger all changes to the cluster are reverted. Note, if you were running with isolation on, the routing manager pod will be left there to expedite the start of the debugger the next time around.
143+
When you stop the debugger, all changes to the cluster are reverted. Note, if you were running with isolation on, the routing manager pod will be left there to expedite the start of the debugger the next time around.
144144

145-
You can leave your AKS cluster on for future debugging or you can delete it with below command.
145+
You can leave your AKS cluster on for future debugging or you can delete it with following command.
146146

147147
```azurecli-interactive
148148
az aks delete --name MyAKS --resource-group MyResourceGroup
@@ -160,9 +160,7 @@ Learn more about Bridge to Kubernetes at [How Bridge to Kubernetes works][btk-ho
160160
[azure-cloud-shell]: /azure/cloud-shell/overview
161161
[az-aks-get-credentials]: /cli/azure/aks?view=azure-cli-latest&preserve-view=true#az-aks-get-credentials
162162
[az-aks-vs-code]: https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-aks-tools
163-
[bike-sharing-github]: https://github.com/Microsoft/mindaro
164163
[preview-terms]: https://azure.microsoft.com/support/legal/preview-supplemental-terms/
165-
[server-js-breakpoint]: https://github.com/Microsoft/mindaro/blob/master/samples/BikeSharingApp/Bikes/server.js#L233
166164
[supported-regions]: https://azure.microsoft.com/global-infrastructure/services/?products=kubernetes-service
167165
[troubleshooting]: /azure/dev-spaces/troubleshooting#fail-to-restore-original-configuration-of-deployment-on-cluster
168166
[vs-code]: https://code.visualstudio.com/download

bridge/articles/bridge-to-kubernetes-vs-code.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ manager: jmartens
66
ms.technology: bridge
77
ms.custom: "contperf-fy22q1"
88
title: Use Bridge to Kubernetes to run and debug locally with Kubernetes (VS Code)
9-
ms.date: 08/11/2022
9+
ms.date: 09/14/2023
1010
description: Learn how to use Bridge to Kubernetes to connect your development computer to a Kubernetes cluster and use local tunnel debugging to debug Kubernetes services on your local machine.
1111
---
1212

@@ -146,7 +146,7 @@ var response = await client.SendAsync(request);
146146
> [!NOTE]
147147
> To avoid affecting code at every request, you can create a class that inherits from [System.Net.Http.DelegatingHandler](/dotnet/api/system.net.http.delegatinghandler) and override the `SendAsync` method with code similar to the preceding example. You can find code using this technique on the web; one example is [Properly Propagating "kubernetes-route-as" in Bridge to Kubernetes](https://blogs.u2u.be/lander/post/2020/11/25/properly-propagating-kubernetes-route-as-in-bridge-to-kubernetes).
148148
149-
For Node.js services, you can use code similar to the following, taken from the todo-app sample in the [mindaro repo](https://github.com/Microsoft/mindaro):
149+
For Node.js services, you can use code similar to the following, taken from the todo-app sample in the [Bridge to Kubernetes repo](https://github.com/Azure/Bridge-To-Kubernetes):
150150

151151
```js
152152
server.get("/api/stats", function (req, res) {

docs/azure/index.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ landingContent:
1717
linkLists:
1818
- linkListType: overview
1919
links:
20-
- text: Develop Azure applications with Visual Studio
20+
- text: Develop Azure applications
21+
url: overview.md
22+
- text: Work with Azure
2123
url: overview-azure-integration.md
2224
- text: Azure SDK for .NET
2325
url: /dotnet/azure

docs/azure/overview-azure-integration.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Azure development with Visual Studio
3-
description: Learn about how you can connect your apps to Azure services in Visual Studio and deploy them to the cloud.
2+
title: Work with Azure with Visual Studio
3+
description: Learn about how you can provision Azure resources, browse existing Azure resources, and deploy applications to Azure services with Visual Studio.
44
author: ghogen
55
manager: jmartens
66
ms.technology: vs-azure
@@ -11,7 +11,7 @@ ms.date: 10/19/2021
1111
ms.author: ghogen
1212
monikerRange: ">=vs-2019"
1313
---
14-
# About Azure development in Visual Studio
14+
# Work with Azure in Visual Studio
1515

1616
[!INCLUDE [Visual Studio](~/includes/applies-to-version/vs-windows-only.md)]
1717

docs/azure/overview-connected-services.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Get started by right-clicking on the project node, and choosing **Add > Connecte
3434
Supported project types vary by the type of service. You'll see the options that apply to your project type in the listed selections.
3535

3636
<a name="azure"/>
37+
3738
## Connect your app to Azure services
3839

3940
Use Connected Services to connect your application to live Azure services emulators and other local alternatives to Azure services. Visual Studio currently supports the following:
@@ -55,20 +56,21 @@ Use Connected Services to connect your application to live Azure services emulat
5556
> [!NOTE]
5657
> Using Publish you can deploy your application to Azure hosting services like Azure VMs, Azure App Service, Azure Functions and Azure Container Registry
5758
58-
### Support for Azure emulators and local alternatives
59-
60-
Visual Studio makes it easier to develop Azure applications locally by easing the transition from locally emulated services to services running in the cloud. You can use Connected Services to connect your application to local emulators, some of which run in a local container, and other local alternatives to Azure services. Visual Studio currently supports the following:
59+
## Databases and data providers
6160

61+
Visual Studio provides options to connect to on-premises databases, locally emulated versions of data providers, as well as Azure database services.
6262

63-
## Connect your app to gRPC, OpenAPI and WCF endpoints
63+
| Name | Description |
64+
| - | - |
65+
| [Azure Cosmos DB Emulator on container](/azure/cosmos-db/introduction) | Azure Cosmos DB emulator running in a local container. |
66+
| [MongoDB on container](/azure/cosmos-db/introduction) | MongoDB document databases provides high reliability and easy scalability. This option makes it available in a local container. |
67+
| [PostgreSQL on container](/azure/postgresql/overview) | PostgreSQL is an object-relational database system that provides reliability and data integrity. This option makes it available in a local container. |
68+
| [SQLite](/ef/core/providers/sqlite/?tabs=dotnet-core-cli) | SQLite is an in-process library that provides a self-contained, transactional SQL database engine with no configuration. |
69+
| [SQL Server Database](/sql/sql-server/) | On-premises SQL Server Database. |
6470

65-
Use Connected Services to connect your application to any of the following services:
71+
## Support for Azure emulators and local alternatives
6672

67-
| Name | ASP.NET Link | Description |
68-
|-|-|-|
69-
| [OpenAPI](https://github.com/OAI/OpenAPI-Specification) endpoints | [Develop ASP.NET Core apps with OpenAPI](/aspnet/core/web-api/Microsoft.dotnet-openapi) | A standard format for describing the capabilities of a service in computer-readable and human-readable form. |
70-
| [gRPC](https://grpc.io/docs/) endpoints | [Introduction to gRPC services on .NET](/aspnet/core/grpc/) | An open-source real-time procedure calling service. |
71-
| [WCF](/dotnet/framework/wcf/) endpoints | n/a | A .NET Framework solution supporting programming with a distributed network of services. |
73+
Visual Studio makes it easier to develop Azure applications locally by easing the transition from locally emulated services to services running in the cloud. You can use Connected Services to connect your application to local emulators, some of which run in a local container, and other local alternatives to Azure services. Visual Studio currently supports the following:
7274

7375
Visual Studio generates any necessary client or server code to facilitate the communication.
7476

@@ -82,23 +84,15 @@ Visual Studio generates any necessary client or server code to facilitate the co
8284
| [Secrets.json](/aspnet/core/security/app-secrets?tabs=windows) | Local alternative for Key Vault. |
8385
| [SQL Server Express LocalDB](/sql/database-engine/configure-windows/sql-server-express-localdb) | Local alternative to Azure SQL Database. |
8486

85-
## Databases and data providers
86-
87-
Visual Studio provides options to connect to on-premises databases, locally emulated versions of data providers, as well as Azure database services.
88-
89-
| Name | Description |
90-
| - | - |
91-
| [Azure Cosmos DB Emulator on container](/azure/cosmos-db/introduction) | Azure Cosmos DB emulator running in a local container. |
92-
| [MongoDB on container](/azure/cosmos-db/introduction) | MongoDB document databases provides high reliability and easy scalability. This option makes it available in a local container. |
93-
| [PostgreSQL on container](/azure/postgresql/overview) | PostgreSQL is an object-relational database system that provides reliability and data integrity. This option makes it available in a local container. |
94-
| [SQLite](/ef/core/providers/sqlite/?tabs=dotnet-core-cli) | SQLite is an in-process library that provides a self-contained, transactional SQL database engine with no configuration. |
95-
| [SQL Server Database](/sql/sql-server/) | On-premises SQL Server Database. |
96-
97-
## How it works
87+
## Connect your app to gRPC, OpenAPI and WCF endpoints
9888

99-
Visual Studio creates two new files visible in Solution Explorer under Properties called *serviceDependencies.json* and *serviceDependencies.local.json*. Both of these files are safe to check in as they do not contain any secrets.
89+
Use Connected Services to connect your application to any of the following services:
10090

101-
Visual Studio also creates a file called *serviceDependencies.local.json.user* which is not visible in Solution Explorer by default. This file contains information that could be considered a secret (for example, resource IDs in Azure) and we do not recommend you check it in.
91+
| Name | ASP.NET Link | Description |
92+
|-|-|-|
93+
| [OpenAPI](https://github.com/OAI/OpenAPI-Specification) endpoints | [Develop ASP.NET Core apps with OpenAPI](/aspnet/core/web-api/Microsoft.dotnet-openapi) | A standard format for describing the capabilities of a service in computer-readable and human-readable form. |
94+
| [gRPC](https://grpc.io/docs/) endpoints | [Introduction to gRPC services on .NET](/aspnet/core/grpc/) | An open-source real-time procedure calling service. |
95+
| [WCF](/dotnet/framework/wcf/) endpoints | n/a | A .NET Framework solution supporting programming with a distributed network of services. |
10296

10397
## Containers
10498

@@ -113,3 +107,9 @@ During development, you usually use a local emulator, a local database, or a moc
113107
If you click those links, Visual Studio will present a few screens that ask for the connection information to the "real" service running in the cloud that your cloud app will use instead of the local service. For example, if you initially configured an app to run with a locally running instance of SQL LocalDB, you would have provided a connection string name and an initial value that referenced that LocalDB database. After your app is first deployed to a cloud environment, you can use the **Configure** links to specify the connection string to use in the cloud. For Azure deployment scenarios, Visual Studio also gives the option of using an [Azure Key Vault](/azure/key-vault/general/overview) to securely store the connection string and other secrets.
114108

115109
![Screenshot showing the options presented to replace the SQL LocalDB service with a real database connection.](media/vs-2022/configure-dependency.png)
110+
111+
## How it works
112+
113+
Visual Studio creates two new files visible in Solution Explorer under Properties called *serviceDependencies.json* and *serviceDependencies.local.json*. Both of these files are safe to check in as they do not contain any secrets.
114+
115+
Visual Studio also creates a file called *serviceDependencies.local.json.user* which is not visible in Solution Explorer by default. This file contains information that could be considered a secret (for example, resource IDs in Azure) and we do not recommend you check it in.

0 commit comments

Comments
 (0)