Merged master into dev-1.18 to keep in sync
Signed-off-by: vineeth <vineethpothulapati@outlook.com>
This commit is contained in:
@@ -44,12 +44,12 @@ Kubernetes ist Open Source und bietet Ihnen die Freiheit, die Infrastruktur vor
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2019" button id="desktopKCButton">KubeCon vom 18-21. November 2019 in San Diego</a>
|
<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2020/" button id="desktopKCButton">Besuchen Sie die KubeCon vom 30 März-2 Apr. 2020 in Amsterdam</a>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<a href="https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2020/" button id="desktopKCButton">KubeCon vom 30 März-2 Apr. 2020 in Amsterdam</a>
|
<a href="https://www.lfasiallc.cn/kubecon-cloudnativecon-open-source-summit-china/" button id="desktopKCButton">Besuchen Sie die KubeCon vom 28-30 Juli 2020 in Shanghai</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="videoPlayer">
|
<div id="videoPlayer">
|
||||||
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
|
<iframe data-url="https://www.youtube.com/embed/H06qrNmGqyE?autoplay=1" frameborder="0" allowfullscreen></iframe>
|
||||||
|
|||||||
@@ -7,76 +7,96 @@ content_template: templates/concept
|
|||||||
|
|
||||||
{{% capture overview %}}
|
{{% capture overview %}}
|
||||||
|
|
||||||
Auf dieser Seite finden Sie die Lösung, die Ihren Anforderungen am besten entspricht.
|
Diese Sektion umfasst verschiedene Optionen zum Einrichten und Betrieb von Kubernetes.
|
||||||
|
|
||||||
Die Entscheidung, wo Kubernetes ausgeführt wird, hängt davon ab, welche Ressourcen Sie zur Verfügung haben und wie viel Flexibilität Sie benötigen.
|
Verschiedene Kubernetes Lösungen haben verschiedene Anforderungen: Einfache Wartung, Sicherheit, Kontrolle, verfügbare Resourcen und erforderliches Fachwissen zum Betrieb und zur Verwaltung dess folgende Diagramm zeigt die möglichen Abstraktionen eines Kubernetes-Clusters und ob eine Abstraktion selbst verwaltet oder von einem Anbieter verwaltet wird.
|
||||||
Sie können Kubernetes fast überall ausführen, von Ihrem Laptop über VMs bei einem Cloud-Anbieter bis hin zu Bare-Metal-Servern.
|
|
||||||
Sie können einen vollständig verwalteten Cluster einrichten, indem Sie einen einzelnen Befehl ausführen oder einen eigenen benutzerdefinierten Cluster auf Ihren Bare-Metal-Servern erstellen.
|
Sie können einen Kubernetes-Cluster auf einer lokalen Maschine, Cloud, On-Prem Datacenter bereitstellen; oder wählen Sie einen verwalteten Kubernetes-Cluster. Sie können auch eine individuelle Lösung über eine grosse Auswahl an Cloud Anbietern oder Bare-Metal-Umgebungen nutzen.
|
||||||
|
|
||||||
|
Noch einfacher können Sie einen Kubernetes-Cluster in einer Lern- und Produktionsumgebung erstellen.
|
||||||
|
|
||||||
{{% /capture %}}
|
{{% /capture %}}
|
||||||
|
|
||||||
{{% capture body %}}
|
{{% capture body %}}
|
||||||
|
|
||||||
## Lösungen für lokale Maschinen
|
## Lernumgebung
|
||||||
|
|
||||||
Eine lokale Lösung ist eine einfache Möglichkeit, mit Kubernetes anzufangen.
|
Benutzen Sie eine Docker-basierende Lösung, wenn Sie Kubernetes erlernen wollen: Von der Kubernetes-Community unterstützte Werkzeuge oder Werkzeuge in einem Ökosystem zum Einrichten eines Kubernetes-Clusters auf einer lokalen Maschine.
|
||||||
Sie können Kubernetes-Cluster erstellen und testen, ohne sich Gedanken über den Verbrauch von Cloud-Ressourcen und -Kontingenten machen zu müssen.
|
|
||||||
|
|
||||||
Sie sollten eine lokale Lösung auswählen, wenn Sie:
|
{{< table caption="Tabelle mit Lösungen für lokale Maschinen, in der die Tools aufgeführt sind, die von der Community und dem Ökosystem für die Bereitstellung von Kubernetes unterstützt werden." >}}
|
||||||
|
|
||||||
* Zum ausprobieren oder wenn Sie etwas über Kubernetes lernen möchten
|
|Community |Ökosystem |
|
||||||
* Cluster lokal entwickeln und testen
|
| ------------ | -------- |
|
||||||
|
| [Minikube](/docs/setup/learning-environment/minikube/) | [CDK on LXD](https://www.ubuntu.com/kubernetes/docs/install-local) |
|
||||||
Wählen Sie eine [lokale Lösung](/de/docs/setup/) aus.
|
| [kind (Kubernetes IN Docker)](https://github.com/kubernetes-sigs/kind) | [Docker Desktop](https://www.docker.com/products/docker-desktop)|
|
||||||
|
| | [Minishift](https://docs.okd.io/latest/minishift/)|
|
||||||
## Gehostete Lösungen
|
| | [MicroK8s](https://microk8s.io/)|
|
||||||
|
| | [IBM Cloud Private-CE (Community Edition)](https://github.com/IBM/deploy-ibm-cloud-private) |
|
||||||
Gehostete Lösungen sind eine bequeme Möglichkeit, Kubernetes-Cluster zu erstellen und zu warten.
|
| | [IBM Cloud Private-CE (Community Edition) on Linux Containers](https://github.com/HSBawa/icp-ce-on-linux-containers)|
|
||||||
Sie verwalten und betreiben Ihre Cluster, so dass Sie dies nicht tun müssen.
|
| | [k3s](https://k3s.io)|
|
||||||
|
|
||||||
Sie sollten eine gehostete Lösung auswählen, wenn Sie:
|
|
||||||
|
|
||||||
* Eine vollständig verwaltete Lösung wünschen
|
|
||||||
* Sie möchten sich auf die Entwicklung Ihrer Apps oder Dienste konzentrieren
|
|
||||||
* Sie haben kein dediziertes Site-Reliability-Engineering-Team (SRE), möchten jedoch eine hohe Verfügbarkeit
|
|
||||||
* Sie haben keine Ressourcen zum Hosten und Überwachen Ihrer Cluster
|
|
||||||
|
|
||||||
Wählen Sie eine [gehostete Lösung](/de/docs/setup/) aus.
|
|
||||||
|
|
||||||
## Schlüsselfertige Cloud-Lösungen
|
|
||||||
|
|
||||||
|
|
||||||
Mit diesen Lösungen können Sie Kubernetes-Cluster mit nur wenigen Befehlen erstellen. Sie werden aktiv entwickelt und verfügen über eine Community-Unterstützung.
|
## Produktionsumgebung
|
||||||
Sie können auch auf einer Reihe von Cloud-IaaS-Anbietern gehostet werden, und bieten mehr Freiheit und Flexibilität für eine Gegenleistung.
|
|
||||||
|
|
||||||
Sie sollten eine schlüsselfertige Cloud-Lösung auswählen, wenn Sie:
|
Überlegen Sie sich bei der Bewertung einer Lösung für eine Produktionsumgebung, welche Aspekte des Betriebs eines Kubernetes-Clusters (oder von _abstractions_) Sie selbst verwalten oder an einen Anbieter auslagern möchten.
|
||||||
|
|
||||||
* Mehr Kontrolle über Ihre Cluster haben möchten, als die gehosteten Lösungen zulassen
|
Einige mögliche Abstraktionen von Kubernetes-Clustern sind {{< glossary_tooltip text="applications" term_id="applications" >}}, {{< glossary_tooltip text="data plane" term_id="data-plane" >}}, {{< glossary_tooltip text="control plane" term_id="control-plane" >}}, {{< glossary_tooltip text="cluster infrastructure" term_id="cluster-infrastructure" >}} und {{< glossary_tooltip text="cluster operations" term_id="cluster-operations" >}}.
|
||||||
* Mehr operative Verantwortung übernehmen Möchten
|
|
||||||
|
|
||||||
Wählen Sie eine [schlüsselfertige Cloud-Lösung](/de/docs/setup/) aus.
|
Das folgende Diagramm zeigt die möglichen Abstraktionen eines Kubernetes-Clusters und ob eine Abstraktion selbst verwaltet oder von einem Anbieter verwaltet wird.
|
||||||
|
|
||||||
## Schlüsselfertige On-Premises-Lösungen
|
Lösungen für Produktionsumgebungen
|
||||||
|
|
||||||
Mit diesen Lösungen können Sie Kubernetes-Cluster mit nur wenigen Befehlen in Ihrem internen, sicheren Cloud-Netzwerk erstellen.
|
{{< table caption="Tabelle für Produktionsumgebungs-Lösungen listet Anbieter und deren Lösungen auf." >}}
|
||||||
|
|
||||||
Sie sollten eine schlüsselfertige lokal betriebene Cloud-Lösung auswählen, wenn Sie:
|
Die folgende Tabelle für Produktionsumgebungs-Lösungen listet Anbieter und deren Lösungen auf.
|
||||||
|
|
||||||
* Cluster in Ihrem privaten Cloud-Netzwerk bereitstellen möchten
|
|Providers | Managed | Turnkey cloud | On-Prem Datacenter | Custom (cloud) | Custom (On-premises VMs)| Custom (Bare Metal) |
|
||||||
* Ein engagiertes SRE-Team haben
|
| --------- | ------ | ------ | ------ | ------ | ------ | ----- |
|
||||||
* Über die Ressourcen zum Hosten und Überwachen Ihrer Cluster verfügen
|
| [Agile Stacks](https://www.agilestacks.com/products/kubernetes)| | ✔ | ✔ | | |
|
||||||
|
| [Alibaba Cloud](https://www.alibabacloud.com/product/kubernetes)| | ✔ | | | |
|
||||||
Wählen Sie eine [schlüsselfertige On-Premises-Lösung](/de/docs/setup/) aus.
|
| [Amazon](https://aws.amazon.com) | [Amazon EKS](https://aws.amazon.com/eks/) |[Amazon EC2](https://aws.amazon.com/ec2/) | | | |
|
||||||
|
| [AppsCode](https://appscode.com/products/pharmer/) | ✔ | | | | |
|
||||||
## Individuelle Lösungen
|
| [APPUiO](https://appuio.ch/) | ✔ | ✔ | ✔ | | | |
|
||||||
|
| [Banzai Cloud Pipeline Kubernetes Engine (PKE)](https://banzaicloud.com/products/pke/) | | ✔ | | ✔ | ✔ | ✔ |
|
||||||
Individuelle Lösungen geben Ihnen die größte Freiheit in Ihren Clustern, erfordern jedoch das meiste Know-how.
|
| [CenturyLink Cloud](https://www.ctl.io/) | | ✔ | | | |
|
||||||
Diese Lösungen reichen von Bare-Metal-Anbietern bis hin zu Cloud-Anbietern mit unterschiedlichen Betriebssystemen.
|
| [Cisco Container Platform](https://cisco.com/go/containers) | | | ✔ | | |
|
||||||
|
| [Cloud Foundry Container Runtime (CFCR)](https://docs-cfcr.cfapps.io/) | | | | ✔ |✔ |
|
||||||
Wählen Sie eine [individuelle Lösung](/de/docs/setup/) aus.
|
| [CloudStack](https://cloudstack.apache.org/) | | | | | ✔|
|
||||||
|
| [Canonical](https://ubuntu.com/kubernetes) | ✔ | ✔ | ✔ | ✔ |✔ | ✔
|
||||||
|
| [Containership](https://containership.io) | ✔ |✔ | | | |
|
||||||
|
| [D2iQ](https://d2iq.com/) | | [Kommander](https://d2iq.com/solutions/ksphere) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) | [Konvoy](https://d2iq.com/solutions/ksphere/konvoy) |
|
||||||
|
| [Digital Rebar](https://provision.readthedocs.io/en/tip/README.html) | | | | | | ✔
|
||||||
|
| [DigitalOcean](https://www.digitalocean.com/products/kubernetes/) | ✔ | | | | |
|
||||||
|
| [Docker Enterprise](https://www.docker.com/products/docker-enterprise) | |✔ | ✔ | | | ✔
|
||||||
|
| [Gardener](https://gardener.cloud/) | ✔ | ✔ | ✔ | ✔ | ✔ | [Custom Extensions](https://github.com/gardener/gardener/blob/master/docs/extensions/overview.md) |
|
||||||
|
| [Giant Swarm](https://www.giantswarm.io/) | ✔ | ✔ | ✔ | |
|
||||||
|
| [Google](https://cloud.google.com/) | [Google Kubernetes Engine (GKE)](https://cloud.google.com/kubernetes-engine/) | [Google Compute Engine (GCE)](https://cloud.google.com/compute/)|[GKE On-Prem](https://cloud.google.com/gke-on-prem/) | | | | | | | |
|
||||||
|
| [IBM](https://www.ibm.com/in-en/cloud) | [IBM Cloud Kubernetes Service](https://cloud.ibm.com/kubernetes/catalog/cluster)| |[IBM Cloud Private](https://www.ibm.com/in-en/cloud/private) | |
|
||||||
|
| [Ionos](https://www.ionos.com/enterprise-cloud) | [Ionos Managed Kubernetes](https://www.ionos.com/enterprise-cloud/managed-kubernetes) | [Ionos Enterprise Cloud](https://www.ionos.com/enterprise-cloud) | |
|
||||||
|
| [Kontena Pharos](https://www.kontena.io/pharos/) | |✔| ✔ | | |
|
||||||
|
| [KubeOne](https://kubeone.io/) | | ✔ | ✔ | ✔ | ✔ | ✔ |
|
||||||
|
| [Kubermatic](https://kubermatic.io/) | ✔ | ✔ | ✔ | ✔ | ✔ | |
|
||||||
|
| [KubeSail](https://kubesail.com/) | ✔ | | | | |
|
||||||
|
| [Kubespray](https://kubespray.io/#/) | | | |✔ | ✔ | ✔ |
|
||||||
|
| [Kublr](https://kublr.com/) |✔ | ✔ |✔ |✔ |✔ |✔ |
|
||||||
|
| [Microsoft Azure](https://azure.microsoft.com) | [Azure Kubernetes Service (AKS)](https://azure.microsoft.com/en-us/services/kubernetes-service/) | | | | |
|
||||||
|
| [Mirantis Cloud Platform](https://www.mirantis.com/software/kubernetes/) | | | ✔ | | |
|
||||||
|
| [Nirmata](https://www.nirmata.com/) | | ✔ | ✔ | | |
|
||||||
|
| [Nutanix](https://www.nutanix.com/en) | [Nutanix Karbon](https://www.nutanix.com/products/karbon) | [Nutanix Karbon](https://www.nutanix.com/products/karbon) | | | [Nutanix AHV](https://www.nutanix.com/products/acropolis/virtualization) |
|
||||||
|
| [OpenNebula](https://www.opennebula.org) |[OpenNebula Kubernetes](https://marketplace.opennebula.systems/docs/service/kubernetes.html) | | | | |
|
||||||
|
| [OpenShift](https://www.openshift.com) |[OpenShift Dedicated](https://www.openshift.com/products/dedicated/) and [OpenShift Online](https://www.openshift.com/products/online/) | | [OpenShift Container Platform](https://www.openshift.com/products/container-platform/) | | [OpenShift Container Platform](https://www.openshift.com/products/container-platform/) |[OpenShift Container Platform](https://www.openshift.com/products/container-platform/)
|
||||||
|
| [Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)](https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm) | ✔ | ✔ | | | |
|
||||||
|
| [oVirt](https://www.ovirt.org/) | | | | | ✔ |
|
||||||
|
| [Pivotal](https://pivotal.io/) | | [Enterprise Pivotal Container Service (PKS)](https://pivotal.io/platform/pivotal-container-service) | [Enterprise Pivotal Container Service (PKS)](https://pivotal.io/platform/pivotal-container-service) | | |
|
||||||
|
| [Platform9](https://platform9.com/) | [Platform9 Managed Kubernetes](https://platform9.com/managed-kubernetes/) | | [Platform9 Managed Kubernetes](https://platform9.com/managed-kubernetes/) | ✔ | ✔ | ✔
|
||||||
|
| [Rancher](https://rancher.com/) | | [Rancher 2.x](https://rancher.com/docs/rancher/v2.x/en/) | | [Rancher Kubernetes Engine (RKE)](https://rancher.com/docs/rke/latest/en/) | | [k3s](https://k3s.io/)
|
||||||
|
| [StackPoint](https://stackpoint.io/) | ✔ | ✔ | | | |
|
||||||
|
| [Supergiant](https://supergiant.io/) | |✔ | | | |
|
||||||
|
| [SUSE](https://www.suse.com/) | | ✔ | | | |
|
||||||
|
| [SysEleven](https://www.syseleven.io/) | ✔ | | | | |
|
||||||
|
| [Tencent Cloud](https://intl.cloud.tencent.com/) | [Tencent Kubernetes Engine](https://intl.cloud.tencent.com/product/tke) | ✔ | ✔ | | | ✔ |
|
||||||
|
| [VEXXHOST](https://vexxhost.com/) | ✔ | ✔ | | | |
|
||||||
|
| [VMware](https://cloud.vmware.com/) | [VMware Cloud PKS](https://cloud.vmware.com/vmware-cloud-pks) |[VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Enterprise PKS](https://cloud.vmware.com/vmware-enterprise-pks) | [VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks) | |[VMware Essential PKS](https://cloud.vmware.com/vmware-essential-pks)
|
||||||
|
| [Z.A.R.V.I.S.](https://zarvis.ai/) | ✔ | | | | | |
|
||||||
|
|
||||||
{{% /capture %}}
|
{{% /capture %}}
|
||||||
|
|
||||||
{{% capture whatsnext %}}
|
|
||||||
Gehen Sie zu [Auswählen der richtigen Lösung](/de/docs/setup/) für eine vollständige Liste der möglichen Lösungen.
|
|
||||||
{{% /capture %}}
|
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: Indivduelle Cloud-Lösungen
|
|
||||||
weight: 50
|
|
||||||
---
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Cluster mit kubeadm bootstrappen"
|
|
||||||
weight: 30
|
|
||||||
---
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: Lokale VMs
|
|
||||||
weight: 60
|
|
||||||
---
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: Schlüsselfertige Cloud-Lösungen
|
|
||||||
weight: 40
|
|
||||||
---
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
title: "Windows in Kubernetes"
|
|
||||||
weight: 65
|
|
||||||
---
|
|
||||||
@@ -224,6 +224,7 @@ rules:
|
|||||||
|
|
||||||
The following cloud providers have implemented CCMs:
|
The following cloud providers have implemented CCMs:
|
||||||
|
|
||||||
|
* [Alibaba Cloud](https://github.com/kubernetes/cloud-provider-alibaba-cloud)
|
||||||
* [AWS](https://github.com/kubernetes/cloud-provider-aws)
|
* [AWS](https://github.com/kubernetes/cloud-provider-aws)
|
||||||
* [Azure](https://github.com/kubernetes/cloud-provider-azure)
|
* [Azure](https://github.com/kubernetes/cloud-provider-azure)
|
||||||
* [BaiduCloud](https://github.com/baidu/cloud-provider-baiducloud)
|
* [BaiduCloud](https://github.com/baidu/cloud-provider-baiducloud)
|
||||||
|
|||||||
@@ -111,6 +111,12 @@ Using this CNI plugin allows Kubernetes pods to have the same IP address inside
|
|||||||
|
|
||||||
Additionally, the CNI can be run alongside [Calico for network policy enforcement](https://docs.aws.amazon.com/eks/latest/userguide/calico.html). The AWS VPC CNI project is open source with [documentation on GitHub](https://github.com/aws/amazon-vpc-cni-k8s).
|
Additionally, the CNI can be run alongside [Calico for network policy enforcement](https://docs.aws.amazon.com/eks/latest/userguide/calico.html). The AWS VPC CNI project is open source with [documentation on GitHub](https://github.com/aws/amazon-vpc-cni-k8s).
|
||||||
|
|
||||||
|
### Azure CNI for Kubernetes
|
||||||
|
[Azure CNI](https://docs.microsoft.com/en-us/azure/virtual-network/container-networking-overview) is an [open source](https://github.com/Azure/azure-container-networking/blob/master/docs/cni.md) plugin that integrates Kubernetes Pods with an Azure Virtual Network (also known as VNet) providing network performance at par with VMs. Pods can connect to peered VNet and to on-premises over Express Route or site-to-site VPN and are also directly reachable from these networks. Pods can access Azure services, such as storage and SQL, that are protected by Service Endpoints or Private Link. You can use VNet security policies and routing to filter Pod traffic. The plugin assigns VNet IPs to Pods by utilizing a pool of secondary IPs pre-configured on the Network Interface of a Kubernetes node.
|
||||||
|
|
||||||
|
Azure CNI is available natively in the [Azure Kubernetes Service (AKS)] (https://docs.microsoft.com/en-us/azure/aks/configure-azure-cni).
|
||||||
|
|
||||||
|
|
||||||
### Big Cloud Fabric from Big Switch Networks
|
### Big Cloud Fabric from Big Switch Networks
|
||||||
|
|
||||||
[Big Cloud Fabric](https://www.bigswitch.com/container-network-automation) is a cloud native networking architecture, designed to run Kubernetes in private cloud/on-premises environments. Using unified physical & virtual SDN, Big Cloud Fabric tackles inherent container networking problems such as load balancing, visibility, troubleshooting, security policies & container traffic monitoring.
|
[Big Cloud Fabric](https://www.bigswitch.com/container-network-automation) is a cloud native networking architecture, designed to run Kubernetes in private cloud/on-premises environments. Using unified physical & virtual SDN, Big Cloud Fabric tackles inherent container networking problems such as load balancing, visibility, troubleshooting, security policies & container traffic monitoring.
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ For example, `example.com.node-restriction.kubernetes.io/fips=true` or `example.
|
|||||||
`nodeSelector` provides a very simple way to constrain pods to nodes with particular labels. The affinity/anti-affinity
|
`nodeSelector` provides a very simple way to constrain pods to nodes with particular labels. The affinity/anti-affinity
|
||||||
feature, greatly expands the types of constraints you can express. The key enhancements are
|
feature, greatly expands the types of constraints you can express. The key enhancements are
|
||||||
|
|
||||||
1. the language is more expressive (not just "AND of exact match")
|
1. the language is more expressive (not just "AND or exact match")
|
||||||
2. you can indicate that the rule is "soft"/"preference" rather than a hard requirement, so if the scheduler
|
2. you can indicate that the rule is "soft"/"preference" rather than a hard requirement, so if the scheduler
|
||||||
can't satisfy it, the pod will still be scheduled
|
can't satisfy it, the pod will still be scheduled
|
||||||
3. you can constrain against labels on other pods running on the node (or other topological domain),
|
3. you can constrain against labels on other pods running on the node (or other topological domain),
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ card:
|
|||||||
|
|
||||||
{{% capture overview %}}
|
{{% capture overview %}}
|
||||||
When you deploy Kubernetes, you get a cluster.
|
When you deploy Kubernetes, you get a cluster.
|
||||||
{{< glossary_definition term_id="cluster" length="all" prepend="A cluster is">}}
|
{{< glossary_definition term_id="cluster" length="all" prepend="A Kubernetes cluster consists of">}}
|
||||||
|
|
||||||
This document outlines the various components you need to have
|
This document outlines the various components you need to have
|
||||||
a complete and working Kubernetes cluster.
|
a complete and working Kubernetes cluster.
|
||||||
@@ -23,13 +23,12 @@ Here's the diagram of a Kubernetes cluster with all the components tied together
|
|||||||
{{% /capture %}}
|
{{% /capture %}}
|
||||||
|
|
||||||
{{% capture body %}}
|
{{% capture body %}}
|
||||||
## Master Components
|
## Control Plane Components
|
||||||
|
|
||||||
Master components provide the cluster's control plane. Master components make global decisions about the
|
The Control Plane's components make global decisions about the cluster (for example, scheduling), as well as detecting and responding to cluster events (for example, starting up a new {{< glossary_tooltip text="pod" term_id="pod">}} when a deployment's `replicas` field is unsatisfied).
|
||||||
cluster (for example, scheduling), and they detect and respond to cluster events (for example, starting up a new {{< glossary_tooltip text="pod" term_id="pod">}} when a deployment's `replicas` field is unsatisfied).
|
|
||||||
|
|
||||||
Master components can be run on any machine in the cluster. However,
|
Control Plane components can be run on any machine in the cluster. However,
|
||||||
for simplicity, set up scripts typically start all master components on
|
for simplicity, set up scripts typically start all Control Plane components on
|
||||||
the same machine, and do not run user containers on this machine. See
|
the same machine, and do not run user containers on this machine. See
|
||||||
[Building High-Availability Clusters](/docs/admin/high-availability/) for an example multi-master-VM setup.
|
[Building High-Availability Clusters](/docs/admin/high-availability/) for an example multi-master-VM setup.
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ title: Field Selectors
|
|||||||
weight: 60
|
weight: 60
|
||||||
---
|
---
|
||||||
|
|
||||||
_Field selectors_ let you [select Kubernetes resources](/docs/concepts/overview/working-with-objects/kubernetes-objects) based on the value of one or more resource fields. Here are some example field selector queries:
|
_Field selectors_ let you [select Kubernetes resources](/docs/concepts/overview/working-with-objects/kubernetes-objects) based on the value of one or more resource fields. Here are some examples of field selector queries:
|
||||||
|
|
||||||
* `metadata.name=my-service`
|
* `metadata.name=my-service`
|
||||||
* `metadata.namespace!=default`
|
* `metadata.namespace!=default`
|
||||||
|
|||||||
@@ -443,7 +443,7 @@ Each feature gate is designed for enabling/disabling a specific feature:
|
|||||||
- `ServerSideApply`: Enables the [Sever Side Apply (SSA)](/docs/reference/using-api/api-concepts/#server-side-apply) path at the API Server.
|
- `ServerSideApply`: Enables the [Sever Side Apply (SSA)](/docs/reference/using-api/api-concepts/#server-side-apply) path at the API Server.
|
||||||
- `ServiceLoadBalancerFinalizer`: Enable finalizer protection for Service load balancers.
|
- `ServiceLoadBalancerFinalizer`: Enable finalizer protection for Service load balancers.
|
||||||
- `ServiceNodeExclusion`: Enable the exclusion of nodes from load balancers created by a cloud provider.
|
- `ServiceNodeExclusion`: Enable the exclusion of nodes from load balancers created by a cloud provider.
|
||||||
A node is eligible for exclusion if labelled with "`alpha.service-controller.kubernetes.io/exclude-balancer`" key (when `LegacyNodeRoleBehavior` is on) or `node.kubernetes.io/exclude-from-external-load-balancers`.
|
A node is eligible for exclusion if labelled with "`alpha.service-controller.kubernetes.io/exclude-balancer`" key or `node.kubernetes.io/exclude-from-external-load-balancers`.
|
||||||
- `StartupProbe`: Enable the [startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe) probe in the kubelet.
|
- `StartupProbe`: Enable the [startup](/docs/concepts/workloads/pods/pod-lifecycle/#when-should-you-use-a-startup-probe) probe in the kubelet.
|
||||||
- `StorageObjectInUseProtection`: Postpone the deletion of PersistentVolume or
|
- `StorageObjectInUseProtection`: Postpone the deletion of PersistentVolume or
|
||||||
PersistentVolumeClaim objects if they are still being used.
|
PersistentVolumeClaim objects if they are still being used.
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ id: cluster
|
|||||||
date: 2019-06-15
|
date: 2019-06-15
|
||||||
full_link:
|
full_link:
|
||||||
short_description: >
|
short_description: >
|
||||||
A set of machines, called nodes, that run containerized applications managed by Kubernetes. A cluster has at least one worker node and at least one master node.
|
A set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.
|
||||||
|
|
||||||
aka:
|
aka:
|
||||||
tags:
|
tags:
|
||||||
- fundamental
|
- fundamental
|
||||||
- operation
|
- operation
|
||||||
---
|
---
|
||||||
A set of machines, called nodes, that run containerized applications managed by Kubernetes. A cluster has at least one worker node and at least one master node.
|
A set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
The worker node(s) host the pods that are the components of the application. The master node(s) manages the worker nodes and the pods in the cluster. Multiple master nodes are used to provide a cluster with failover and high availability.
|
The worker node(s) host the pods that are the components of the application. The Control Plane manages the worker nodes and the pods in the cluster. In production environments, the Control Plane usually runs across multiple computers and a cluster usually runs multiple nodes, providing fault-tolerance and high availability.
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ short_description: >
|
|||||||
An API resource that automatically scales the number of pod replicas based on targeted CPU utilization or custom metric targets.
|
An API resource that automatically scales the number of pod replicas based on targeted CPU utilization or custom metric targets.
|
||||||
|
|
||||||
aka:
|
aka:
|
||||||
|
- HPA
|
||||||
tags:
|
tags:
|
||||||
- operation
|
- operation
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ id: kube-controller-manager
|
|||||||
date: 2018-04-12
|
date: 2018-04-12
|
||||||
full_link: /docs/reference/command-line-tools-reference/kube-controller-manager/
|
full_link: /docs/reference/command-line-tools-reference/kube-controller-manager/
|
||||||
short_description: >
|
short_description: >
|
||||||
Component on the master that runs controllers.
|
Control Plane component that runs controller processes.
|
||||||
|
|
||||||
aka:
|
aka:
|
||||||
tags:
|
tags:
|
||||||
- architecture
|
- architecture
|
||||||
- fundamental
|
- fundamental
|
||||||
---
|
---
|
||||||
Component on the master that runs {{< glossary_tooltip text="controllers" term_id="controller" >}}.
|
Control Plane component that runs {{< glossary_tooltip text="controller" term_id="controller" >}} processes.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ id: kube-scheduler
|
|||||||
date: 2018-04-12
|
date: 2018-04-12
|
||||||
full_link: /docs/reference/generated/kube-scheduler/
|
full_link: /docs/reference/generated/kube-scheduler/
|
||||||
short_description: >
|
short_description: >
|
||||||
Component on the master that watches newly created pods that have no node assigned, and selects a node for them to run on.
|
Control Plane component that watches for newly created pods with no assigned node, and selects a node for them to run on.
|
||||||
|
|
||||||
aka:
|
aka:
|
||||||
tags:
|
tags:
|
||||||
- architecture
|
- architecture
|
||||||
---
|
---
|
||||||
Component on the master that watches newly created pods that have no node assigned, and selects a node for them to run on.
|
Control Plane component that watches for newly created pods with no assigned node, and selects a node for them to run on.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
Factors taken into account for scheduling decisions include individual and collective resource requirements, hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference and deadlines.
|
Factors taken into account for scheduling decisions include individual and collective resource requirements, hardware/software/policy constraints, affinity and anti-affinity specifications, data locality, inter-workload interference and deadlines.
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ reviewers:
|
|||||||
- balopat
|
- balopat
|
||||||
- aaron-prindle
|
- aaron-prindle
|
||||||
title: Installing Kubernetes with Minikube
|
title: Installing Kubernetes with Minikube
|
||||||
|
weight: 30
|
||||||
content_template: templates/concept
|
content_template: templates/concept
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+21
-61
@@ -100,10 +100,10 @@ communicates with).
|
|||||||
1. (Recommended) If you have plans to upgrade this single control-plane kubeadm cluster
|
1. (Recommended) If you have plans to upgrade this single control-plane kubeadm cluster
|
||||||
to high availability you should specify the `--control-plane-endpoint` to set the shared endpoint
|
to high availability you should specify the `--control-plane-endpoint` to set the shared endpoint
|
||||||
for all control-plane nodes. Such an endpoint can be either a DNS name or an IP address of a load-balancer.
|
for all control-plane nodes. Such an endpoint can be either a DNS name or an IP address of a load-balancer.
|
||||||
1. Choose a pod network add-on, and verify whether it requires any arguments to
|
1. Choose a Pod network add-on, and verify whether it requires any arguments to
|
||||||
be passed to kubeadm initialization. Depending on which
|
be passed to kubeadm initialization. Depending on which
|
||||||
third-party provider you choose, you might need to set the `--pod-network-cidr` to
|
third-party provider you choose, you might need to set the `--pod-network-cidr` to
|
||||||
a provider-specific value. See [Installing a pod network add-on](#pod-network).
|
a provider-specific value. See [Installing a Pod network add-on](#pod-network).
|
||||||
1. (Optional) Since version 1.14, kubeadm will try to detect the container runtime on Linux
|
1. (Optional) Since version 1.14, kubeadm will try to detect the container runtime on Linux
|
||||||
by using a list of well known domain socket paths. To use different container runtime or
|
by using a list of well known domain socket paths. To use different container runtime or
|
||||||
if there are more than one installed on the provisioned node, specify the `--cri-socket`
|
if there are more than one installed on the provisioned node, specify the `--cri-socket`
|
||||||
@@ -221,7 +221,7 @@ To start using your cluster, you need to run the following as a regular user:
|
|||||||
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
|
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
|
||||||
sudo chown $(id -u):$(id -g) $HOME/.kube/config
|
sudo chown $(id -u):$(id -g) $HOME/.kube/config
|
||||||
|
|
||||||
You should now deploy a pod network to the cluster.
|
You should now deploy a Pod network to the cluster.
|
||||||
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
|
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
|
||||||
/docs/concepts/cluster-administration/addons/
|
/docs/concepts/cluster-administration/addons/
|
||||||
|
|
||||||
@@ -255,19 +255,19 @@ token can add authenticated nodes to your cluster. These tokens can be listed,
|
|||||||
created, and deleted with the `kubeadm token` command. See the
|
created, and deleted with the `kubeadm token` command. See the
|
||||||
[kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm-token/).
|
[kubeadm reference guide](/docs/reference/setup-tools/kubeadm/kubeadm-token/).
|
||||||
|
|
||||||
### Installing a pod network add-on {#pod-network}
|
### Installing a Pod network add-on {#pod-network}
|
||||||
|
|
||||||
{{< caution >}}
|
{{< caution >}}
|
||||||
This section contains important information about installation and deployment order. Read it carefully before proceeding.
|
This section contains important information about installation and deployment order. Read it carefully before proceeding.
|
||||||
{{< /caution >}}
|
{{< /caution >}}
|
||||||
|
|
||||||
You must install a pod network add-on so that your pods can communicate with
|
You must install a Pod network add-on so that your Pods can communicate with
|
||||||
each other.
|
each other.
|
||||||
|
|
||||||
**The network must be deployed before any applications. Also, CoreDNS will not start up before a network is installed.
|
**The network must be deployed before any applications. Also, CoreDNS will not start up before a network is installed.
|
||||||
kubeadm only supports Container Network Interface (CNI) based networks (and does not support kubenet).**
|
kubeadm only supports Container Network Interface (CNI) based networks (and does not support kubenet).**
|
||||||
|
|
||||||
Several projects provide Kubernetes pod networks using CNI, some of which also
|
Several projects provide Kubernetes Pod networks using CNI, some of which also
|
||||||
support [Network Policy](/docs/concepts/services-networking/networkpolicies/). See the [add-ons page](/docs/concepts/cluster-administration/addons/) for a complete list of available network add-ons.
|
support [Network Policy](/docs/concepts/services-networking/networkpolicies/). See the [add-ons page](/docs/concepts/cluster-administration/addons/) for a complete list of available network add-ons.
|
||||||
- IPv6 support was added in [CNI v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0).
|
- IPv6 support was added in [CNI v0.6.0](https://github.com/containernetworking/cni/releases/tag/v0.6.0).
|
||||||
- [CNI bridge](https://github.com/containernetworking/plugins/blob/master/plugins/main/bridge/README.md) and [local-ipam](https://github.com/containernetworking/plugins/blob/master/plugins/ipam/host-local/README.md) are the only supported IPv6 network plugins in Kubernetes version 1.9.
|
- [CNI bridge](https://github.com/containernetworking/plugins/blob/master/plugins/main/bridge/README.md) and [local-ipam](https://github.com/containernetworking/plugins/blob/master/plugins/ipam/host-local/README.md) are the only supported IPv6 network plugins in Kubernetes version 1.9.
|
||||||
@@ -278,24 +278,16 @@ Make sure that your network manifest supports RBAC.
|
|||||||
Also, beware, that your Pod network must not overlap with any of the host networks as this can cause issues.
|
Also, beware, that your Pod network must not overlap with any of the host networks as this can cause issues.
|
||||||
If you find a collision between your network plugin’s preferred Pod network and some of your host networks, you should think of a suitable CIDR replacement and use that during `kubeadm init` with `--pod-network-cidr` and as a replacement in your network plugin’s YAML.
|
If you find a collision between your network plugin’s preferred Pod network and some of your host networks, you should think of a suitable CIDR replacement and use that during `kubeadm init` with `--pod-network-cidr` and as a replacement in your network plugin’s YAML.
|
||||||
|
|
||||||
You can install a pod network add-on with the following command on the control-plane node or a node that has the kubeconfig credentials:
|
You can install a Pod network add-on with the following command on the control-plane node or a node that has the kubeconfig credentials:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubectl apply -f <add-on.yaml>
|
kubectl apply -f <add-on.yaml>
|
||||||
```
|
```
|
||||||
|
|
||||||
You can install only one pod network per cluster.
|
You can install only one Pod network per cluster.
|
||||||
|
Below you can find installation instructions for some popular Pod network plugins:
|
||||||
|
|
||||||
{{< tabs name="tabs-pod-install" >}}
|
{{< tabs name="tabs-pod-install" >}}
|
||||||
{{% tab name="Choose one..." %}}
|
|
||||||
Please select one of the tabs to see installation instructions for the respective third-party Pod Network Provider.
|
|
||||||
{{% /tab %}}
|
|
||||||
|
|
||||||
{{% tab name="AWS VPC" %}}
|
|
||||||
AWS VPC CNI provides native AWS VPC networking to Kubernetes clusters.
|
|
||||||
|
|
||||||
For installation, please refer to the [AWS VPC CNI setup guide](https://github.com/aws/amazon-vpc-cni-k8s#setup).
|
|
||||||
{{% /tab %}}
|
|
||||||
|
|
||||||
{{% tab name="Calico" %}}
|
{{% tab name="Calico" %}}
|
||||||
For more information about using Calico, see [Quickstart for Calico on Kubernetes](https://docs.projectcalico.org/latest/getting-started/kubernetes/), [Installing Calico for policy and networking](https://docs.projectcalico.org/latest/getting-started/kubernetes/installation/calico), and other related resources.
|
For more information about using Calico, see [Quickstart for Calico on Kubernetes](https://docs.projectcalico.org/latest/getting-started/kubernetes/), [Installing Calico for policy and networking](https://docs.projectcalico.org/latest/getting-started/kubernetes/installation/calico), and other related resources.
|
||||||
@@ -306,16 +298,6 @@ For Calico to work correctly, you need to pass `--pod-network-cidr=192.168.0.0/1
|
|||||||
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml
|
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
{{% /tab %}}
|
|
||||||
{{% tab name="Canal" %}}
|
|
||||||
Canal uses Calico for policy and Flannel for networking. Refer to the Calico documentation for the [official getting started guide](https://docs.projectcalico.org/latest/getting-started/kubernetes/installation/flannel).
|
|
||||||
|
|
||||||
For Canal to work correctly, `--pod-network-cidr=10.244.0.0/16` has to be passed to `kubeadm init`. Note that Canal works on `amd64` only.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/canal.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
|
|
||||||
{{% tab name="Cilium" %}}
|
{{% tab name="Cilium" %}}
|
||||||
@@ -327,7 +309,7 @@ To deploy Cilium you just need to run:
|
|||||||
kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.6/install/kubernetes/quick-install.yaml
|
kubectl create -f https://raw.githubusercontent.com/cilium/cilium/v1.6/install/kubernetes/quick-install.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
Once all Cilium pods are marked as `READY`, you start using your cluster.
|
Once all Cilium Pods are marked as `READY`, you start using your cluster.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
kubectl get pods -n kube-system --selector=k8s-app=cilium
|
kubectl get pods -n kube-system --selector=k8s-app=cilium
|
||||||
@@ -376,42 +358,18 @@ For more information about `flannel`, see [the CoreOS flannel repository on GitH
|
|||||||
](https://github.com/coreos/flannel).
|
](https://github.com/coreos/flannel).
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
|
|
||||||
{{% tab name="JuniperContrail/TungstenFabric" %}}
|
|
||||||
Provides overlay SDN solution, delivering multicloud networking, hybrid cloud networking,
|
|
||||||
simultaneous overlay-underlay support, network policy enforcement, network isolation,
|
|
||||||
service chaining and flexible load balancing.
|
|
||||||
|
|
||||||
There are multiple, flexible ways to install JuniperContrail/TungstenFabric CNI.
|
|
||||||
|
|
||||||
Kindly refer to this quickstart: [TungstenFabric](https://tungstenfabric.github.io/website/)
|
|
||||||
{{% /tab %}}
|
|
||||||
|
|
||||||
{{% tab name="Kube-router" %}}
|
{{% tab name="Kube-router" %}}
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
||||||
please see [here](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
please see [here](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
||||||
|
|
||||||
Kube-router relies on kube-controller-manager to allocate pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag.
|
Kube-router relies on kube-controller-manager to allocate Pod CIDR for the nodes. Therefore, use `kubeadm init` with the `--pod-network-cidr` flag.
|
||||||
|
|
||||||
Kube-router provides pod networking, network policy, and high-performing IP Virtual Server(IPVS)/Linux Virtual Server(LVS) based service proxy.
|
Kube-router provides Pod networking, network policy, and high-performing IP Virtual Server(IPVS)/Linux Virtual Server(LVS) based service proxy.
|
||||||
|
|
||||||
For information on setting up Kubernetes cluster with Kube-router using kubeadm, please see official [setup guide](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md).
|
For information on setting up Kubernetes cluster with Kube-router using kubeadm, please see official [setup guide](https://github.com/cloudnativelabs/kube-router/blob/master/docs/kubeadm.md).
|
||||||
{{% /tab %}}
|
{{% /tab %}}
|
||||||
|
|
||||||
{{% tab name="Romana" %}}
|
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
|
||||||
please see [here](/docs/concepts/cluster-administration/network-plugins/#network-plugin-requirements).
|
|
||||||
|
|
||||||
The official Romana set-up guide is [here](https://github.com/romana/romana/tree/master/containerize#using-kubeadm).
|
|
||||||
|
|
||||||
Romana works on `amd64` only.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
kubectl apply -f https://raw.githubusercontent.com/romana/romana/master/containerize/specs/romana-kubeadm.yml
|
|
||||||
```
|
|
||||||
{{% /tab %}}
|
|
||||||
|
|
||||||
{{% tab name="Weave Net" %}}
|
{{% tab name="Weave Net" %}}
|
||||||
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
Set `/proc/sys/net/bridge/bridge-nf-call-iptables` to `1` by running `sysctl net.bridge.bridge-nf-call-iptables=1`
|
||||||
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
to pass bridged IPv4 traffic to iptables' chains. This is a requirement for some CNI plugins to work, for more information
|
||||||
@@ -431,16 +389,16 @@ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl versio
|
|||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
|
|
||||||
Once a pod network has been installed, you can confirm that it is working by
|
Once a Pod network has been installed, you can confirm that it is working by
|
||||||
checking that the CoreDNS pod is Running in the output of `kubectl get pods --all-namespaces`.
|
checking that the CoreDNS Pod is Running in the output of `kubectl get pods --all-namespaces`.
|
||||||
And once the CoreDNS pod is up and running, you can continue by joining your nodes.
|
And once the CoreDNS Pod is up and running, you can continue by joining your nodes.
|
||||||
|
|
||||||
If your network is not working or CoreDNS is not in the Running state, checkout our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/).
|
If your network is not working or CoreDNS is not in the Running state, checkout our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/).
|
||||||
|
|
||||||
### Control plane node isolation
|
### Control plane node isolation
|
||||||
|
|
||||||
By default, your cluster will not schedule pods on the control-plane node for security
|
By default, your cluster will not schedule Pods on the control-plane node for security
|
||||||
reasons. If you want to be able to schedule pods on the control-plane node, e.g. for a
|
reasons. If you want to be able to schedule Pods on the control-plane node, e.g. for a
|
||||||
single-machine Kubernetes cluster for development, run:
|
single-machine Kubernetes cluster for development, run:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -457,11 +415,11 @@ taint "node-role.kubernetes.io/master:" not found
|
|||||||
|
|
||||||
This will remove the `node-role.kubernetes.io/master` taint from any nodes that
|
This will remove the `node-role.kubernetes.io/master` taint from any nodes that
|
||||||
have it, including the control-plane node, meaning that the scheduler will then be able
|
have it, including the control-plane node, meaning that the scheduler will then be able
|
||||||
to schedule pods everywhere.
|
to schedule Pods everywhere.
|
||||||
|
|
||||||
### Joining your nodes {#join-nodes}
|
### Joining your nodes {#join-nodes}
|
||||||
|
|
||||||
The nodes are where your workloads (containers and pods, etc) run. To add new nodes to your cluster do the following for each machine:
|
The nodes are where your workloads (containers and Pods, etc) run. To add new nodes to your cluster do the following for each machine:
|
||||||
|
|
||||||
* SSH to the machine
|
* SSH to the machine
|
||||||
* Become root (e.g. `sudo su -`)
|
* Become root (e.g. `sudo su -`)
|
||||||
@@ -625,6 +583,8 @@ control of your Kubernetes cluster.
|
|||||||
* Learn about kubeadm's advanced usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm)
|
* Learn about kubeadm's advanced usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm)
|
||||||
* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/).
|
* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/user-guide/kubectl-overview/).
|
||||||
* Configure log rotation. You can use **logrotate** for that. When using Docker, you can specify log rotation options for Docker daemon, for example `--log-driver=json-file --log-opt=max-size=10m --log-opt=max-file=5`. See [Configure and troubleshoot the Docker daemon](https://docs.docker.com/engine/admin/) for more details.
|
* Configure log rotation. You can use **logrotate** for that. When using Docker, you can specify log rotation options for Docker daemon, for example `--log-driver=json-file --log-opt=max-size=10m --log-opt=max-file=5`. See [Configure and troubleshoot the Docker daemon](https://docs.docker.com/engine/admin/) for more details.
|
||||||
|
* See the [Cluster Networking](/docs/concepts/cluster-administration/networking/) page for a bigger list
|
||||||
|
of Pod network add-ons.
|
||||||
|
|
||||||
## Feedback {#feedback}
|
## Feedback {#feedback}
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,10 @@ switching to legacy mode, and is therefore incompatible with current kubeadm pac
|
|||||||
{{< tabs name="iptables_legacy" >}}
|
{{< tabs name="iptables_legacy" >}}
|
||||||
{{% tab name="Debian or Ubuntu" %}}
|
{{% tab name="Debian or Ubuntu" %}}
|
||||||
```bash
|
```bash
|
||||||
|
# ensure legacy binaries are installed
|
||||||
|
sudo apt-get install -y iptables arptables ebtables
|
||||||
|
|
||||||
|
# switch to legacy versions
|
||||||
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
|
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
|
||||||
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
|
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
|
||||||
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
|
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ To create a Kubernetes cluster on AWS, you will need an Access Key ID and a Secr
|
|||||||
|
|
||||||
### Supported Production Grade Tools
|
### Supported Production Grade Tools
|
||||||
|
|
||||||
* [conjure-up](/docs/getting-started-guides/ubuntu/) is an open-source installer for Kubernetes that creates Kubernetes clusters with native AWS integrations on Ubuntu.
|
* [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.
|
* [Kubernetes Operations](https://github.com/kubernetes/kops) - Production Grade K8s Installation, Upgrades, and Management. Supports running Debian, Ubuntu, CentOS, and RHEL in AWS.
|
||||||
|
|
||||||
|
|||||||
@@ -140,12 +140,6 @@ Once you have a Linux-based Kubernetes control-plane ("Master") node you are rea
|
|||||||
kubectl apply -f kube-flannel.yml
|
kubectl apply -f kube-flannel.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
Next, since the Flannel pods are Linux-based, apply a NodeSelector patch, which can be found [here](https://github.com/Microsoft/SDN/blob/1d5c055bb195fecba07ad094d2d7c18c188f9d2d/Kubernetes/flannel/l2bridge/manifests/node-selector-patch.yml), to the Flannel DaemonSet pod:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kubectl patch ds/kube-flannel-ds-amd64 --patch "$(cat node-selector-patch.yml)" -n=kube-system
|
|
||||||
```
|
|
||||||
|
|
||||||
After a few minutes, you should see all the pods as running if the Flannel pod network was deployed.
|
After a few minutes, you should see all the pods as running if the Flannel pod network was deployed.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ The Kubernetes in-tree storage plugin to Container Storage Interface (CSI) migra
|
|||||||
- volumeDevices mapping ignored when container is privileged
|
- volumeDevices mapping ignored when container is privileged
|
||||||
- The `Should recreate evicted statefulset` conformance [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/apps/statefulset.go) fails because `Pod ss-0 expected to be re-created at least once`. This was caused by the `Predicate PodFitsHostPorts failed` scheduling error. The root cause was a host port conflict for port `21017`. This port was in-use as an ephemeral port by another application running on the node. This will be looked at for the 1.18 release.
|
- The `Should recreate evicted statefulset` conformance [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/apps/statefulset.go) fails because `Pod ss-0 expected to be re-created at least once`. This was caused by the `Predicate PodFitsHostPorts failed` scheduling error. The root cause was a host port conflict for port `21017`. This port was in-use as an ephemeral port by another application running on the node. This will be looked at for the 1.18 release.
|
||||||
- client-go discovery clients constructed using `NewDiscoveryClientForConfig` or `NewDiscoveryClientForConfigOrDie` default to rate limits that cause normal discovery request patterns to take several seconds. This is fixed in https://issue.k8s.io/86168 and will be resolved in v1.17.1. As a workaround, the `Burst` value can be adjusted higher in the rest.Config passed into `NewDiscoveryClientForConfig` or `NewDiscoveryClientForConfigOrDie`.
|
- client-go discovery clients constructed using `NewDiscoveryClientForConfig` or `NewDiscoveryClientForConfigOrDie` default to rate limits that cause normal discovery request patterns to take several seconds. This is fixed in https://issue.k8s.io/86168 and will be resolved in v1.17.1. As a workaround, the `Burst` value can be adjusted higher in the rest.Config passed into `NewDiscoveryClientForConfig` or `NewDiscoveryClientForConfigOrDie`.
|
||||||
|
- The IP allocator in v1.17.0 can return errors such as `the cluster IP <ip> for service <service-name> is not within the service CIDR <cidr>; please recreate` in the logs of the kube-apiserver. The cause is incorrect CIDR calculations if the service CIDR (`--service-cluster-ip-range`) is set to bits lower than `/16`. This is fixed in http://issue.k8s.io/86534 and will be resolved in v1.17.1.
|
||||||
|
|
||||||
## Urgent Upgrade Notes
|
## Urgent Upgrade Notes
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ directly to the API server, like this:
|
|||||||
Using `grep/cut` approach:
|
Using `grep/cut` approach:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# Check all possible clusters, as you .KUBECONFIG may have multiple contexts:
|
# Check all possible clusters, as your .KUBECONFIG may have multiple contexts:
|
||||||
kubectl config view -o jsonpath='{"Cluster name\tServer\n"}{range .clusters[*]}{.name}{"\t"}{.cluster.server}{"\n"}{end}'
|
kubectl config view -o jsonpath='{"Cluster name\tServer\n"}{range .clusters[*]}{.name}{"\t"}{.cluster.server}{"\n"}{end}'
|
||||||
|
|
||||||
# Select name of cluster you want to interact with from above output:
|
# Select name of cluster you want to interact with from above output:
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ calculated using this equation:
|
|||||||
replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) )
|
replicas = max( ceil( cores × 1/coresPerReplica ) , ceil( nodes × 1/nodesPerReplica ) )
|
||||||
|
|
||||||
Note that the values of both `coresPerReplica` and `nodesPerReplica` are
|
Note that the values of both `coresPerReplica` and `nodesPerReplica` are
|
||||||
integers.
|
floats.
|
||||||
|
|
||||||
The idea is that when a cluster is using nodes that have many cores,
|
The idea is that when a cluster is using nodes that have many cores,
|
||||||
`coresPerReplica` dominates. When a cluster is using nodes that have fewer
|
`coresPerReplica` dominates. When a cluster is using nodes that have fewer
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ The upgrade workflow at high level is the following:
|
|||||||
- You need to have a kubeadm Kubernetes cluster running version 1.16.0 or later.
|
- You need to have a kubeadm Kubernetes cluster running version 1.16.0 or later.
|
||||||
- [Swap must be disabled](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux).
|
- [Swap must be disabled](https://serverfault.com/questions/684771/best-way-to-disable-swap-in-linux).
|
||||||
- The cluster should use a static control plane and etcd pods or external etcd.
|
- The cluster should use a static control plane and etcd pods or external etcd.
|
||||||
- Make sure you read the [release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.16.md) carefully.
|
- Make sure you read the [release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.17.md) carefully.
|
||||||
- Make sure to back up any important components, such as app-level state stored in a database.
|
- Make sure to back up any important components, such as app-level state stored in a database.
|
||||||
`kubeadm upgrade` does not touch your workloads, only components internal to Kubernetes, but backups are always a best practice.
|
`kubeadm upgrade` does not touch your workloads, only components internal to Kubernetes, but backups are always a best practice.
|
||||||
|
|
||||||
@@ -398,6 +398,19 @@ This command is idempotent and eventually makes sure that the actual state is th
|
|||||||
|
|
||||||
To recover from a bad state, you can also run `kubeadm upgrade apply --force` without changing the version that your cluster is running.
|
To recover from a bad state, you can also run `kubeadm upgrade apply --force` without changing the version that your cluster is running.
|
||||||
|
|
||||||
|
During upgrade kubeadm writes the following backup folders under `/etc/kubernetes/tmp`:
|
||||||
|
- `kubeadm-backup-etcd-<date>-<time>`
|
||||||
|
- `kubeadm-backup-manifests-<date>-<time>`
|
||||||
|
|
||||||
|
`kubeadm-backup-etcd` contains a backup of the local etcd member data for this control-plane Node.
|
||||||
|
In case of an etcd upgrade failure and if the automatic rollback does not work, the contents of this folder
|
||||||
|
can be manually restored in `/var/lib/etcd`. In case external etcd is used this backup folder will be empty.
|
||||||
|
|
||||||
|
`kubeadm-backup-manifests` contains a backup of the static Pod manifest files for this control-plane Node.
|
||||||
|
In case of a upgrade failure and if the automatic rollback does not work, the contents of this folder can be
|
||||||
|
manually restored in `/etc/kubernetes/manifests`. If for some reason there is no difference between a pre-upgrade
|
||||||
|
and post-upgrade manifest file for a certain component, a backup file for it will not be written.
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
`kubeadm upgrade apply` does the following:
|
`kubeadm upgrade apply` does the following:
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ To deploy the NVIDIA device plugin once your cluster is running and the above
|
|||||||
requirements are satisfied:
|
requirements are satisfied:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta/nvidia-device-plugin.yml
|
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
You can report issues with this third-party device plugin by logging an issue in
|
You can report issues with this third-party device plugin by logging an issue in
|
||||||
|
|||||||
@@ -187,7 +187,6 @@ Minikube has a set of built-in {{< glossary_tooltip text="addons" term_id="addon
|
|||||||
efk: disabled
|
efk: disabled
|
||||||
freshpod: disabled
|
freshpod: disabled
|
||||||
gvisor: disabled
|
gvisor: disabled
|
||||||
heapster: disabled
|
|
||||||
helm-tiller: disabled
|
helm-tiller: disabled
|
||||||
ingress: disabled
|
ingress: disabled
|
||||||
ingress-dns: disabled
|
ingress-dns: disabled
|
||||||
@@ -201,16 +200,16 @@ Minikube has a set of built-in {{< glossary_tooltip text="addons" term_id="addon
|
|||||||
storage-provisioner-gluster: disabled
|
storage-provisioner-gluster: disabled
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Enable an addon, for example, `heapster`:
|
2. Enable an addon, for example, `metrics-server`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
minikube addons enable heapster
|
minikube addons enable metrics-server
|
||||||
```
|
```
|
||||||
|
|
||||||
The output is similar to:
|
The output is similar to:
|
||||||
|
|
||||||
```
|
```
|
||||||
heapster was successfully enabled
|
metrics-server was successfully enabled
|
||||||
```
|
```
|
||||||
|
|
||||||
3. View the Pod and Service you just created:
|
3. View the Pod and Service you just created:
|
||||||
@@ -225,7 +224,7 @@ Minikube has a set of built-in {{< glossary_tooltip text="addons" term_id="addon
|
|||||||
NAME READY STATUS RESTARTS AGE
|
NAME READY STATUS RESTARTS AGE
|
||||||
pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m
|
pod/coredns-5644d7b6d9-mh9ll 1/1 Running 0 34m
|
||||||
pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m
|
pod/coredns-5644d7b6d9-pqd2t 1/1 Running 0 34m
|
||||||
pod/heapster-9jttx 1/1 Running 0 26s
|
pod/metrics-server-67fb648c5 1/1 Running 0 26s
|
||||||
pod/etcd-minikube 1/1 Running 0 34m
|
pod/etcd-minikube 1/1 Running 0 34m
|
||||||
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
|
pod/influxdb-grafana-b29w8 2/2 Running 0 26s
|
||||||
pod/kube-addon-manager-minikube 1/1 Running 0 34m
|
pod/kube-addon-manager-minikube 1/1 Running 0 34m
|
||||||
@@ -236,22 +235,22 @@ Minikube has a set of built-in {{< glossary_tooltip text="addons" term_id="addon
|
|||||||
pod/storage-provisioner 1/1 Running 0 34m
|
pod/storage-provisioner 1/1 Running 0 34m
|
||||||
|
|
||||||
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
||||||
service/heapster ClusterIP 10.96.241.45 <none> 80/TCP 26s
|
service/metrics-server ClusterIP 10.96.241.45 <none> 80/TCP 26s
|
||||||
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
|
service/kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 34m
|
||||||
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP 26s
|
service/monitoring-grafana NodePort 10.99.24.54 <none> 80:30002/TCP 26s
|
||||||
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/TCP 26s
|
service/monitoring-influxdb ClusterIP 10.111.169.94 <none> 8083/TCP,8086/TCP 26s
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Disable `heapster`:
|
4. Disable `metrics-server`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
minikube addons disable heapster
|
minikube addons disable metrics-server
|
||||||
```
|
```
|
||||||
|
|
||||||
The output is similar to:
|
The output is similar to:
|
||||||
|
|
||||||
```
|
```
|
||||||
heapster was successfully disabled
|
metrics-server was successfully disabled
|
||||||
```
|
```
|
||||||
|
|
||||||
## Clean up
|
## Clean up
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ spec:
|
|||||||
* Podが実行中で、その中には2つのコンテナがあります。コンテナ1は失敗終了しました。
|
* Podが実行中で、その中には2つのコンテナがあります。コンテナ1は失敗終了しました。
|
||||||
* 失敗イベントを記録します。
|
* 失敗イベントを記録します。
|
||||||
* `restartPolicy`が、
|
* `restartPolicy`が、
|
||||||
* Always: コンテナを再起動します。Podの`phase`はunningのままです。
|
* Always: コンテナを再起動します。Podの`phase`はRunningのままです。
|
||||||
* OnFailure: コンテナを再起動します。Podの`phase`はRunningのままです。
|
* OnFailure: コンテナを再起動します。Podの`phase`はRunningのままです。
|
||||||
* Never: コンテナを再起動しません。Podの`phase`はRunningのままです。
|
* Never: コンテナを再起動しません。Podの`phase`はRunningのままです。
|
||||||
* コンテナ1が死んでいてコンテナ2は動いている場合
|
* コンテナ1が死んでいてコンテナ2は動いている場合
|
||||||
@@ -307,7 +307,7 @@ spec:
|
|||||||
* Never: 失敗イベントを記録します。Podの`phase`はFailedになります。
|
* Never: 失敗イベントを記録します。Podの`phase`はFailedになります。
|
||||||
|
|
||||||
* Podが実行中ですがディスクは死んでいます。
|
* Podが実行中ですがディスクは死んでいます。
|
||||||
* すべてのコンテンを殺します。
|
* すべてのコンテナを殺します。
|
||||||
* 適切なイベントを記録します。
|
* 適切なイベントを記録します。
|
||||||
* Podの`phase`はFailedになります。
|
* Podの`phase`はFailedになります。
|
||||||
* Podがコントローラで作成されていた場合は、別の場所で再作成されます。
|
* Podがコントローラで作成されていた場合は、別の場所で再作成されます。
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ card:
|
|||||||
title: リリースのビルド
|
title: リリースのビルド
|
||||||
---
|
---
|
||||||
{{% capture overview %}}
|
{{% capture overview %}}
|
||||||
ソースコードからリリースをビルドすることもできますし、既にビルドされたリリースをダウンロードすることも可能です。Kubernetesを開発する予定が無いのであれば、[リリースノート](/ja/docs/setup/release/notes/)内にて既にビルドされたバージョンを使用することを推奨します。
|
ソースコードからリリースをビルドすることもできますし、既にビルドされたリリースをダウンロードすることも可能です。Kubernetesを開発する予定が無いのであれば、[リリースノート](/docs/setup/release/notes/)内にて既にビルドされたバージョンを使用することを推奨します。
|
||||||
|
|
||||||
Kubernetes のソースコードは[kubernetes/kubernetes](https://github.com/kubernetes/kubernetes)のリポジトリからダウンロードすることが可能です。
|
Kubernetes のソースコードは[kubernetes/kubernetes](https://github.com/kubernetes/kubernetes)のリポジトリからダウンロードすることが可能です。
|
||||||
{{% /capture %}}
|
{{% /capture %}}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -168,6 +168,7 @@ Kubernetes 采用了系统的云原生视图,并且可以处理持续的变化
|
|||||||
在任务执行时,集群随时都可能被修改,并且控制环会自动的修复故障。这意味着很可能集群永远不会达到稳定状态。
|
在任务执行时,集群随时都可能被修改,并且控制环会自动的修复故障。这意味着很可能集群永远不会达到稳定状态。
|
||||||
|
|
||||||
只要集群中控制器的在运行并且进行有效的修改,整体状态的稳定与否是无关紧要的。
|
只要集群中控制器的在运行并且进行有效的修改,整体状态的稳定与否是无关紧要的。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## Design
|
## Design
|
||||||
|
|
||||||
@@ -196,6 +197,7 @@ because there is information ({{< glossary_tooltip term_id="label" text="labels"
|
|||||||
the controllers can use to tell those Pods apart.
|
the controllers can use to tell those Pods apart.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## 设计 {#design}
|
## 设计 {#design}
|
||||||
|
|
||||||
作为设计的一个原则,Kubernetes 使用了很多控制器,每个控制器管理集群状态的一个特定方面。最常见的一个特定的控制器使用一种类型的资源作为它的期望状态,控制器管理控制另外一种类型的资源向它的期望状态发展。
|
作为设计的一个原则,Kubernetes 使用了很多控制器,每个控制器管理集群状态的一个特定方面。最常见的一个特定的控制器使用一种类型的资源作为它的期望状态,控制器管理控制另外一种类型的资源向它的期望状态发展。
|
||||||
|
|||||||
@@ -711,7 +711,7 @@ most up-to-date version of that branch.
|
|||||||
You'll be able to view your changes after you submit the pull request, as
|
You'll be able to view your changes after you submit the pull request, as
|
||||||
well.
|
well.
|
||||||
-->
|
-->
|
||||||
您还可以选择使用 hugo 命令在本地暂存站点来测试您的更改。[本地查看更改](#view-your-changes-locally)。您还可以在提交 PR 后查看更改。
|
您还可以选择使用 hugo 命令在本地暂存站点来测试您的更改。参阅[本地查看更改](#本地查看更改)。您还可以在提交 PR 后查看更改。
|
||||||
|
|
||||||
6. <!--
|
6. <!--
|
||||||
Before you can create a pull request which includes your local commit, you
|
Before you can create a pull request which includes your local commit, you
|
||||||
|
|||||||
-9
@@ -169,13 +169,4 @@ kubeadm alpha certs renew etcd-healthcheck-client [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - Renew certificates for a Kubernetes cluster
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - 续订 Kubernetes 集群的证书
|
|
||||||
|
|
||||||
|
|||||||
-9
@@ -169,13 +169,4 @@ kubeadm alpha certs renew etcd-peer [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - Renew certificates for a Kubernetes cluster
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - 续订 Kubernetes 集群的证书
|
|
||||||
|
|
||||||
|
|||||||
-9
@@ -169,13 +169,4 @@ kubeadm alpha certs renew etcd-server [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - Renew certificates for a Kubernetes cluster
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - 续订 Kubernetes 集群的证书
|
|
||||||
|
|
||||||
|
|||||||
-10
@@ -166,13 +166,3 @@ kubeadm alpha certs renew front-proxy-client [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - Renew certificates for a Kubernetes cluster
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - 续订 Kubernetes 集群的证书
|
|
||||||
|
|
||||||
|
|||||||
-9
@@ -169,13 +169,4 @@ kubeadm alpha certs renew scheduler.conf [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - Renew certificates for a Kubernetes cluster
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha certs renew](kubeadm_alpha_certs_renew.md) - 续订 Kubernetes 集群的证书
|
|
||||||
|
|
||||||
|
|||||||
@@ -74,15 +74,5 @@ Alpha 免责声明:此命令当前为 alpha 功能。
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其它
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha](kubeadm_alpha.md) - Kubeadm experimental sub-commands
|
|
||||||
* [kubeadm alpha kubeconfig user](kubeadm_alpha_kubeconfig_user.md) - Output a kubeconfig file for an additional user
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha](kubeadm_alpha.md) - kubeadm 实验子命令
|
|
||||||
* [kubeadm alpha kubeconfig user](kubeadm_alpha_kubeconfig_user.md) - 为其他用户输出 kubeconfig 文件
|
|
||||||
|
|
||||||
|
|||||||
-8
@@ -169,13 +169,5 @@ kubeadm alpha kubeconfig user [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha kubeconfig](kubeadm_alpha_kubeconfig.md) - Kubeconfig file utilities
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha kubeconfig](kubeadm_alpha_kubeconfig.md) - Kubeconfig 文件应用程序
|
|
||||||
|
|
||||||
|
|||||||
@@ -68,15 +68,4 @@ This command is not meant to be run on its own. See list of available subcommand
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha](kubeadm_alpha.md) - Kubeadm experimental sub-commands
|
|
||||||
* [kubeadm alpha kubelet config](kubeadm_alpha_kubelet_config.md) - Utilities for kubelet configuration
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha](kubeadm_alpha.md) - kubeadm 实验子命令
|
|
||||||
* [kubeadm alpha kubelet config](kubeadm_alpha_kubelet_config.md) - 用于 kubelet 配置的实用程序
|
|
||||||
|
|
||||||
|
|||||||
-13
@@ -68,17 +68,4 @@ This command is not meant to be run on its own. See list of available subcommand
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha kubelet](kubeadm_alpha_kubelet.md) - Commands related to handling the kubelet
|
|
||||||
* [kubeadm alpha kubelet config download](kubeadm_alpha_kubelet_config_download.md) - Download the kubelet configuration from the cluster ConfigMap kubelet-config-1.X, where X is the minor version of the kubelet
|
|
||||||
* [kubeadm alpha kubelet config enable-dynamic](kubeadm_alpha_kubelet_config_enable-dynamic.md) - EXPERIMENTAL: Enable or update dynamic kubelet configuration for a Node
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha kubelet](kubeadm_alpha_kubelet.md) - 与处理 kubelet 有关的命令
|
|
||||||
* [kubeadm alpha kubelet config download](kubeadm_alpha_kubelet_config_download.md) - 从集群 ConfigMap kubelet-config-1.X 中下载 kubelet 配置,其中 X 是 kubelet 的次要版本。
|
|
||||||
* [kubeadm alpha kubelet config enable-dynamic](kubeadm_alpha_kubelet_config_enable-dynamic.md) - 实验:为节点启用或更新动态 kubelet 配置
|
|
||||||
|
|
||||||
|
|||||||
-9
@@ -129,12 +129,3 @@ kubeadm alpha kubelet config download [flags]
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
SEE ALSO
|
|
||||||
-->
|
|
||||||
查看其他
|
|
||||||
|
|
||||||
<!--
|
|
||||||
* [kubeadm alpha kubelet config](kubeadm_alpha_kubelet_config.md) - Utilities for kubelet configuration
|
|
||||||
-->
|
|
||||||
* [kubeadm alpha kubelet config](kubeadm_alpha_kubelet_config.md) - 用于 kubelet 配置的程序
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -45,10 +45,9 @@ This decision is owned by the [patch release manager](https://github.com/kuberne
|
|||||||
The patch release manager is a member of the [release team for each release](https://github.com/kubernetes/sig-release/tree/master/release-team).
|
The patch release manager is a member of the [release team for each release](https://github.com/kubernetes/sig-release/tree/master/release-team).
|
||||||
-->
|
-->
|
||||||
一些 bug 修复,包括安全修复,根据其安全性和可用性,有可能会回合到这些分支。
|
一些 bug 修复,包括安全修复,根据其安全性和可用性,有可能会回合到这些分支。
|
||||||
如果有必要,补丁版本会定期从这些分支中发布。
|
补丁版本会定期或根据需要从这些分支中发布。
|
||||||
[补丁发布管理员](https://github.com/kubernetes/sig-release/blob/master/release-engineering/role-handbooks/patch-release-manager.md#release-timing)
|
最终是否发布是由[patch release team](https://github.com/kubernetes/sig-release/blob/master/release-engineering/role-handbooks/patch-release-manager.md#release-timing)
|
||||||
来决定是否发布。
|
来决定的。Patch release team同时也是[release managers](https://github.com/kubernetes/sig-release/blob/master/release-managers.md). 如需了解更多信息,请查看 [Kubernetes Patch releases](https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md).
|
||||||
补丁发布管理员同时也是[release team for each release](https://github.com/kubernetes/sig-release/tree/master/release-team) 的管理员。
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Minor releases occur approximately every 3 months, so each minor release branch is maintained for approximately 9 months.
|
Minor releases occur approximately every 3 months, so each minor release branch is maintained for approximately 9 months.
|
||||||
|
|||||||
@@ -260,9 +260,9 @@ import (
|
|||||||
要使用 [Python 客户端](https://github.com/kubernetes-client/python),运行下列命令:`pip install kubernetes` 参见 [Python 客户端库主页](https://github.com/kubernetes-client/python) 查看更多安装选项。
|
要使用 [Python 客户端](https://github.com/kubernetes-client/python),运行下列命令:`pip install kubernetes` 参见 [Python 客户端库主页](https://github.com/kubernetes-client/python) 查看更多安装选项。
|
||||||
|
|
||||||
<!-- The Python client can use the same [kubeconfig file](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/)
|
<!-- The Python client can use the same [kubeconfig file](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/)
|
||||||
as the kubectl CLI does to locate and authenticate to the API server. See this [example](https://github.com/kubernetes-client/python/tree/master/examples/example1.py): -->
|
as the kubectl CLI does to locate and authenticate to the API server. See this [example](https://github.com/kubernetes-client/python/blob/master/examples/out_of_cluster_config.py): -->
|
||||||
|
|
||||||
Python 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文件](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) 定位和验证 API 服务器。参见这个 [例子](https://github.com/kubernetes-client/python/tree/master/examples/example1.py):
|
Python 客户端可以使用与 kubectl 命令行工具相同的 [kubeconfig 文件](/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig/) 定位和验证 API 服务器。参见这个 [例子](https://github.com/kubernetes-client/python/blob/master/examples/out_of_cluster_config.py):
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kubernetes import client, config
|
from kubernetes import client, config
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 269 KiB After Width: | Height: | Size: 152 KiB |
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 45 KiB |
@@ -4,5 +4,5 @@ repos:
|
|||||||
branch: master
|
branch: master
|
||||||
gen-absolute-links: true
|
gen-absolute-links: true
|
||||||
files:
|
files:
|
||||||
- src: CHANGELOG-1.13.md
|
- src: CHANGELOG-1.17.md
|
||||||
dst: content/en/docs/setup/release/notes.md
|
dst: content/en/docs/setup/release/notes.md
|
||||||
|
|||||||
Reference in New Issue
Block a user