Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: create a FAQ-style page for platform setup #15425

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 3 additions & 39 deletions content/en/docs/setup/platform-setup/MicroK8s/index.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,7 @@
---
title: MicroK8s
description: Instructions to set up MicroK8s for use with Istio.
weight: 45
skip_seealso: true
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/MicroK8s/
- /docs/setup/kubernetes/platform-setup/MicroK8s/
keywords: [platform-setup,kubernetes,MicroK8s]
layout: faq
skip_faq_title: true
owner: istio/wg-environments-maintainers
test: no
test: n/a
---

This page was last updated August 28, 2019.

{{< boilerplate untested-document >}}

Follow these instructions to prepare MicroK8s for using Istio.

{{< warning >}}
Administrative privileges are required to run MicroK8s.
{{< /warning >}}

1. Install the latest version of [MicroK8s](https://microk8s.io) using the command

{{< text bash >}}
$ sudo snap install microk8s --classic
{{< /text >}}

1. Enable Istio with the following command:

{{< text bash >}}
$ microk8s.enable istio
{{< /text >}}

1. When prompted, choose whether to enforce mutual TLS authentication among sidecars.
If you have a mixed deployment with non-Istio and Istio enabled services or you're unsure, choose No.

Please run the following command to check deployment progress:

{{< text bash >}}
$ watch microk8s.kubectl get all --all-namespaces
{{< /text >}}
43 changes: 43 additions & 0 deletions content/en/docs/setup/platform-setup/MicroK8s/microk8s.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: MicroK8s
description: Instructions to set up MicroK8s for use with Istio.
weight: 45
skip_seealso: true
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/MicroK8s/
- /docs/setup/kubernetes/platform-setup/MicroK8s/
keywords: [platform-setup,kubernetes,MicroK8s]
owner: istio/wg-environments-maintainers
test: n/a
---

This page was last updated August 28, 2019.

{{< boilerplate untested-document >}}

Follow these instructions to prepare MicroK8s for using Istio.

{{< warning >}}
Administrative privileges are required to run MicroK8s.
{{< /warning >}}

1. Install the latest version of [MicroK8s](https://microk8s.io) using the command

{{< text bash >}}
$ sudo snap install microk8s --classic
{{< /text >}}

1. Enable Istio with the following command:

{{< text bash >}}
$ microk8s.enable istio
{{< /text >}}

1. When prompted, choose whether to enforce mutual TLS authentication among sidecars.
If you have a mixed deployment with non-Istio and Istio enabled services or you're unsure, choose No.

Please run the following command to check deployment progress:

{{< text bash >}}
$ watch microk8s.kubectl get all --all-namespaces
{{< /text >}}
5 changes: 4 additions & 1 deletion content/en/docs/setup/platform-setup/_index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
title: Platform Setup
description: How to prepare various Kubernetes platforms before installing Istio.
weight: 10
weight: 5
layout: faq-landing
aliases:
- /docs/setup/kubernetes/platform-setup/
keywords: [platform-setup]
test: table-of-contents
---

Follow the instruction below on how to prepare various Kubernetes platforms before installing Istio.

{{< tip >}}
Istio {{< istio_version >}} is [supported on these Kubernetes versions](/docs/releases/supported-releases#support-status-of-istio-releases): {{< supported_kubernetes_versions >}}.
{{< /tip >}}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ aliases:
- /docs/setup/kubernetes/prepare/platform-setup/alicloud/
- /docs/setup/kubernetes/platform-setup/alicloud/
keywords: [platform-setup,alibaba-cloud,aliyun,alicloud]
skip_sidebar: true
owner: istio/wg-environments-maintainers
test: n/a
---
Expand Down
7 changes: 7 additions & 0 deletions content/en/docs/setup/platform-setup/ali-cloud/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Alibaba Cloud
layout: faq
skip_faq_title: true
owner: istio/wg-environments-maintainers
test: n/a
---
11 changes: 11 additions & 0 deletions content/en/docs/setup/platform-setup/amazon-eks/amazon-eks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: Amazon EKS
description: Instructions to set up Istio on Amazon EKS in AWS cloud.
weight: 7
skip_seealso: true
keywords: [platform-setup,aws-cloud,eks]
owner: istio/wg-environments-maintainers
test: n/a
---

Follow [Istio on EKS](https://github.com/aws-samples/istio-on-eks) instructions to provision EKS cluster with Istio setup in AWS cloud.
8 changes: 2 additions & 6 deletions content/en/docs/setup/platform-setup/amazon-eks/index.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
---
title: Amazon EKS
description: Instructions to set up Istio on Amazon EKS in AWS cloud.
weight: 7
skip_seealso: true
keywords: [platform-setup,aws-cloud,eks]
layout: faq
skip_faq_title: true
owner: istio/wg-environments-maintainers
test: n/a
---

Follow [EKS Blueprints for Istio](https://aws-ia.github.io/terraform-aws-eks-blueprints/patterns/istio/) instructions to provision EKS cluster with Istio setup in AWS cloud.
59 changes: 59 additions & 0 deletions content/en/docs/setup/platform-setup/azure/azure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: Azure
description: Instructions to set up an Azure cluster for Istio.
weight: 10
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/azure/
- /docs/setup/kubernetes/platform-setup/azure/
keywords: [platform-setup, azure]
owner: istio/wg-environments-maintainers
test: n/a
---

Follow these instructions to prepare an Azure cluster for Istio.

{{< tip >}}
Azure offers a {{< gloss >}}managed control plane{{< /gloss >}} add-on for the Azure Kubernetes Service (AKS),
which you can use instead of installing Istio manually.
Please refer to [Deploy Istio-based service mesh add-on for Azure Kubernetes Service](https://learn.microsoft.com/azure/aks/istio-deploy-addon)
for details and instructions.
{{< /tip >}}

You can deploy a Kubernetes cluster to Azure via [AKS](https://azure.microsoft.com/en-us/services/kubernetes-service/) or [Cluster API provider for Azure (CAPZ) for self-managed Kubernetes or AKS](https://capz.sigs.k8s.io/) which fully supports Istio.

## AKS

You can create an AKS cluster via numerous means such as [the az cli](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough), [the Azure portal](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal), [az cli with Bicep](https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-bicep?tabs=azure-cli), or [Terraform](https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-terraform?tabs=bash)

For the `az` cli option, complete `az login` authentication OR use cloud shell, then run the following commands below.

1. Determine the desired region name which supports AKS

{{< text bash >}}
$ az provider list --query "[?namespace=='Microsoft.ContainerService'].resourceTypes[] | [?resourceType=='managedClusters'].locations[]" -o tsv
{{< /text >}}

1. Verify the supported Kubernetes versions for the desired region

Replace `my location` using the desired region value from the above step, and then execute:

{{< text bash >}}
$ az aks get-versions --location "my location" --query "orchestrators[].orchestratorVersion"
{{< /text >}}

1. Create the resource group and deploy the AKS cluster

Replace `myResourceGroup` and `myAKSCluster` with desired names, `my location` using the value from step 1, `1.28.3` if not supported in the region, and then execute:

{{< text bash >}}
$ az group create --name myResourceGroup --location "my location"
$ az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.28.3 --generate-ssh-keys
{{< /text >}}

1. Get the AKS `kubeconfig` credentials

Replace `myResourceGroup` and `myAKSCluster` with the names from the previous step and execute:

{{< text bash >}}
$ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
{{< /text >}}
59 changes: 3 additions & 56 deletions content/en/docs/setup/platform-setup/azure/index.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,7 @@
---
title: Azure
description: Instructions to set up an Azure cluster for Istio.
weight: 10
skip_seealso: true
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/azure/
- /docs/setup/kubernetes/platform-setup/azure/
keywords: [platform-setup, azure]
layout: faq
skip_faq_title: true
owner: istio/wg-environments-maintainers
test: no
test: n/a
---

Follow these instructions to prepare an Azure cluster for Istio.

{{< tip >}}
Azure offers a {{< gloss >}}managed control plane{{< /gloss >}} add-on for the Azure Kubernetes Service (AKS),
which you can use instead of installing Istio manually.
Please refer to [Deploy Istio-based service mesh add-on for Azure Kubernetes Service](https://learn.microsoft.com/azure/aks/istio-deploy-addon)
for details and instructions.
{{< /tip >}}

You can deploy a Kubernetes cluster to Azure via [AKS](https://azure.microsoft.com/en-us/services/kubernetes-service/) or [Cluster API provider for Azure (CAPZ) for self-managed Kubernetes or AKS](https://capz.sigs.k8s.io/) which fully supports Istio.

## AKS

You can create an AKS cluster via numerous means such as [the az cli](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough), [the Azure portal](https://docs.microsoft.com/en-us/azure/aks/kubernetes-walkthrough-portal), [az cli with Bicep](https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-bicep?tabs=azure-cli), or [Terraform](https://learn.microsoft.com/en-us/azure/aks/learn/quick-kubernetes-deploy-terraform?tabs=bash)

For the `az` cli option, complete `az login` authentication OR use cloud shell, then run the following commands below.

1. Determine the desired region name which supports AKS

{{< text bash >}}
$ az provider list --query "[?namespace=='Microsoft.ContainerService'].resourceTypes[] | [?resourceType=='managedClusters'].locations[]" -o tsv
{{< /text >}}

1. Verify the supported Kubernetes versions for the desired region

Replace `my location` using the desired region value from the above step, and then execute:

{{< text bash >}}
$ az aks get-versions --location "my location" --query "orchestrators[].orchestratorVersion"
{{< /text >}}

1. Create the resource group and deploy the AKS cluster

Replace `myResourceGroup` and `myAKSCluster` with desired names, `my location` using the value from step 1, `1.28.3` if not supported in the region, and then execute:

{{< text bash >}}
$ az group create --name myResourceGroup --location "my location"
$ az aks create --resource-group myResourceGroup --name myAKSCluster --node-count 3 --kubernetes-version 1.28.3 --generate-ssh-keys
{{< /text >}}

1. Get the AKS `kubeconfig` credentials

Replace `myResourceGroup` and `myAKSCluster` with the names from the previous step and execute:

{{< text bash >}}
$ az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
{{< /text >}}
39 changes: 39 additions & 0 deletions content/en/docs/setup/platform-setup/docker/docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: Docker Desktop
description: Instructions to set up Docker Desktop for Istio.
weight: 15
skip_seealso: true
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/docker-for-desktop/
- /docs/setup/kubernetes/prepare/platform-setup/docker/
- /docs/setup/kubernetes/platform-setup/docker/
keywords: [platform-setup,kubernetes,docker-desktop]
owner: istio/wg-environments-maintainers
test: n/a
---

1. To run Istio with Docker Desktop, install a version which contains a [supported Kubernetes version](/docs/releases/supported-releases#support-status-of-istio-releases)
({{< supported_kubernetes_versions >}}).

1. If you want to run Istio under Docker Desktop's built-in Kubernetes, you need to increase Docker's memory limit
under the *Resources->Advanced* pane of Docker Desktop's *Settings...*. Set the resources to at least 8.0 `GB` of memory and 4 `CPUs`.

{{< image width="60%" link="./dockerprefs.png" caption="Docker Preferences" >}}

{{< warning >}}
Minimum memory requirements vary. 8 `GB` is sufficient to run
Istio and Bookinfo. If you don't have enough memory allocated in Docker Desktop,
the following errors could occur:

- image pull failures
- healthcheck timeout failures
- kubectl failures on the host
- general network instability of the hypervisor

Additional Docker Desktop resources may be freed up using:

{{< text bash >}}
$ docker system prune
{{< /text >}}

{{< /warning >}}
38 changes: 3 additions & 35 deletions content/en/docs/setup/platform-setup/docker/index.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,7 @@
---
title: Docker Desktop
description: Instructions to set up Docker Desktop for Istio.
weight: 15
skip_seealso: true
aliases:
- /docs/setup/kubernetes/prepare/platform-setup/docker-for-desktop/
- /docs/setup/kubernetes/prepare/platform-setup/docker/
- /docs/setup/kubernetes/platform-setup/docker/
keywords: [platform-setup,kubernetes,docker-desktop]
layout: faq
skip_faq_title: true
owner: istio/wg-environments-maintainers
test: no
test: n/a
---

1. To run Istio with Docker Desktop, install a version which contains a [supported Kubernetes version](/docs/releases/supported-releases#support-status-of-istio-releases)
({{< supported_kubernetes_versions >}}).

1. If you want to run Istio under Docker Desktop's built-in Kubernetes, you need to increase Docker's memory limit
under the *Resources->Advanced* pane of Docker Desktop's *Settings...*. Set the resources to at least 8.0 `GB` of memory and 4 `CPUs`.

{{< image width="60%" link="./dockerprefs.png" caption="Docker Preferences" >}}

{{< warning >}}
Minimum memory requirements vary. 8 `GB` is sufficient to run
Istio and Bookinfo. If you don't have enough memory allocated in Docker Desktop,
the following errors could occur:

- image pull failures
- healthcheck timeout failures
- kubectl failures on the host
- general network instability of the hypervisor

Additional Docker Desktop resources may be freed up using:

{{< text bash >}}
$ docker system prune
{{< /text >}}

{{< /warning >}}
Loading