From dd618cff39c7cc145c0a50cd996c5110f814094c Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Wed, 28 Oct 2020 11:19:25 -0400 Subject: [PATCH 1/3] clean up turnkey cloud solutions --- .../container-runtimes.md | 2 +- .../production-environment/turnkey/_index.md | 4 - .../turnkey/alibaba-cloud.md | 20 -- .../production-environment/turnkey/aws.md | 88 ------- .../production-environment/turnkey/azure.md | 36 --- .../production-environment/turnkey/gce.md | 223 ------------------ .../production-environment/turnkey/icp.md | 65 ----- .../production-environment/turnkey/tencent.md | 19 -- .../horizontal-pod-autoscale-walkthrough.md | 51 ++-- static/_redirects | 5 - 10 files changed, 27 insertions(+), 486 deletions(-) delete mode 100644 content/en/docs/setup/production-environment/turnkey/_index.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/alibaba-cloud.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/aws.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/azure.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/gce.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/icp.md delete mode 100644 content/en/docs/setup/production-environment/turnkey/tencent.md diff --git a/content/en/docs/setup/production-environment/container-runtimes.md b/content/en/docs/setup/production-environment/container-runtimes.md index cbe6cba37f..ecaf53c03f 100644 --- a/content/en/docs/setup/production-environment/container-runtimes.md +++ b/content/en/docs/setup/production-environment/container-runtimes.md @@ -4,7 +4,7 @@ reviewers: - bart0sh title: Container runtimes content_type: concept -weight: 10 +weight: 20 --- diff --git a/content/en/docs/setup/production-environment/turnkey/_index.md b/content/en/docs/setup/production-environment/turnkey/_index.md deleted file mode 100644 index 1941966bb0..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Turnkey Cloud Solutions -weight: 30 ---- diff --git a/content/en/docs/setup/production-environment/turnkey/alibaba-cloud.md b/content/en/docs/setup/production-environment/turnkey/alibaba-cloud.md deleted file mode 100644 index d83ecf18ac..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/alibaba-cloud.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -reviewers: -- colemickens -- brendandburns -title: Running Kubernetes on Alibaba Cloud ---- - -## Alibaba Cloud Container Service - -The [Alibaba Cloud Container Service](https://www.alibabacloud.com/product/container-service) lets you run and manage Docker applications on a cluster of either Alibaba Cloud ECS instances or in a Serverless fashion. It supports the popular open source container orchestrators: Docker Swarm and Kubernetes. - -To simplify cluster deployment and management, use [Kubernetes Support for Alibaba Cloud Container Service](https://www.alibabacloud.com/product/kubernetes). You can get started quickly by following the [Kubernetes walk-through](https://www.alibabacloud.com/help/doc-detail/86737.htm), and there are some [tutorials for Kubernetes Support on Alibaba Cloud](https://yq.aliyun.com/teams/11/type_blog-cid_200-page_1) in Chinese. - -To use custom binaries or open source Kubernetes, follow the instructions below. - -## Custom Deployments - -The source code for [Kubernetes with Alibaba Cloud provider implementation](https://github.com/AliyunContainerService/kubernetes) is open source and available on GitHub. - -For more information, see "[Quick deployment of Kubernetes - VPC environment on Alibaba Cloud](https://www.alibabacloud.com/forum/read-830)" in English. diff --git a/content/en/docs/setup/production-environment/turnkey/aws.md b/content/en/docs/setup/production-environment/turnkey/aws.md deleted file mode 100644 index 7dd901aa0f..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/aws.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -reviewers: -- justinsb -- clove -title: Running Kubernetes on AWS EC2 -content_type: task ---- - - - -This page describes how to install a Kubernetes cluster on AWS. - - - -## {{% heading "prerequisites" %}} - - -To create a Kubernetes cluster on AWS, you will need an Access Key ID and a Secret Access Key from AWS. - -### Supported Production Grade Tools - -* [conjure-up](https://docs.conjure-up.io/stable/en/cni/k8s-and-aws) is an open-source installer for Kubernetes that creates Kubernetes clusters with native AWS integrations on Ubuntu. - -* [Kubernetes Operations](https://github.com/kubernetes/kops) - Production Grade K8s Installation, Upgrades, and Management. Supports running Debian, Ubuntu, CentOS, and RHEL in AWS. - -* [kube-aws](https://github.com/kubernetes-retired/kube-aws), creates and manages Kubernetes clusters with [Flatcar Linux](https://www.flatcar-linux.org/) nodes, using AWS tools: EC2, CloudFormation and Autoscaling. - -* [KubeOne](https://github.com/kubermatic/kubeone) is an open source cluster lifecycle management tool that creates, upgrades and manages Kubernetes Highly-Available clusters. - - - - - -## Getting started with your cluster - -### Command line administration tool: kubectl - -The cluster startup script will leave you with a `kubernetes` directory on your workstation. -Alternately, you can download the latest Kubernetes release from [this page](https://github.com/kubernetes/kubernetes/releases). - -Next, add the appropriate binary folder to your `PATH` to access kubectl: - -```shell -# macOS -export PATH=/platforms/darwin/amd64:$PATH - -# Linux -export PATH=/platforms/linux/amd64:$PATH -``` - -An up-to-date documentation page for this tool is available here: [kubectl manual](/docs/reference/kubectl/kubectl/) - -By default, `kubectl` will use the `kubeconfig` file generated during the cluster startup for authenticating against the API. -For more information, please read [kubeconfig files](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) - -### Examples - -See [a simple nginx example](/docs/tasks/run-application/run-stateless-application-deployment/) to try out your new cluster. - -The "Guestbook" application is another popular example to get started with Kubernetes: [guestbook example](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/) - -For more complete applications, please look in the [examples directory](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/) - -## Scaling the cluster - -Adding and removing nodes through `kubectl` is not supported. You can still scale the amount of nodes manually through adjustments of the 'Desired' and 'Max' properties within the -[Auto Scaling Group](https://docs.aws.amazon.com/autoscaling/latest/userguide/as-manual-scaling.html), which was created during the installation. - -## Tearing down the cluster - -Make sure the environment variables you used to provision your cluster are still exported, then call the following script inside the -`kubernetes` directory: - -```shell -cluster/kube-down.sh -``` - -## Support Level - - -IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level --------------------- | ------------ | ------------- | ---------- | --------------------------------------------- | ---------| ---------------------------- -AWS | kops | Debian | k8s (VPC) | [docs](https://github.com/kubernetes/kops) | | Community ([@justinsb](https://github.com/justinsb)) -AWS | CoreOS | CoreOS | flannel | - | | Community -AWS | Juju | Ubuntu | flannel, calico, canal | - | 100% | Commercial, Community -AWS | KubeOne | Ubuntu, CoreOS, CentOS | canal, weavenet | [docs](https://github.com/kubermatic/kubeone) | 100% | Commercial, Community - - diff --git a/content/en/docs/setup/production-environment/turnkey/azure.md b/content/en/docs/setup/production-environment/turnkey/azure.md deleted file mode 100644 index eccbbca75b..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/azure.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -reviewers: -- colemickens -- brendandburns -title: Running Kubernetes on Azure ---- - -## Azure Kubernetes Service (AKS) - -The [Azure Kubernetes Service](https://azure.microsoft.com/en-us/services/kubernetes-service/) offers simple -deployments for Kubernetes clusters. - -For an example of deploying a Kubernetes cluster onto Azure via the Azure Kubernetes Service: - -**[Microsoft Azure Kubernetes Service](https://docs.microsoft.com/en-us/azure/aks/intro-kubernetes)** - -## Custom Deployments: AKS-Engine - -The core of the Azure Kubernetes Service is **open source** and available on GitHub for the community -to use and contribute to: **[AKS-Engine](https://github.com/Azure/aks-engine)**. The legacy [ACS-Engine](https://github.com/Azure/acs-engine) codebase has been deprecated in favor of AKS-engine. - -AKS-Engine is a good choice if you need to make customizations to the deployment beyond what the Azure Kubernetes -Service officially supports. These customizations include deploying into existing virtual networks, utilizing multiple -agent pools, and more. Some community contributions to AKS-Engine may even become features of the Azure Kubernetes Service. - -The input to AKS-Engine is an apimodel JSON file describing the Kubernetes cluster. It is similar to the Azure Resource Manager (ARM) template syntax used to deploy a cluster directly with the Azure Kubernetes Service. The resulting output is an ARM template that can be checked into source control and used to deploy Kubernetes clusters to Azure. - -You can get started by following the **[AKS-Engine Kubernetes Tutorial](https://github.com/Azure/aks-engine/blob/master/docs/tutorials/README.md)**. - -## CoreOS Tectonic for Azure - -The CoreOS Tectonic Installer for Azure is **open source** and available on GitHub for the community to use and contribute to: **[Tectonic Installer](https://github.com/coreos/tectonic-installer)**. - -Tectonic Installer is a good choice when you need to make cluster customizations as it is built on [Hashicorp's Terraform](https://www.terraform.io/docs/providers/azurerm/) Azure Resource Manager (ARM) provider. This enables users to customize or integrate using familiar Terraform tooling. - -You can get started using the [Tectonic Installer for Azure Guide](https://coreos.com/tectonic/docs/latest/install/azure/azure-terraform.html). diff --git a/content/en/docs/setup/production-environment/turnkey/gce.md b/content/en/docs/setup/production-environment/turnkey/gce.md deleted file mode 100644 index 78386161a6..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/gce.md +++ /dev/null @@ -1,223 +0,0 @@ ---- -reviewers: -- brendandburns -- jbeda -- mikedanese -- thockin -title: Running Kubernetes on Google Compute Engine -content_type: task ---- - - - -The example below creates a Kubernetes cluster with 3 worker node Virtual Machines and a master Virtual Machine (i.e. 4 VMs in your cluster). This cluster is set up and controlled from your workstation (or wherever you find convenient). - - - -## {{% heading "prerequisites" %}} - - -If you want a simplified getting started experience and GUI for managing clusters, please consider trying [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/) for hosted cluster installation and management. - -For an easy way to experiment with the Kubernetes development environment, click the button below -to open a Google Cloud Shell with an auto-cloned copy of the Kubernetes source repo. - -[![Open in Cloud Shell](https://gstatic.com/cloudssh/images/open-btn.png)](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/kubernetes/kubernetes&page=editor&open_in_editor=README.md) - -If you want to use custom binaries or pure open source Kubernetes, please continue with the instructions below. - -### Prerequisites - -1. You need a Google Cloud Platform account with billing enabled. Visit the [Google Developers Console](https://console.cloud.google.com) for more details. -1. Install `gcloud` as necessary. `gcloud` can be installed as a part of the [Google Cloud SDK](https://cloud.google.com/sdk/). -1. Enable the [Compute Engine Instance Group Manager API](https://console.developers.google.com/apis/api/replicapool.googleapis.com/overview) in the [Google Cloud developers console](https://console.developers.google.com/apis/library). -1. Make sure that gcloud is set to use the Google Cloud Platform project you want. You can check the current project using `gcloud config list project` and change it via `gcloud config set project `. -1. Make sure you have credentials for GCloud by running `gcloud auth login`. -1. (Optional) In order to make API calls against GCE, you must also run `gcloud auth application-default login`. -1. Make sure you can start up a GCE VM from the command line. At least make sure you can do the [Create an instance](https://cloud.google.com/compute/docs/instances/#startinstancegcloud) part of the GCE Quickstart. -1. Make sure you can SSH into the VM without interactive prompts. See the [Log in to the instance](https://cloud.google.com/compute/docs/instances/#sshing) part of the GCE Quickstart. - - - - - -## Starting a cluster - -You can install a client and start a cluster with either one of these commands (we list both in case only one is installed on your machine): - - -```shell -curl -sS https://get.k8s.io | bash -``` - -or - -```shell -wget -q -O - https://get.k8s.io | bash -``` - -Once this command completes, you will have a master VM and four worker VMs, running as a Kubernetes cluster. - -By default, some containers will already be running on your cluster. Containers like `fluentd` provide [logging](/docs/concepts/cluster-administration/logging/), while `heapster` provides [monitoring](https://releases.k8s.io/master/cluster/addons/cluster-monitoring/README.md) services. - -The script run by the commands above creates a cluster with the name/prefix "kubernetes". It defines one specific cluster config, so you can't run it more than once. - -Alternately, you can download and install the latest Kubernetes release from [this page](https://github.com/kubernetes/kubernetes/releases), then run the `/cluster/kube-up.sh` script to start the cluster: - -```shell -cd kubernetes -cluster/kube-up.sh -``` - -If you want more than one cluster running in your project, want to use a different name, or want a different number of worker nodes, see the `/cluster/gce/config-default.sh` file for more fine-grained configuration before you start up your cluster. - -If you run into trouble, please see the section on [troubleshooting](/docs/setup/production-environment/turnkey/gce/#troubleshooting), post to the -[Kubernetes Forum](https://discuss.kubernetes.io), or come ask questions on `#gke` Slack channel. - -The next few steps will show you: - -1. How to set up the command line client on your workstation to manage the cluster -1. Examples of how to use the cluster -1. How to delete the cluster -1. How to start clusters with non-default options (like larger clusters) - -## Installing the Kubernetes command line tools on your workstation - -The cluster startup script will leave you with a running cluster and a `kubernetes` directory on your workstation. - -The [kubectl](/docs/reference/kubectl/kubectl/) tool controls the Kubernetes cluster -manager. It lets you inspect your cluster resources, create, delete, and update -components, and much more. You will use it to look at your new cluster and bring -up example apps. - -You can use `gcloud` to install the `kubectl` command-line tool on your workstation: - -```shell -gcloud components install kubectl -``` - -{{< note >}} -The kubectl version bundled with `gcloud` may be older than the one -downloaded by the get.k8s.io install script. See [Installing kubectl](/docs/tasks/tools/install-kubectl/) -document to see how you can set up the latest `kubectl` on your workstation. -{{< /note >}} - -## Getting started with your cluster - -### Inspect your cluster - -Once `kubectl` is in your path, you can use it to look at your cluster. E.g., running: - -```shell -kubectl get --all-namespaces services -``` - -should show a set of [services](/docs/concepts/services-networking/service/) that look something like this: - -```shell -NAMESPACE NAME TYPE CLUSTER_IP EXTERNAL_IP PORT(S) AGE -default kubernetes ClusterIP 10.0.0.1 443/TCP 1d -kube-system kube-dns ClusterIP 10.0.0.2 53/TCP,53/UDP 1d -kube-system kube-ui ClusterIP 10.0.0.3 80/TCP 1d -... -``` - -Similarly, you can take a look at the set of [pods](/docs/concepts/workloads/pods/) that were created during cluster startup. -You can do this via the - -```shell -kubectl get --all-namespaces pods -``` - -command. - -You'll see a list of pods that looks something like this (the name specifics will be different): - -```shell -NAMESPACE NAME READY STATUS RESTARTS AGE -kube-system coredns-5f4fbb68df-mc8z8 1/1 Running 0 15m -kube-system fluentd-cloud-logging-kubernetes-minion-63uo 1/1 Running 0 14m -kube-system fluentd-cloud-logging-kubernetes-minion-c1n9 1/1 Running 0 14m -kube-system fluentd-cloud-logging-kubernetes-minion-c4og 1/1 Running 0 14m -kube-system fluentd-cloud-logging-kubernetes-minion-ngua 1/1 Running 0 14m -kube-system kube-ui-v1-curt1 1/1 Running 0 15m -kube-system monitoring-heapster-v5-ex4u3 1/1 Running 1 15m -kube-system monitoring-influx-grafana-v1-piled 2/2 Running 0 15m -``` - -Some of the pods may take a few seconds to start up (during this time they'll show `Pending`), but check that they all show as `Running` after a short period. - -### Run some examples - -Then, see [a simple nginx example](/docs/tasks/run-application/run-stateless-application-deployment/) to try out your new cluster. - -For more complete applications, please look in the [examples directory](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/). The [guestbook example](https://github.com/kubernetes/examples/tree/{{< param "githubbranch" >}}/guestbook/) is a good "getting started" walkthrough. - -## Tearing down the cluster - -To remove/delete/teardown the cluster, use the `kube-down.sh` script. - -```shell -cd kubernetes -cluster/kube-down.sh -``` - -Likewise, the `kube-up.sh` in the same directory will bring it back up. You do not need to rerun the `curl` or `wget` command: everything needed to setup the Kubernetes cluster is now on your workstation. - -## Customizing - -The script above relies on Google Storage to stage the Kubernetes release. It -then will start (by default) a single master VM along with 3 worker VMs. You -can tweak some of these parameters by editing `kubernetes/cluster/gce/config-default.sh` -You can view a transcript of a successful cluster creation -[here](https://gist.github.com/satnam6502/fc689d1b46db9772adea). - -## Troubleshooting - -### Project settings - -You need to have the Google Cloud Storage API, and the Google Cloud Storage -JSON API enabled. It is activated by default for new projects. Otherwise, it -can be done in the Google Cloud Console. See the [Google Cloud Storage JSON -API Overview](https://cloud.google.com/storage/docs/json_api/) for more -details. - -Also ensure that-- as listed in the [Prerequisites section](#prerequisites)-- you've enabled the `Compute Engine Instance Group Manager API`, and can start up a GCE VM from the command line as in the [GCE Quickstart](https://cloud.google.com/compute/docs/quickstart) instructions. - -### Cluster initialization hang - -If the Kubernetes startup script hangs waiting for the API to be reachable, you can troubleshoot by SSHing into the master and node VMs and looking at logs such as `/var/log/startupscript.log`. - -**Once you fix the issue, you should run `kube-down.sh` to cleanup** after the partial cluster creation, before running `kube-up.sh` to try again. - -### SSH - -If you're having trouble SSHing into your instances, ensure the GCE firewall -isn't blocking port 22 to your VMs. By default, this should work but if you -have edited firewall rules or created a new non-default network, you'll need to -expose it: `gcloud compute firewall-rules create default-ssh --network= ---description "SSH allowed from anywhere" --allow tcp:22` - -Additionally, your GCE SSH key must either have no passcode or you need to be -using `ssh-agent`. - -### Networking - -The instances must be able to connect to each other using their private IP. The -script uses the "default" network which should have a firewall rule called -"default-allow-internal" which allows traffic on any port on the private IPs. -If this rule is missing from the default network or if you change the network -being used in `cluster/config-default.sh` create a new rule with the following -field values: - -* Source Ranges: `10.0.0.0/8` -* Allowed Protocols and Port: `tcp:1-65535;udp:1-65535;icmp` - -## Support Level - - -IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level --------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ---------------------------- -GCE | Saltstack | Debian | GCE | [docs](/docs/setup/production-environment/turnkey/gce/) | | Project - - diff --git a/content/en/docs/setup/production-environment/turnkey/icp.md b/content/en/docs/setup/production-environment/turnkey/icp.md deleted file mode 100644 index 1ebb7a9267..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/icp.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -reviewers: -- bradtopol -title: Running Kubernetes on Multiple Clouds with IBM Cloud Private ---- - -IBM® Cloud Private is a turnkey cloud solution and an on-premises turnkey cloud solution. IBM Cloud Private delivers pure upstream Kubernetes with the typical management components that are required to run real enterprise workloads. These workloads include health management, log management, audit trails, and metering for tracking usage of workloads on the platform. - -IBM Cloud Private is available in a community edition and a fully supported enterprise edition. The community edition is available at no charge from [Docker Hub](https://hub.docker.com/r/ibmcom/icp-inception/). The enterprise edition supports high availability topologies and includes commercial support from IBM for Kubernetes and the IBM Cloud Private management platform. If you want to try IBM Cloud Private, you can use either the hosted trial, the tutorial, or the self-guided demo. You can also try the free community edition. For details, see [Get started with IBM Cloud Private](https://www.ibm.com/cloud/private/get-started). - -For more information, explore the following resources: - -* [IBM Cloud Private](https://www.ibm.com/cloud/private) -* [Reference architecture for IBM Cloud Private](https://github.com/ibm-cloud-architecture/refarch-privatecloud) -* [IBM Cloud Private documentation](https://www.ibm.com/support/knowledgecenter/SSBS6K/product_welcome_cloud_private.html) - -## IBM Cloud Private and Terraform - -The following modules are available where you can deploy IBM Cloud Private by using Terraform: - -* AWS: [Deploy IBM Cloud Private to AWS](https://github.com/ibm-cloud-architecture/terraform-icp-aws) -* Azure: [Deploy IBM Cloud Private to Azure](https://github.com/ibm-cloud-architecture/terraform-icp-azure) -* IBM Cloud: [Deploy IBM Cloud Private cluster to IBM Cloud](https://github.com/ibm-cloud-architecture/terraform-icp-ibmcloud) -* OpenStack: [Deploy IBM Cloud Private to OpenStack](https://github.com/ibm-cloud-architecture/terraform-icp-openstack) -* Terraform module: [Deploy IBM Cloud Private on any supported infrastructure vendor](https://github.com/ibm-cloud-architecture/terraform-module-icp-deploy) -* VMware: [Deploy IBM Cloud Private to VMware](https://github.com/ibm-cloud-architecture/terraform-icp-vmware) - -## IBM Cloud Private on AWS - -You can deploy an IBM Cloud Private cluster on Amazon Web Services (AWS) using Terraform. - -IBM Cloud Private can also run on the AWS cloud platform by using Terraform. To deploy IBM Cloud Private in an AWS EC2 environment, see [Installing IBM Cloud Private on AWS](https://github.com/ibm-cloud-architecture/terraform-icp-aws). - -## IBM Cloud Private on Azure - -You can enable Microsoft Azure as a cloud provider for IBM Cloud Private deployment and take advantage of all the IBM Cloud Private features on the Azure public cloud. For more information, see [IBM Cloud Private on Azure](https://www.ibm.com/support/knowledgecenter/SSBS6K_3.2.0/supported_environments/azure_overview.html). - -## IBM Cloud Private with Red Hat OpenShift - -You can deploy IBM certified software containers that are running on IBM Cloud Private onto Red Hat OpenShift. - -Integration capabilities: - -* Supports Linux® 64-bit platform in offline-only installation mode -* Single-master configuration -* Integrated IBM Cloud Private cluster management console and catalog -* Integrated core platform services, such as monitoring, metering, and logging -* IBM Cloud Private uses the OpenShift image registry - -For more information see, [IBM Cloud Private on OpenShift](https://www.ibm.com/support/knowledgecenter/SSBS6K_3.2.0/supported_environments/openshift/overview.html). - -## IBM Cloud Private on VirtualBox - -To install IBM Cloud Private to a VirtualBox environment, see [Installing IBM Cloud Private on VirtualBox](https://github.com/ibm-cloud-architecture/refarch-privatecloud-virtualbox). - -## IBM Cloud Private on VMware - -You can install IBM Cloud Private on VMware with either Ubuntu or RHEL images. For details, see the following projects: - -* [Installing IBM Cloud Private with Ubuntu](https://github.com/ibm-cloud-architecture/refarch-privatecloud/blob/master/Installing_ICp_on_prem_ubuntu.md) -* [Installing IBM Cloud Private with Red Hat Enterprise](https://github.com/ibm-cloud-architecture/refarch-privatecloud/tree/master/icp-on-rhel) - -The IBM Cloud Private Hosted service automatically deploys IBM Cloud Private Hosted on your VMware vCenter Server instances. This service brings the power of microservices and containers to your VMware environment on IBM Cloud. With this service, you can extend the same familiar VMware and IBM Cloud Private operational model and tools from on-premises into the IBM Cloud. - -For more information, see [IBM Cloud Private Hosted service](https://cloud.ibm.com/docs/vmwaresolutions?topic=vmwaresolutions-icp_overview). diff --git a/content/en/docs/setup/production-environment/turnkey/tencent.md b/content/en/docs/setup/production-environment/turnkey/tencent.md deleted file mode 100644 index fadef5d3dd..0000000000 --- a/content/en/docs/setup/production-environment/turnkey/tencent.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Running Kubernetes on Tencent Kubernetes Engine ---- - -## Tencent Kubernetes Engine - - [Tencent Cloud Tencent Kubernetes Engine (TKE)](https://intl.cloud.tencent.com/product/tke) provides native Kubernetes container management services. You can deploy and manage a Kubernetes cluster with TKE in just a few steps. For detailed directions, see [Deploy Tencent Kubernetes Engine](https://intl.cloud.tencent.com/document/product/457/11741). - - TKE is a [Certified Kubernetes product](https://www.cncf.io/certification/software-conformance/).It is fully compatible with the native Kubernetes API. - -## Custom Deployment - - The core of Tencent Kubernetes Engine is open source and available [on GitHub](https://github.com/TencentCloud/tencentcloud-cloud-controller-manager/). - - When using TKE to create a Kubernetes cluster, you can choose managed mode or independent deployment mode. In addition, you can customize the deployment as needed; for example, you can choose an existing Cloud Virtual Machine instance for cluster creation or enable Kube-proxy in IPVS mode. - -## What's Next - - To learn more, see the [TKE documentation](https://intl.cloud.tencent.com/document/product/457). \ No newline at end of file diff --git a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md index c840034f02..49009e1268 100644 --- a/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md +++ b/content/en/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough.md @@ -16,34 +16,32 @@ in a replication controller, deployment, replica set or stateful set based on ob (or, with beta support, on some other, application-provided metrics). This document walks you through an example of enabling Horizontal Pod Autoscaler for the php-apache server. -For more information on how Horizontal Pod Autoscaler behaves, see the +For more information on how Horizontal Pod Autoscaler behaves, see the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/). ## {{% heading "prerequisites" %}} - This example requires a running Kubernetes cluster and kubectl, version 1.2 or later. -[metrics-server](https://github.com/kubernetes-sigs/metrics-server) monitoring needs to be deployed in the cluster -to provide metrics via the resource metrics API, as Horizontal Pod Autoscaler uses this API to collect metrics. The instructions for deploying this are on the GitHub repository of [metrics-server](https://github.com/kubernetes-sigs/metrics-server), if you followed [getting started on GCE guide](/docs/setup/production-environment/turnkey/gce/), -metrics-server monitoring will be turned-on by default. +[Metrics server](https://github.com/kubernetes-sigs/metrics-server) monitoring needs to be deployed +in the cluster to provide metrics through the [Metrics API](https://github.com/kubernetes/metrics). +Horizontal Pod Autoscaler uses this API to collect metrics. To learn how to deploy the metrics-server, +see the [metrics-server documentation](https://github.com/kubernetes-sigs/metrics-server#deployment). -To specify multiple resource metrics for a Horizontal Pod Autoscaler, you must have a Kubernetes cluster -and kubectl at version 1.6 or later. Furthermore, in order to make use of custom metrics, your cluster -must be able to communicate with the API server providing the custom metrics API. Finally, to use metrics -not related to any Kubernetes object you must have a Kubernetes cluster at version 1.10 or later, and -you must be able to communicate with the API server that provides the external metrics API. +To specify multiple resource metrics for a Horizontal Pod Autoscaler, you must have a +Kubernetes cluster and kubectl at version 1.6 or later. To make use of custom metrics, your cluster +must be able to communicate with the API server providing the custom Metrics API. +Finally, to use metrics not related to any Kubernetes object you must have a +Kubernetes cluster at version 1.10 or later, and you must be able to communicate +with the API server that provides the external Metrics API. See the [Horizontal Pod Autoscaler user guide](/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics) for more details. - - -## Run & expose php-apache server +## Run and expose php-apache server -To demonstrate Horizontal Pod Autoscaler we will use a custom docker image based on the php-apache image. -The Dockerfile has the following content: +To demonstrate Horizontal Pod Autoscaler we will use a custom docker image based on the php-apache image. The Dockerfile has the following content: -``` +```dockerfile FROM php:5-apache COPY index.php /var/www/html/index.php RUN chmod a+rx index.php @@ -51,7 +49,7 @@ RUN chmod a+rx index.php It defines an index.php page which performs some CPU intensive computations: -``` +```php }} - Run the following command: + ```shell kubectl apply -f https://k8s.io/examples/application/php-apache.yaml ``` + ``` deployment.apps/php-apache created service/php-apache created @@ -90,6 +89,7 @@ See [here](/docs/tasks/run-application/horizontal-pod-autoscale/#algorithm-detai ```shell kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10 ``` + ``` horizontalpodautoscaler.autoscaling/php-apache autoscaled ``` @@ -99,10 +99,10 @@ We may check the current status of autoscaler by running: ```shell kubectl get hpa ``` + ``` NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache/scale 0% / 50% 1 10 1 18s - ``` Please note that the current CPU consumption is 0% as we are not sending any requests to the server @@ -122,10 +122,10 @@ Within a minute or so, we should see the higher CPU load by executing: ```shell kubectl get hpa ``` + ``` NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache/scale 305% / 50% 1 10 1 3m - ``` Here, CPU consumption has increased to 305% of the request. @@ -134,6 +134,7 @@ As a result, the deployment was resized to 7 replicas: ```shell kubectl get deployment php-apache ``` + ``` NAME READY UP-TO-DATE AVAILABLE AGE php-apache 7/7 7 7 19m @@ -157,6 +158,7 @@ Then we will verify the result state (after a minute or so): ```shell kubectl get hpa ``` + ``` NAME REFERENCE TARGET MINPODS MAXPODS REPLICAS AGE php-apache Deployment/php-apache/scale 0% / 50% 1 10 1 11m @@ -165,6 +167,7 @@ php-apache Deployment/php-apache/scale 0% / 50% 1 10 1 ```shell kubectl get deployment php-apache ``` + ``` NAME READY UP-TO-DATE AVAILABLE AGE php-apache 1/1 1 1 27m @@ -176,8 +179,6 @@ Here CPU utilization dropped to 0, and so HPA autoscaled the number of replicas Autoscaling the replicas may take a few minutes. {{< /note >}} - - ## Autoscaling on multiple metrics and custom metrics @@ -419,7 +420,8 @@ we can use `kubectl describe hpa`: ```shell kubectl describe hpa cm-test ``` -```shell + +``` Name: cm-test Namespace: prom Labels: @@ -474,8 +476,7 @@ We will create the autoscaler by executing the following command: ```shell kubectl create -f https://k8s.io/examples/application/hpa/php-apache.yaml ``` + ``` horizontalpodautoscaler.autoscaling/php-apache created ``` - - diff --git a/static/_redirects b/static/_redirects index 1e1301da7b..3258f96ea1 100644 --- a/static/_redirects +++ b/static/_redirects @@ -487,11 +487,6 @@ /docs/setup/independent/kubelet-integration/ /docs/setup/production-environment/tools/kubeadm/kubelet-integration/ 301 /docs/setup/custom-cloud/kops/ /docs/setup/production-environment/tools/kops/ 301 /docs/setup/custom-cloud/kubespray/ /docs/setup/production-environment/tools/kubespray/ 301 -/docs/setup/turnkey/aws/ /docs/setup/production-environment/turnkey/aws/ 301 -/docs/setup/turnkey/alibaba-cloud/ /docs/setup/production-environment/turnkey/alibaba-cloud/ 301 -/docs/setup/turnkey/azure/ /docs/setup/production-environment/turnkey/azure/ 301 -/docs/setup/turnkey/gce/ /docs/setup/production-environment/turnkey/gce/ 301 -/docs/setup/turnkey/icp/ /docs/setup/production-environment/turnkey/icp/ 301 /docs/setup/on-premises-vm/cloudstack/ /docs/setup/production-environment/on-premises-vm/cloudstack/ 301 /docs/setup/on-premises-vm/dcos/ /docs/setup/production-environment/on-premises-vm/dcos/ 301 /docs/setup/on-premises-vm/ovirt/ /docs/setup/production-environment/on-premises-vm/ovirt/ 301 From 1e1e016d17c42e9381793c53f43a7b1aa4a259e1 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Tue, 3 Nov 2020 15:39:55 -0500 Subject: [PATCH 2/3] testing landscape shortcode --- .../production-environment/turnkey-solutions.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 content/en/docs/setup/production-environment/turnkey-solutions.md diff --git a/content/en/docs/setup/production-environment/turnkey-solutions.md b/content/en/docs/setup/production-environment/turnkey-solutions.md new file mode 100644 index 0000000000..1a15f47de6 --- /dev/null +++ b/content/en/docs/setup/production-environment/turnkey-solutions.md @@ -0,0 +1,12 @@ +--- +title: Turnkey Solutions +content_type: concept +weight: 30 +--- + + +This page provides a list of Kubernetes certified solution providers. + + + +{{< cncf-landscape helpers=true category="certified-kubernetes-hosted" >}} From a8f07b6a1bc07057292958295d11451309519687 Mon Sep 17 00:00:00 2001 From: Karen Bradshaw Date: Tue, 3 Nov 2020 16:24:20 -0500 Subject: [PATCH 3/3] modify width of iframe --- .../docs/setup/production-environment/turnkey-solutions.md | 6 ++++-- layouts/shortcodes/cncf-landscape.html | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/content/en/docs/setup/production-environment/turnkey-solutions.md b/content/en/docs/setup/production-environment/turnkey-solutions.md index 1a15f47de6..c62b41932a 100644 --- a/content/en/docs/setup/production-environment/turnkey-solutions.md +++ b/content/en/docs/setup/production-environment/turnkey-solutions.md @@ -1,11 +1,13 @@ --- -title: Turnkey Solutions +title: Turnkey Cloud Solutions content_type: concept weight: 30 --- -This page provides a list of Kubernetes certified solution providers. +This page provides a list of Kubernetes certified solution providers. From each +provider page, you can learn how to install and setup production +ready clusters. diff --git a/layouts/shortcodes/cncf-landscape.html b/layouts/shortcodes/cncf-landscape.html index 455f2b5658..ee37678624 100644 --- a/layouts/shortcodes/cncf-landscape.html +++ b/layouts/shortcodes/cncf-landscape.html @@ -58,7 +58,7 @@ document.addEventListener("DOMContentLoaded", function () { {{- end -}}
{{ if ( .Get "category" ) }} - + {{ else }} {{ end }}