Merge pull request #19823 from VineethReddy02/vineeth-merged-master-into-dev-1.18-for-syncup
Merged master into dev-1.18 for syncuppull/19116/head
commit
f115a2bf52
|
@ -578,6 +578,9 @@ section
|
||||||
li
|
li
|
||||||
display: inline-block
|
display: inline-block
|
||||||
height: 100%
|
height: 100%
|
||||||
|
margin-right: 10px
|
||||||
|
&:last-child
|
||||||
|
margin-right: 0
|
||||||
|
|
||||||
a
|
a
|
||||||
display: block
|
display: block
|
||||||
|
@ -598,11 +601,11 @@ section
|
||||||
#vendorStrip
|
#vendorStrip
|
||||||
line-height: 44px
|
line-height: 44px
|
||||||
max-width: 100%
|
max-width: 100%
|
||||||
overflow-x: auto
|
|
||||||
-webkit-overflow-scrolling: touch
|
-webkit-overflow-scrolling: touch
|
||||||
|
|
||||||
ul
|
ul
|
||||||
float: none
|
float: none
|
||||||
|
overflow-x: auto
|
||||||
|
|
||||||
#searchBox
|
#searchBox
|
||||||
float: none
|
float: none
|
||||||
|
@ -1052,6 +1055,9 @@ dd
|
||||||
a.issue
|
a.issue
|
||||||
margin-left: 0px
|
margin-left: 0px
|
||||||
|
|
||||||
|
.gridPageHome .flyout-button
|
||||||
|
display: none
|
||||||
|
|
||||||
.feedback--no
|
.feedback--no
|
||||||
margin-left: 1em
|
margin-left: 1em
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ title: Kubernetes Dokumentation
|
||||||
noedit: true
|
noedit: true
|
||||||
cid: docsHome
|
cid: docsHome
|
||||||
layout: docsportal_home
|
layout: docsportal_home
|
||||||
class: gridPage
|
class: gridPage gridPageHome
|
||||||
linkTitle: "Home"
|
linkTitle: "Home"
|
||||||
main_menu: true
|
main_menu: true
|
||||||
weight: 10
|
weight: 10
|
||||||
|
|
|
@ -68,13 +68,7 @@ resource requests/limits of that type for each Container in the Pod.
|
||||||
## Meaning of CPU
|
## Meaning of CPU
|
||||||
|
|
||||||
Limits and requests for CPU resources are measured in *cpu* units.
|
Limits and requests for CPU resources are measured in *cpu* units.
|
||||||
One cpu, in Kubernetes, is equivalent to:
|
One cpu, in Kubernetes, is equivalent to **1 vCPU/Core** for cloud providers and **1 hyperthread** on bare-metal Intel processors.
|
||||||
|
|
||||||
- 1 AWS vCPU
|
|
||||||
- 1 GCP Core
|
|
||||||
- 1 Azure vCore
|
|
||||||
- 1 IBM vCPU
|
|
||||||
- 1 *Hyperthread* on a bare-metal Intel processor with Hyperthreading
|
|
||||||
|
|
||||||
Fractional requests are allowed. A Container with
|
Fractional requests are allowed. A Container with
|
||||||
`spec.containers[].resources.requests.cpu` of `0.5` is guaranteed half as much
|
`spec.containers[].resources.requests.cpu` of `0.5` is guaranteed half as much
|
||||||
|
|
|
@ -312,6 +312,10 @@ spec:
|
||||||
server: 172.17.0.2
|
server: 172.17.0.2
|
||||||
```
|
```
|
||||||
|
|
||||||
|
{{< note >}}
|
||||||
|
Helper programs relating to the volume type may be required for consumption of a PersistentVolume within a cluster. In this example, the PersistentVolume is of type NFS and the helper program /sbin/mount.nfs is required to support the mounting of NFS filesystems.
|
||||||
|
{{< /note >}}
|
||||||
|
|
||||||
### Capacity
|
### Capacity
|
||||||
|
|
||||||
Generally, a PV will have a specific storage capacity. This is set using the PV's `capacity` attribute. See the Kubernetes [Resource Model](https://git.k8s.io/community/contributors/design-proposals/scheduling/resources.md) to understand the units expected by `capacity`.
|
Generally, a PV will have a specific storage capacity. This is set using the PV's `capacity` attribute. See the Kubernetes [Resource Model](https://git.k8s.io/community/contributors/design-proposals/scheduling/resources.md) to understand the units expected by `capacity`.
|
||||||
|
|
|
@ -102,7 +102,7 @@ Do | Don't
|
||||||
:--| :-----
|
:--| :-----
|
||||||
Open the `envars.yaml` file. | Open the envars.yaml file.
|
Open the `envars.yaml` file. | Open the envars.yaml file.
|
||||||
Go to the `/docs/tutorials` directory. | Go to the /docs/tutorials directory.
|
Go to the `/docs/tutorials` directory. | Go to the /docs/tutorials directory.
|
||||||
Open the `/_data/concepts.yaml` file. | Open the /_data/concepts.yaml file.
|
Open the `/_data/concepts.yaml` file. | Open the /\_data/concepts.yaml file.
|
||||||
{{< /table >}}
|
{{< /table >}}
|
||||||
|
|
||||||
### Use the international standard for punctuation inside quotes
|
### Use the international standard for punctuation inside quotes
|
||||||
|
@ -119,15 +119,15 @@ The copy is called a "fork". | The copy is called a "fork."
|
||||||
### Use code style for inline code and commands
|
### Use code style for inline code and commands
|
||||||
|
|
||||||
For inline code in an HTML document, use the `<code>` tag. In a Markdown
|
For inline code in an HTML document, use the `<code>` tag. In a Markdown
|
||||||
document, use the backtick (`).
|
document, use the backtick (`` ` ``).
|
||||||
|
|
||||||
{{< table caption = "Do and Don't - Use code style for inline code and commands" >}}
|
{{< table caption = "Do and Don't - Use code style for inline code and commands" >}}
|
||||||
Do | Don't
|
Do | Don't
|
||||||
:--| :-----
|
:--| :-----
|
||||||
The `kubectl run`command creates a Deployment. | The "kubectl run" command creates a Deployment.
|
The `kubectl run`command creates a Deployment. | The "kubectl run" command creates a Deployment.
|
||||||
For declarative management, use `kubectl apply`. | For declarative management, use "kubectl apply".
|
For declarative management, use `kubectl apply`. | For declarative management, use "kubectl apply".
|
||||||
Enclose code samples with triple backticks. `(```)`| Enclose code samples with any other syntax.
|
Enclose code samples with triple backticks. (\`\`\`)| Enclose code samples with any other syntax.
|
||||||
Use single backticks to enclose inline code. For example, `var example = true`. | Use two asterisks (**) or an underscore (_) to enclose inline code. For example, **var example = true**.
|
Use single backticks to enclose inline code. For example, `var example = true`. | Use two asterisks (`**`) or an underscore (`_`) to enclose inline code. For example, **var example = true**.
|
||||||
Use triple backticks before and after a multi-line block of code for fenced code blocks. | Use multi-line blocks of code to create diagrams, flowcharts, or other illustrations.
|
Use triple backticks before and after a multi-line block of code for fenced code blocks. | Use multi-line blocks of code to create diagrams, flowcharts, or other illustrations.
|
||||||
Use meaningful variable names that have a context. | Use variable names such as 'foo','bar', and 'baz' that are not meaningful and lack context.
|
Use meaningful variable names that have a context. | Use variable names such as 'foo','bar', and 'baz' that are not meaningful and lack context.
|
||||||
Remove trailing spaces in the code. | Add trailing spaces in the code, where these are important, because the screen reader will read out the spaces as well.
|
Remove trailing spaces in the code. | Add trailing spaces in the code, where these are important, because the screen reader will read out the spaces as well.
|
||||||
|
@ -255,7 +255,7 @@ On-premises | On-premises or On-prem rather than On-premise or other variations.
|
||||||
|
|
||||||
## Shortcodes
|
## Shortcodes
|
||||||
|
|
||||||
Hugo [Shortcodes](https://gohugo.io/content-management/shortcodes) help create different rhetorical appeal levels. Our documentation supports three different shortcodes in this category: **Note** {{</* note */>}}, **Caution** {{</* caution */>}}, and **Warning** {{</* warning */>}}.
|
Hugo [Shortcodes](https://gohugo.io/content-management/shortcodes) help create different rhetorical appeal levels. Our documentation supports three different shortcodes in this category: **Note** `{{</* note */>}}`, **Caution** `{{</* caution */>}}`, and **Warning** `{{</* warning */>}}`.
|
||||||
|
|
||||||
1. Surround the text with an opening and closing shortcode.
|
1. Surround the text with an opening and closing shortcode.
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ The prefix you choose is the same text for the tag.
|
||||||
|
|
||||||
### Note
|
### Note
|
||||||
|
|
||||||
Use {{</* note */>}} to highlight a tip or a piece of information that may be helpful to know.
|
Use `{{</* note */>}}` to highlight a tip or a piece of information that may be helpful to know.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ The output is:
|
||||||
You can _still_ use Markdown inside these callouts.
|
You can _still_ use Markdown inside these callouts.
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
You can use a {{</* note */>}} in a list:
|
You can use a `{{</* note */>}}` in a list:
|
||||||
|
|
||||||
```
|
```
|
||||||
1. Use the note shortcode in a list
|
1. Use the note shortcode in a list
|
||||||
|
@ -323,7 +323,7 @@ The output is:
|
||||||
|
|
||||||
### Caution
|
### Caution
|
||||||
|
|
||||||
Use {{</* caution */>}} to call attention to an important piece of information to avoid pitfalls.
|
Use `{{</* caution */>}}` to call attention to an important piece of information to avoid pitfalls.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -341,7 +341,7 @@ The callout style only applies to the line directly above the tag.
|
||||||
|
|
||||||
### Warning
|
### Warning
|
||||||
|
|
||||||
Use {{</* warning */>}} to indicate danger or a piece of information that is crucial to follow.
|
Use `{{</* warning */>}}` to indicate danger or a piece of information that is crucial to follow.
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
@ -391,7 +391,7 @@ For example:
|
||||||
1. Preheat oven to 350˚F
|
1. Preheat oven to 350˚F
|
||||||
|
|
||||||
1. Prepare the batter, and pour into springform pan.
|
1. Prepare the batter, and pour into springform pan.
|
||||||
{{</* note */>}}Grease the pan for best results.{{</* /note */>}}
|
`{{</* note */>}}Grease the pan for best results.{{</* /note */>}}`
|
||||||
|
|
||||||
1. Bake for 20-25 minutes or until set.
|
1. Bake for 20-25 minutes or until set.
|
||||||
|
|
||||||
|
@ -429,7 +429,7 @@ Do | Don't
|
||||||
:--| :-----
|
:--| :-----
|
||||||
Update the title in the front matter of the page or blog post. | Use first level heading, as Hugo automatically converts the title in the front matter of the page into a first-level heading.
|
Update the title in the front matter of the page or blog post. | Use first level heading, as Hugo automatically converts the title in the front matter of the page into a first-level heading.
|
||||||
Use ordered headings to provide a meaningful high-level outline of your content. | Use headings level 4 through 6, unless it is absolutely necessary. If your content is that detailed, it may need to be broken into separate articles.
|
Use ordered headings to provide a meaningful high-level outline of your content. | Use headings level 4 through 6, unless it is absolutely necessary. If your content is that detailed, it may need to be broken into separate articles.
|
||||||
Use pound or hash signs (#) for non-blog post content. | Use underlines (--- or ===) to designate first-level headings.
|
Use pound or hash signs (`#`) for non-blog post content. | Use underlines (`---` or `===`) to designate first-level headings.
|
||||||
Use sentence case for headings. For example, **Extend kubectl with plugins** | Use title case for headings. For example, **Extend Kubectl With Plugins**
|
Use sentence case for headings. For example, **Extend kubectl with plugins** | Use title case for headings. For example, **Extend Kubectl With Plugins**
|
||||||
{{< /table >}}
|
{{< /table >}}
|
||||||
|
|
||||||
|
@ -439,7 +439,7 @@ Use sentence case for headings. For example, **Extend kubectl with plugins** | U
|
||||||
Do | Don't
|
Do | Don't
|
||||||
:--| :-----
|
:--| :-----
|
||||||
Try to keep paragraphs under 6 sentences. | Indent the first paragraph with space characters. For example, ⋅⋅⋅Three spaces before a paragraph will indent it.
|
Try to keep paragraphs under 6 sentences. | Indent the first paragraph with space characters. For example, ⋅⋅⋅Three spaces before a paragraph will indent it.
|
||||||
Use three hyphens (---) to create a horizontal rule. Use horizontal rules for breaks in paragraph content. For example, a change of scene in a story, or a shift of topic within a section. | Use horizontal rules for decoration.
|
Use three hyphens (`---`) to create a horizontal rule. Use horizontal rules for breaks in paragraph content. For example, a change of scene in a story, or a shift of topic within a section. | Use horizontal rules for decoration.
|
||||||
{{< /table >}}
|
{{< /table >}}
|
||||||
|
|
||||||
### Links
|
### Links
|
||||||
|
@ -460,9 +460,9 @@ Website navigation links can also be marked up as list items; after all they are
|
||||||
|
|
||||||
{{< note >}} Ordered lists that are part of an incomplete introductory sentence can be in lowercase and punctuated as if each item was a part of the introductory sentence.{{< /note >}}
|
{{< note >}} Ordered lists that are part of an incomplete introductory sentence can be in lowercase and punctuated as if each item was a part of the introductory sentence.{{< /note >}}
|
||||||
|
|
||||||
- Use the number one (1.) for ordered lists.
|
- Use the number one (`1.`) for ordered lists.
|
||||||
|
|
||||||
- Use (+), (* ), or (-) for unordered lists.
|
- Use (`+`), (`*`), or (`-`) for unordered lists.
|
||||||
|
|
||||||
- Leave a blank line after each list.
|
- Leave a blank line after each list.
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ title: Kubernetes Documentation
|
||||||
noedit: true
|
noedit: true
|
||||||
cid: docsHome
|
cid: docsHome
|
||||||
layout: docsportal_home
|
layout: docsportal_home
|
||||||
class: gridPage
|
class: gridPage gridPageHome
|
||||||
linkTitle: "Home"
|
linkTitle: "Home"
|
||||||
main_menu: true
|
main_menu: true
|
||||||
weight: 10
|
weight: 10
|
||||||
|
|
|
@ -184,27 +184,48 @@ sysctl --system
|
||||||
```
|
```
|
||||||
|
|
||||||
{{< tabs name="tab-cri-cri-o-installation" >}}
|
{{< tabs name="tab-cri-cri-o-installation" >}}
|
||||||
{{< tab name="Ubuntu 16.04" codelang="bash" >}}
|
{{< tab name="Debian" codelang="bash" >}}
|
||||||
|
# Debian Unstable/Sid
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Unstable/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Unstable/Release.key -O- | sudo apt-key add -
|
||||||
|
|
||||||
# Install prerequisites
|
# Debian Testing
|
||||||
apt-get update
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Testing/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
apt-get install -y software-properties-common
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Testing/Release.key -O- | sudo apt-key add -
|
||||||
|
|
||||||
add-apt-repository ppa:projectatomic/ppa
|
# Debian 10
|
||||||
apt-get update
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_10/Release.key -O- | sudo apt-key add -
|
||||||
|
|
||||||
|
# Raspbian 10
|
||||||
|
echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Raspbian_10/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Raspbian_10/Release.key -O- | sudo apt-key add -
|
||||||
|
|
||||||
# Install CRI-O
|
# Install CRI-O
|
||||||
apt-get install -y cri-o-1.15
|
sudo apt-get install cri-o-1.17
|
||||||
|
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
|
|
||||||
|
|
||||||
|
{{< tab name="Ubuntu 18.04, 19.04 and 19.10" codelang="bash" >}}
|
||||||
|
# Setup repository
|
||||||
|
. /etc/os-release
|
||||||
|
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
|
||||||
|
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O- | sudo apt-key add -
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
# Install CRI-O
|
||||||
|
sudo apt-get install cri-o-1.17
|
||||||
|
{{< /tab >}}
|
||||||
|
|
||||||
|
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
|
||||||
# Install prerequisites
|
# Install prerequisites
|
||||||
yum-config-manager --add-repo=https://cbs.centos.org/repos/paas7-crio-115-release/x86_64/os/
|
yum-config-manager --add-repo=https://cbs.centos.org/repos/paas7-crio-115-release/x86_64/os/
|
||||||
|
|
||||||
# Install CRI-O
|
# Install CRI-O
|
||||||
yum install --nogpgcheck -y cri-o
|
yum install --nogpgcheck -y cri-o
|
||||||
|
{{< /tab >}}
|
||||||
|
|
||||||
|
{{< tab name="openSUSE Tumbleweed" codelang="bash" >}}
|
||||||
|
sudo zypper install cri-o
|
||||||
{{< /tab >}}
|
{{< /tab >}}
|
||||||
{{< /tabs >}}
|
{{< /tabs >}}
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ W wersjach wcześniejszych niż 1.14, punkty końcowe określone przez ich forma
|
||||||
|
|
||||||
**Przykłady pobierania specyfikacji OpenAPI**:
|
**Przykłady pobierania specyfikacji OpenAPI**:
|
||||||
|
|
||||||
Przed 1.10 | Począwszy od Kubernetes 1.10
|
Przed 1.10 | Kubernetes 1.10 i nowszy
|
||||||
----------- | -----------------------------
|
----------- | -----------------------------
|
||||||
GET /swagger.json | GET /openapi/v2 **Accept**: application/json
|
GET /swagger.json | GET /openapi/v2 **Accept**: application/json
|
||||||
GET /swagger-2.0.0.pb-v1 | GET /openapi/v2 **Accept**: application/com.github.proto-openapi.spec.v2@v1.0+protobuf
|
GET /swagger-2.0.0.pb-v1 | GET /openapi/v2 **Accept**: application/com.github.proto-openapi.spec.v2@v1.0+protobuf
|
||||||
|
@ -108,20 +108,21 @@ API może być rozbudowane na dwa sposoby przy użyciu [custom resources](/docs/
|
||||||
i użyć [agregatora](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/),
|
i użyć [agregatora](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/),
|
||||||
aby zintegrować je w sposób niezauważalny dla klientów.
|
aby zintegrować je w sposób niezauważalny dla klientów.
|
||||||
|
|
||||||
## Włączanie grup API
|
## Włączanie i wyłączanie grup API
|
||||||
|
|
||||||
Określone zasoby i grupy API są włączone domyślnie. Włączanie i wyłączanie odbywa się poprzez ustawienie `--runtime-config`
|
Określone zasoby i grupy API są włączone domyślnie. Włączanie i wyłączanie odbywa się poprzez ustawienie `--runtime-config`
|
||||||
w apiserwerze. `--runtime-config` przyjmuje wartości oddzielane przecinkami. Przykładowo, aby wyłączyć batch/v1, należy ustawić
|
w apiserwerze. `--runtime-config` przyjmuje wartości oddzielane przecinkami. Przykładowo, aby wyłączyć batch/v1, należy ustawić
|
||||||
`--runtime-config=batch/v1=false`, aby włączyć batch/v2alpha1, należy ustawić `--runtime-config=batch/v2alpha1`.
|
`--runtime-config=batch/v1=false`, aby włączyć batch/v2alpha1, należy ustawić `--runtime-config=batch/v2alpha1`.
|
||||||
Ta opcja przyjmuje rozdzielony przecinkami zbiór par klucz=wartość, który opisuje konfigurację wykonawczą apiserwera.
|
Ta opcja przyjmuje rozdzielony przecinkami zbiór par klucz=wartość, który opisuje konfigurację wykonawczą apiserwera.
|
||||||
|
|
||||||
WAŻNE: Włączenie lub wyłączenie grup lub zasobów wymaga restartu apiserver i controller-manager, aby zmiany w `--runtime-config` zostały wprowadzone.
|
{{< note >}}Włączenie lub wyłączenie grup lub zasobów wymaga restartu apiserver i controller-manager, aby zmiany w `--runtime-config` zostały wprowadzone.{{< /note >}}
|
||||||
|
|
||||||
## Jak włączać dostęp do grup zasobów
|
## Jak włączać dostęp do grup zasobów extensions/v1beta1
|
||||||
|
|
||||||
DaemonSets, Deployments, HorizontalPodAutoscalers, Ingresses, Jobs and ReplicaSets są domyślnie włączone.
|
DaemonSets, Deployments, HorizontalPodAutoscalers, Ingresses, Jobs i ReplicaSets znajdują się w grupie API `extensions/v1beta1` i są domyślnie włączone.
|
||||||
Pozostałe rozszerzenia mogą być włączane poprzez ustawienie `--runtime-config` w
|
Przykładowo: aby włączyć deployments i daemonsets, ustaw
|
||||||
apiserver. `--runtime-config` przyjmuje wartości rozdzielane przecinkami. Na przykład, aby zablokować deployments oraz ingress, ustaw
|
`--runtime-config=extensions/v1beta1/deployments=true,extensions/v1beta1/daemonsets=true`.
|
||||||
`--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/ingresses=false`
|
|
||||||
|
{{< note >}}Włączanie i wyłączanie pojedynczych zasobów możliwe jest jedynie w ramach grupy API `extensions/v1beta1` z przyczyn historycznych{{< /note >}}
|
||||||
|
|
||||||
{{% /capture %}}
|
{{% /capture %}}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
---
|
---
|
||||||
title: Kubernetes — co to jest?
|
title: Kubernetes — co to jest?
|
||||||
|
description: >
|
||||||
|
Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach. Umożliwia ich deklaratywną konfigurację i automatyzację. Kubernetes posiada duży i dynamicznie rozwijający się ekosystem. Szeroko dostępne są serwisy, wsparcie i dodatkowe narzędzia.
|
||||||
content_template: templates/concept
|
content_template: templates/concept
|
||||||
weight: 10
|
weight: 10
|
||||||
card:
|
card:
|
||||||
|
@ -14,7 +16,7 @@ Na tej stronie znajdziesz ogólne informacje o Kubernetesie.
|
||||||
{{% capture body %}}
|
{{% capture body %}}
|
||||||
Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach, która umożliwia deklaratywną konfigurację i automatyzację. Ekosystem Kubernetesa jest duży i dynamicznie się rozwija. Serwisy Kubernetesa, wsparcie i narzędzia są szeroko dostępne.
|
Kubernetes to przenośna, rozszerzalna platforma oprogramowania *open-source* służąca do zarządzania zadaniami i serwisami uruchamianymi w kontenerach, która umożliwia deklaratywną konfigurację i automatyzację. Ekosystem Kubernetesa jest duży i dynamicznie się rozwija. Serwisy Kubernetesa, wsparcie i narzędzia są szeroko dostępne.
|
||||||
|
|
||||||
Nazwa Kubernetes pochodzi z greki i oznacza sternika albo pilota. Google otworzyło projekt Kubernetes publicznie w 2014. Kubernetes korzysta z [piętnastoletniego doświadczenia Google w uruchamianiu wielkoskalowych serwisów](https://ai.google/research/pubs/pub43438) i łączy je z najlepszymi pomysłami i praktykami wypracowanymi przez społeczność.
|
Nazwa Kubernetes pochodzi z greki i oznacza sternika albo pilota. Google otworzyło projekt Kubernetes publicznie w 2014. Kubernetes korzysta z [piętnastoletniego doświadczenia Google w uruchamianiu wielkoskalowych serwisów](/blog/2015/04/borg-predecessor-to-kubernetes/) i łączy je z najlepszymi pomysłami i praktykami wypracowanymi przez społeczność.
|
||||||
|
|
||||||
## Trochę historii
|
## Trochę historii
|
||||||
|
|
||||||
|
@ -42,7 +44,7 @@ Kontenery zyskały popularność ze względu na swoje zalety, takie jak:
|
||||||
* Rozdzielenie zadań *Dev* i *Ops*: obrazy kontenerów powstają w fazie *build/release*, oddzielając w ten sposób aplikacje od infrastruktury.
|
* Rozdzielenie zadań *Dev* i *Ops*: obrazy kontenerów powstają w fazie *build/release*, oddzielając w ten sposób aplikacje od infrastruktury.
|
||||||
* Obserwowalność obejmuje nie tylko informacje i metryki z poziomu systemu operacyjnego, ale także poprawność działania samej aplikacji i inne sygnały.
|
* Obserwowalność obejmuje nie tylko informacje i metryki z poziomu systemu operacyjnego, ale także poprawność działania samej aplikacji i inne sygnały.
|
||||||
* Spójność środowiska na etapach rozwoju oprogramowania, testowania i działania w trybie produkcyjnym: działa w ten sam sposób na laptopie i w chmurze.
|
* Spójność środowiska na etapach rozwoju oprogramowania, testowania i działania w trybie produkcyjnym: działa w ten sam sposób na laptopie i w chmurze.
|
||||||
* Możliwość przenoszenia pomiędzy systemami operacyjnymi i platformami chmurowymi: Ubuntu, RHEL, CoreOS, prywatnymi centrami danych, Google Kubernetes Engine czy gdziekolwiek indziej.
|
* Możliwość przenoszenia pomiędzy systemami operacyjnymi i platformami chmurowymi: Ubuntu, RHEL, CoreOS, prywatnymi centrami danych, największymi dostawcami usług chmurowych czy gdziekolwiek indziej.
|
||||||
* Zarządzanie, które w centrum uwagi ma aplikacje: Poziom abstrakcji przeniesiony jest z warstwy systemu operacyjnego działającego na maszynie wirtualnej na poziom działania aplikacji, która działa na systemie operacyjnym używając zasobów logicznych.
|
* Zarządzanie, które w centrum uwagi ma aplikacje: Poziom abstrakcji przeniesiony jest z warstwy systemu operacyjnego działającego na maszynie wirtualnej na poziom działania aplikacji, która działa na systemie operacyjnym używając zasobów logicznych.
|
||||||
* Luźno powiązane, rozproszone i elastyczne "swobodne" mikro serwisy: Aplikacje podzielone są na mniejsze, niezależne komponenty, które mogą być dynamicznie uruchamiane i zarządzane - nie jest to monolityczny system działający na jednej, dużej maszynie dedykowanej na wyłączność.
|
* Luźno powiązane, rozproszone i elastyczne "swobodne" mikro serwisy: Aplikacje podzielone są na mniejsze, niezależne komponenty, które mogą być dynamicznie uruchamiane i zarządzane - nie jest to monolityczny system działający na jednej, dużej maszynie dedykowanej na wyłączność.
|
||||||
* Izolacja zasobów: wydajność aplikacji możliwa do przewidzenia
|
* Izolacja zasobów: wydajność aplikacji możliwa do przewidzenia
|
||||||
|
|
|
@ -14,6 +14,8 @@ menu:
|
||||||
weight: 20
|
weight: 20
|
||||||
post: >
|
post: >
|
||||||
<p>Naucz się, jak korzystać z Kubernetesa z pomocą dokumentacji, która opisuje pojęcia, zawiera samouczki i informacje źródłowe. Możesz także <a href="/editdocs/" data-auto-burger-exclude>pomóc w jej tworzeniu</a>!</p>
|
<p>Naucz się, jak korzystać z Kubernetesa z pomocą dokumentacji, która opisuje pojęcia, zawiera samouczki i informacje źródłowe. Możesz także <a href="/editdocs/" data-auto-burger-exclude>pomóc w jej tworzeniu</a>!</p>
|
||||||
|
description: >
|
||||||
|
Kubernetes to otwarte oprogramowanie służące do automatyzacji procesów uruchamiania, skalowania i zarządzania aplikacjami w kontenerach. Gospodarzem tego projektu o otwartym kodzie źródłowym jest Cloud Native Computing Foundation.
|
||||||
overview: >
|
overview: >
|
||||||
Kubernetes to otwarte oprogramowanie służące do automatyzacji procesów uruchamiania, skalowania i zarządzania aplikacjami w kontenerach. Gospodarzem tego projektu o otwartym kodzie źródłowym jest Cloud Native Computing Foundation (<a href="https://www.cncf.io/about">CNCF</a>).
|
Kubernetes to otwarte oprogramowanie służące do automatyzacji procesów uruchamiania, skalowania i zarządzania aplikacjami w kontenerach. Gospodarzem tego projektu o otwartym kodzie źródłowym jest Cloud Native Computing Foundation (<a href="https://www.cncf.io/about">CNCF</a>).
|
||||||
cards:
|
cards:
|
||||||
|
@ -37,6 +39,11 @@ cards:
|
||||||
description: "Wyszukaj popularne zadania i dowiedz się, jak sobie z nimi efektywnie poradzić."
|
description: "Wyszukaj popularne zadania i dowiedz się, jak sobie z nimi efektywnie poradzić."
|
||||||
button: "Przegląd zadań"
|
button: "Przegląd zadań"
|
||||||
button_path: "/docs/tasks"
|
button_path: "/docs/tasks"
|
||||||
|
- name: training
|
||||||
|
title: "Szkolenia"
|
||||||
|
description: "Uzyskaj certyfikat Kubernetes i spraw, aby Twoje projekty cloud native zakończyły się sukcesem!"
|
||||||
|
button: "Oferta szkoleń"
|
||||||
|
button_path: "/training"
|
||||||
- name: reference
|
- name: reference
|
||||||
title: Dokumentacja źródłowa
|
title: Dokumentacja źródłowa
|
||||||
description: Zapoznaj się z terminologią, składnią poleceń, typami zasobów API i dokumentacją narzędzi instalacyjnych.
|
description: Zapoznaj się z terminologią, składnią poleceń, typami zasobów API i dokumentacją narzędzi instalacyjnych.
|
||||||
|
|
|
@ -4,7 +4,8 @@ id: cluster
|
||||||
date: 2019-06-15
|
date: 2019-06-15
|
||||||
full_link:
|
full_link:
|
||||||
short_description: >
|
short_description: >
|
||||||
Zestaw maszyn roboczych, nazywanych węzłami, na których uruchamiane są aplikacje w kontenerach. Każdy klaster musi posiadać przynajmniej jeden węzeł.
|
Zestaw maszyn roboczych, nazywanych {{< glossary_tooltip text="węzłami" term_id="node" >}}, na których uruchamiane są aplikacje w kontenerach.
|
||||||
|
Każdy klaster musi posiadać przynajmniej jeden węzeł.
|
||||||
|
|
||||||
aka:
|
aka:
|
||||||
tags:
|
tags:
|
||||||
|
@ -14,4 +15,9 @@ tags:
|
||||||
Zestaw maszyn roboczych, nazywanych węzłami, na których uruchamiane są aplikacje w kontenerach. Każdy klaster musi posiadać przynajmniej jeden węzeł.
|
Zestaw maszyn roboczych, nazywanych węzłami, na których uruchamiane są aplikacje w kontenerach. Każdy klaster musi posiadać przynajmniej jeden węzeł.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
Na węźle (lub węzłach) roboczych rozmieszczane są pody, które są częściami składowymi aplikacji. Warstwa sterowania zarządza węzłami roboczymi i podami należącymi do klastra. W środowisku produkcyjnym warstwa sterowania rozłożona jest zazwyczaj na kilka maszyn, a klaster uruchomiony jest na wielu węzłach zapewniając większą niezawodność i odporność na awarie.
|
Na węźle (lub węzłach) roboczych rozmieszczane są {{< glossary_tooltip text="pody" term_id="pod" >}},
|
||||||
|
które są częściami składowymi aplikacji.
|
||||||
|
{{< glossary_tooltip text="Warstwa sterowania" term_id="control-plane" >}} zarządza
|
||||||
|
węzłami roboczymi i podami należącymi do klastra. W środowisku produkcyjnym warstwa sterowania
|
||||||
|
rozłożona jest zazwyczaj na kilka maszyn, a klaster uruchomiony jest na wielu węzłach zapewniając
|
||||||
|
większą niezawodność i odporność na awarie.
|
||||||
|
|
|
@ -11,13 +11,17 @@ tags:
|
||||||
- fundamental
|
- fundamental
|
||||||
- networking
|
- networking
|
||||||
---
|
---
|
||||||
[kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) to *proxy* sieciowe, które uruchomione jest na każdym węźle klastra
|
kube-proxy to *proxy* sieciowe, które uruchomione jest na każdym
|
||||||
i uczestniczy w tworzeniu {{< glossary_tooltip term_id="service">}}.
|
{{< glossary_tooltip text="węźle" term_id="node" >}} klastra
|
||||||
|
i uczestniczy w tworzeniu
|
||||||
|
{{< glossary_tooltip text="serwisu" term_id="service">}}.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
kube-proxy utrzymuje reguły sieciowe na węźle. Dzięki tym regułom
|
[kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/)
|
||||||
sieci na zewnątrz i wewnątrz klastra mogą komunikować się z Podami.
|
utrzymuje reguły sieciowe na węźle. Dzięki tym regułom
|
||||||
|
sieci na zewnątrz i wewnątrz klastra mogą komunikować się
|
||||||
|
z podami.
|
||||||
|
|
||||||
kube-proxy używa warstwy filtrowania pakietów dostarczanych przez system operacyjny, o ile taka jest dostępna.
|
kube-proxy używa warstwy filtrowania pakietów dostarczanych przez system operacyjny, o ile taka jest dostępna.
|
||||||
W przeciwnym przypadku, kube-proxy samo zajmuje sie przekazywaniem ruchu sieciowego.
|
W przeciwnym przypadku, kube-proxy samo zajmuje sie przekazywaniem ruchu sieciowego.
|
||||||
|
|
|
@ -10,8 +10,13 @@ aka:
|
||||||
tags:
|
tags:
|
||||||
- architecture
|
- architecture
|
||||||
---
|
---
|
||||||
Składnik warstwy sterowania, który śledzi tworzenie nowych podów i przypisuje im węzły, na których powinny zostać uruchomione.
|
Składnik warstwy sterowania, który śledzi tworzenie nowych
|
||||||
|
{{< glossary_tooltip term_id="pod" text="podów" >}} i przypisuje im {{< glossary_tooltip term_id="node" text="węzły">}},
|
||||||
|
na których powinny zostać uruchomione.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
Przy podejmowaniu decyzji o wyborze węzła brane pod uwagę są wymagania indywidualne i zbiorcze odnośnie zasobów, ograniczenia wynikające z polityk sprzętu i oprogramowania, wymagania *affinity* i *anty-affinity*, lokalizacja danych, zależności między zadaniami i wymagania czasowe.
|
Przy podejmowaniu decyzji o wyborze węzła brane pod uwagę są wymagania
|
||||||
|
indywidualne i zbiorcze odnośnie zasobów, ograniczenia wynikające z polityk
|
||||||
|
sprzętu i oprogramowania, wymagania *affinity* i *anty-affinity*, lokalizacja danych,
|
||||||
|
zależności między zadaniami i wymagania czasowe.
|
||||||
|
|
|
@ -11,7 +11,7 @@ tags:
|
||||||
- fundamental
|
- fundamental
|
||||||
- core-object
|
- core-object
|
||||||
---
|
---
|
||||||
Agent, który działa na każdym węźle klastra. Odpowiada za uruchamianie kontenerów w ramach poda.
|
Agent, który działa na każdym {{< glossary_tooltip text="węźle" term_id="node" >}} klastra. Odpowiada za uruchamianie {{< glossary_tooltip text="kontenerów" term_id="container" >}} w ramach {{< glossary_tooltip text="poda" term_id="pod" >}}.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
|
|
|
@ -48,62 +48,6 @@ Aby uruchomić klaster Kubernetes do nauki na lokalnym komputerze, skorzystaj z
|
||||||
|
|
||||||
Wybierając rozwiązanie dla środowiska produkcyjnego musisz zdecydować, którymi poziomami zarządzania klastrem (_abstrakcjami_) chcesz zajmować się sam, a które będą realizowane po stronie zewnętrznego operatora.
|
Wybierając rozwiązanie dla środowiska produkcyjnego musisz zdecydować, którymi poziomami zarządzania klastrem (_abstrakcjami_) chcesz zajmować się sam, a które będą realizowane po stronie zewnętrznego operatora.
|
||||||
|
|
||||||
Przykładowe poziomy abstrakcji klastra Kubernetesa to: {{< glossary_tooltip text="aplikacje" term_id="applications" >}}, {{< glossary_tooltip text="warstwa danych" term_id="data-plane" >}}, {{< glossary_tooltip text="warstwa sterowania" term_id="control-plane" >}}, {{< glossary_tooltip text="infrastruktura klastra" term_id="cluster-infrastructure" >}} i {{< glossary_tooltip text="operacje na klastrze" term_id="cluster-operations" >}}.
|
Aby zapoznać się z listą dostawców posiadających [certyfikację Kubernetes](https://github.com/cncf/k8s-conformance/#certified-kubernetes), odwiedź stronę "[Partnerzy](https://kubernetes.io/partners/#conformance)".
|
||||||
|
|
||||||
Poniższy schemat pokazuje poszczególne poziomy abstrakcji klastra Kubernetes oraz informacje, kto jest za nie odpowiedzialny (sam użytkownik czy zewnętrzny operator).
|
|
||||||
|
|
||||||
Rozwiązania dla środowisk produkcyjnych
|
|
||||||
|
|
||||||
{{< table caption="Tabela z dostawcami i rozwiązaniami dla środowisk produkcyjnych." >}}
|
|
||||||
Poniższa tabela zawiera przegląd dostawców środowisk produkcyjnych i rozwiązań, które oferują.
|
|
||||||
|
|
||||||
|Dostawca | Zarządzana | Chmura "pod klucz" | Prywatne centrum danych | Własne (w chmurze) | Własne (VM lokalne)| Własne (Bare Metal) |
|
|
||||||
| --------- | ------ | ------ | ------ | ------ | ------ | ----- |
|
|
||||||
| [Agile Stacks](https://www.agilestacks.com/products/kubernetes)| | ✔ | ✔ | | |
|
|
||||||
| [Alibaba Cloud](https://www.alibabacloud.com/product/kubernetes)| | ✔ | | | |
|
|
||||||
| [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/) | ✔ | | | | |
|
|
||||||
| [APPUiO](https://appuio.ch/) | ✔ | ✔ | ✔ | | | |
|
|
||||||
| [Banzai Cloud Pipeline Kubernetes Engine (PKE)](https://banzaicloud.com/products/pke/) | | ✔ | | ✔ | ✔ | ✔ |
|
|
||||||
| [CenturyLink Cloud](https://www.ctl.io/) | | ✔ | | | |
|
|
||||||
| [Cisco Container Platform](https://cisco.com/go/containers) | | | ✔ | | |
|
|
||||||
| [Cloud Foundry Container Runtime (CFCR)](https://docs-cfcr.cfapps.io/) | | | | ✔ |✔ |
|
|
||||||
| [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/) | | | ✔ | | |
|
|
||||||
| [NetApp Kubernetes Service (NKS)](https://cloud.netapp.com/kubernetes-service) | ✔ | ✔ | ✔ | | |
|
|
||||||
| [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/) i [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/)
|
|
||||||
| [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 %}}
|
||||||
|
|
|
@ -77,7 +77,7 @@ weight: 10
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="content__box content__box_fill">
|
<div class="content__box content__box_fill">
|
||||||
<p><i>Węzły typu master zarządzają klastrem, pozostałe węzły są wykorzystywane do uruchamiania na nich aplikacji. </i></p>
|
<p><i>Węzły typu master zarządzają klastrem i węzłami wykorzystywanymi do uruchamiania aplikacji. </i></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -17,7 +17,7 @@ weight: 40
|
||||||
|
|
||||||
Чтобы работать с Kubernetes, вы используете *объекты API Kubernetes* для описания *желаемого состояния вашего кластера*: какие приложения или другие рабочие нагрузки вы хотите запустить, какие образы контейнеров они используют, количество реплик, какие сетевые и дисковые ресурсы вы хотите использовать и сделать доступными и многое другое. Вы устанавливаете желаемое состояние, создавая объекты с помощью API Kubernetes, обычно через интерфейс командной строки `kubectl`. Вы также можете напрямую использовать API Kubernetes для взаимодействия с кластером и установки или изменения желаемого состояния.
|
Чтобы работать с Kubernetes, вы используете *объекты API Kubernetes* для описания *желаемого состояния вашего кластера*: какие приложения или другие рабочие нагрузки вы хотите запустить, какие образы контейнеров они используют, количество реплик, какие сетевые и дисковые ресурсы вы хотите использовать и сделать доступными и многое другое. Вы устанавливаете желаемое состояние, создавая объекты с помощью API Kubernetes, обычно через интерфейс командной строки `kubectl`. Вы также можете напрямую использовать API Kubernetes для взаимодействия с кластером и установки или изменения желаемого состояния.
|
||||||
|
|
||||||
После того, как вы установили желаемое состояние, *Панель управления Kubernetes* заставляет текущее состояние кластера соответствовать желаемому состоянию с помощью генератора событий жизненного цикла подов ([Pod Lifecycle Event Generator, PLEG](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/pod-lifecycle-event-generator.md)). Для этого Kubernetes автоматически выполняет множество задач, таких как запуск или перезапуск контейнеров, масштабирование количества реплик данного приложения и многое другое. Плоскость управления Kubernetes состоит из набора процессов, запущенных в вашем кластере:
|
После того, как вы установили желаемое состояние, *Плоскость управления Kubernetes* заставляет текущее состояние кластера соответствовать желаемому состоянию с помощью генератора событий жизненного цикла подов ([Pod Lifecycle Event Generator, PLEG](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/pod-lifecycle-event-generator.md)). Для этого Kubernetes автоматически выполняет множество задач, таких как запуск или перезапуск контейнеров, масштабирование количества реплик данного приложения и многое другое. Плоскость управления Kubernetes состоит из набора процессов, запущенных в вашем кластере:
|
||||||
|
|
||||||
* **Мастер Kubernetes** — это коллекция из трех процессов, которые выполняются на одном узле в вашем кластере, который обозначен как главный узел. Это процессы: [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) и [kube-scheduler](/docs/admin/kube-scheduler/).
|
* **Мастер Kubernetes** — это коллекция из трех процессов, которые выполняются на одном узле в вашем кластере, который обозначен как главный узел. Это процессы: [kube-apiserver](/docs/admin/kube-apiserver/), [kube-controller-manager](/docs/admin/kube-controller-manager/) и [kube-scheduler](/docs/admin/kube-scheduler/).
|
||||||
* Каждый отдельный неосновной узел в вашем кластере выполняет два процесса:
|
* Каждый отдельный неосновной узел в вашем кластере выполняет два процесса:
|
||||||
|
@ -43,11 +43,11 @@ Kubernetes также содержит абстракции более высо
|
||||||
* [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
|
* [ReplicaSet](/docs/concepts/workloads/controllers/replicaset/)
|
||||||
* [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)
|
* [Job](/docs/concepts/workloads/controllers/jobs-run-to-completion/)
|
||||||
|
|
||||||
## Панель управления Kubernetes
|
## Плоскость управления Kubernetes
|
||||||
|
|
||||||
Различные части панели управления Kubernetes, такие как мастер Kubernetes и процессы kubelet, определяют, как Kubernetes взаимодействует с кластером. Панель управления поддерживает запись всех объектов Kubernetes в системе и запускает непрерывные циклы управления для обработки состояния этих объектов. В любое время циклы управления панели управления будут реагировать на изменения в кластере и работать, чтобы фактическое состояние всех объектов в системе соответствовало желаемому состоянию, которое вы указали.
|
Различные части панели управления Kubernetes, такие как мастер Kubernetes и процессы kubelet, определяют, как Kubernetes взаимодействует с кластером. Плоскость управления поддерживает запись всех объектов Kubernetes в системе и запускает непрерывные циклы управления для обработки состояния этих объектов. В любое время циклы управления панели управления будут реагировать на изменения в кластере и работать, чтобы фактическое состояние всех объектов в системе соответствовало желаемому состоянию, которое вы указали.
|
||||||
|
|
||||||
Например, когда вы используете API Kubernetes для создания развертывания, вы предоставляете новое желаемое состояние для системы. Панель управления Kubernetes записывает создание этого объекта и выполняет ваши инструкции, запуская необходимые приложения и планируя их на узлы кластера, чтобы фактическое состояние кластера соответствовало желаемому состоянию.
|
Например, когда вы используете API Kubernetes для создания развертывания, вы предоставляете новое желаемое состояние для системы. Плоскость управления Kubernetes записывает создание этого объекта и выполняет ваши инструкции, запуская необходимые приложения и планируя их на узлы кластера, чтобы фактическое состояние кластера соответствовало желаемому состоянию.
|
||||||
|
|
||||||
### Мастер Kubernetes
|
### Мастер Kubernetes
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ card:
|
||||||
|
|
||||||
{{% capture body %}}
|
{{% capture body %}}
|
||||||
|
|
||||||
## Панель управления компонентами
|
## Плоскость управления компонентами
|
||||||
|
|
||||||
Компоненты панели управления отвечают за основные операции кластера (например, планирование), а также обрабатывают события кластера (например, запускают новый {{< glossary_tooltip text="под" term_id="pod">}}, когда поле `replicas` развертывания не соответствует требуемому количеству реплик).
|
Компоненты панели управления отвечают за основные операции кластера (например, планирование), а также обрабатывают события кластера (например, запускают новый {{< glossary_tooltip text="под" term_id="pod">}}, когда поле `replicas` развертывания не соответствует требуемому количеству реплик).
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ PodList — это список Pod. | Pod List — это список подо
|
||||||
Можно | Нельзя
|
Можно | Нельзя
|
||||||
:--| :-----
|
:--| :-----
|
||||||
_Кластер_ — это набор узлов ... | "Кластер" — это набор узлов ...
|
_Кластер_ — это набор узлов ... | "Кластер" — это набор узлов ...
|
||||||
Эти компоненты формируют _панель управления_. | Эти компоненты формируют **панель управления**.
|
Эти компоненты формируют _плоскость управления_. | Эти компоненты формируют **плоскость управления**.
|
||||||
{{< /table >}}
|
{{< /table >}}
|
||||||
|
|
||||||
### Оформляйте как код имена файлов, директории и пути
|
### Оформляйте как код имена файлов, директории и пути
|
||||||
|
|
|
@ -14,4 +14,4 @@ tags:
|
||||||
Набор машин, так называемые узлы, которые запускают контейнеризированные приложения. Кластер имеет как минимум один рабочий узел.
|
Набор машин, так называемые узлы, которые запускают контейнеризированные приложения. Кластер имеет как минимум один рабочий узел.
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
В рабочих узлах размещены поды, являющиеся компонентами приложения. Панель управления управляет рабочими узлами и подами в кластере. В промышленных средах панель управления обычно запускается на нескольких компьютерах, а кластер, как правило, развёртывается на нескольких узлах, гарантируя отказоустойчивость и высокую надёжность.
|
В рабочих узлах размещены поды, являющиеся компонентами приложения. Плоскость управления управляет рабочими узлами и подами в кластере. В промышленных средах плоскость управления обычно запускается на нескольких компьютерах, а кластер, как правило, развёртывается на нескольких узлах, гарантируя отказоустойчивость и высокую надёжность.
|
||||||
|
|
|
@ -14,4 +14,4 @@ tags:
|
||||||
|
|
||||||
<!--more-->
|
<!--more-->
|
||||||
|
|
||||||
Рабочий узел может быть как виртуальной, так и физической машиной, в зависимости от кластера. У него есть локальные демоны или сервисы, необходимые для запуска {{< glossary_tooltip text="подов" term_id="pod" >}}, а сам он управляется панелью управления. Демоны на узле включают в себя {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}, {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} и среду выполнения контейнера, основанную на {{< glossary_tooltip text="CRI" term_id="cri" >}}, например {{< glossary_tooltip term_id="docker" >}}.
|
Рабочий узел может быть как виртуальной, так и физической машиной, в зависимости от кластера. У него есть локальные демоны или сервисы, необходимые для запуска {{< glossary_tooltip text="подов" term_id="pod" >}}, а сам он управляется плоскостью управления. Демоны на узле включают в себя {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}, {{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}} и среду выполнения контейнера, основанную на {{< glossary_tooltip text="CRI" term_id="cri" >}}, например {{< glossary_tooltip term_id="docker" >}}.
|
||||||
|
|
|
@ -386,7 +386,7 @@ kubectl config use-context minikube
|
||||||
|
|
||||||
### Панель управления
|
### Панель управления
|
||||||
|
|
||||||
Чтобы получить доступ к [панели управления Kubernetes](/docs/tasks/access-application-cluster/web-ui-dashboard/), запустите эту команду в командной оболочке после запуска Minikube, чтобы получить адрес:
|
Чтобы получить доступ к [веб-панели управления Kubernetes](/docs/tasks/access-application-cluster/web-ui-dashboard/), запустите эту команду в командной оболочке после запуска Minikube, чтобы получить адрес:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
minikube dashboard
|
minikube dashboard
|
||||||
|
|
|
@ -55,7 +55,7 @@ Katacoda предоставляет бесплатную, встроенную
|
||||||
|
|
||||||
{{< note >}}Если у вас локально установлен Minikube, выполните `minikube start`.{{< /note >}}
|
{{< note >}}Если у вас локально установлен Minikube, выполните `minikube start`.{{< /note >}}
|
||||||
|
|
||||||
2. Откройте панель Kubernetes в браузере:
|
2. Откройте веб-панель Kubernetes в браузере:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
minikube dashboard
|
minikube dashboard
|
||||||
|
|
|
@ -14,6 +14,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.8
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -14,6 +14,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.8 # Update the version of nginx from 1.7.9 to 1.8
|
image: nginx:1.16.1 # Update the version of nginx from 1.14.2 to 1.16.1
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -14,6 +14,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.7.9
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -20,7 +20,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: slave
|
- name: slave
|
||||||
image: gcr.io/google_samples/gb-redisslave:v1
|
image: gcr.io/google_samples/gb-redisslave:v3
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
cpu: 100m
|
cpu: 100m
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: PersistentVolume
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
metadata:
|
metadata:
|
||||||
name: mysql-pv-volume
|
name: mysql-pv-volume
|
||||||
labels:
|
labels:
|
||||||
|
|
|
@ -106,16 +106,16 @@ spec:
|
||||||
cd /var/lib/mysql
|
cd /var/lib/mysql
|
||||||
|
|
||||||
# Determine binlog position of cloned data, if any.
|
# Determine binlog position of cloned data, if any.
|
||||||
if [[ -f xtrabackup_slave_info ]]; then
|
if [[ -f xtrabackup_slave_info && "x$(<xtrabackup_slave_info)" != "x" ]]; then
|
||||||
# XtraBackup already generated a partial "CHANGE MASTER TO" query
|
# XtraBackup already generated a partial "CHANGE MASTER TO" query
|
||||||
# because we're cloning from an existing slave.
|
# because we're cloning from an existing slave. (Need to remove the tailing semicolon!)
|
||||||
mv xtrabackup_slave_info change_master_to.sql.in
|
cat xtrabackup_slave_info | sed -E 's/;$//g' > change_master_to.sql.in
|
||||||
# Ignore xtrabackup_binlog_info in this case (it's useless).
|
# Ignore xtrabackup_binlog_info in this case (it's useless).
|
||||||
rm -f xtrabackup_binlog_info
|
rm -f xtrabackup_slave_info xtrabackup_binlog_info
|
||||||
elif [[ -f xtrabackup_binlog_info ]]; then
|
elif [[ -f xtrabackup_binlog_info ]]; then
|
||||||
# We're cloning directly from master. Parse binlog position.
|
# We're cloning directly from master. Parse binlog position.
|
||||||
[[ `cat xtrabackup_binlog_info` =~ ^(.*?)[[:space:]]+(.*?)$ ]] || exit 1
|
[[ `cat xtrabackup_binlog_info` =~ ^(.*?)[[:space:]]+(.*?)$ ]] || exit 1
|
||||||
rm xtrabackup_binlog_info
|
rm -f xtrabackup_binlog_info xtrabackup_slave_info
|
||||||
echo "CHANGE MASTER TO MASTER_LOG_FILE='${BASH_REMATCH[1]}',\
|
echo "CHANGE MASTER TO MASTER_LOG_FILE='${BASH_REMATCH[1]}',\
|
||||||
MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
|
MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
|
||||||
fi
|
fi
|
||||||
|
@ -126,16 +126,15 @@ spec:
|
||||||
until mysql -h 127.0.0.1 -e "SELECT 1"; do sleep 1; done
|
until mysql -h 127.0.0.1 -e "SELECT 1"; do sleep 1; done
|
||||||
|
|
||||||
echo "Initializing replication from clone position"
|
echo "Initializing replication from clone position"
|
||||||
|
mysql -h 127.0.0.1 \
|
||||||
|
-e "$(<change_master_to.sql.in), \
|
||||||
|
MASTER_HOST='mysql-0.mysql', \
|
||||||
|
MASTER_USER='root', \
|
||||||
|
MASTER_PASSWORD='', \
|
||||||
|
MASTER_CONNECT_RETRY=10; \
|
||||||
|
START SLAVE;" || exit 1
|
||||||
# In case of container restart, attempt this at-most-once.
|
# In case of container restart, attempt this at-most-once.
|
||||||
mv change_master_to.sql.in change_master_to.sql.orig
|
mv change_master_to.sql.in change_master_to.sql.orig
|
||||||
mysql -h 127.0.0.1 <<EOF
|
|
||||||
$(<change_master_to.sql.orig),
|
|
||||||
MASTER_HOST='mysql-0.mysql',
|
|
||||||
MASTER_USER='root',
|
|
||||||
MASTER_PASSWORD='',
|
|
||||||
MASTER_CONNECT_RETRY=10;
|
|
||||||
START SLAVE;
|
|
||||||
EOF
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start a server to send backups when requested by peers.
|
# Start a server to send backups when requested by peers.
|
||||||
|
|
|
@ -29,6 +29,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.7.9
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -14,6 +14,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.7.9
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -12,3 +12,5 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: shared-data
|
- name: shared-data
|
||||||
mountPath: /usr/share/nginx/html
|
mountPath: /usr/share/nginx/html
|
||||||
|
hostNetwork: true
|
||||||
|
dnsPolicy: Default
|
||||||
|
|
|
@ -14,6 +14,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.7.9
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -13,6 +13,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.11.9 # update the image
|
image: nginx:1.16.1 # update the image
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -49,7 +49,7 @@ spec:
|
||||||
replicas: 3
|
replicas: 3
|
||||||
updateStrategy:
|
updateStrategy:
|
||||||
type: RollingUpdate
|
type: RollingUpdate
|
||||||
podManagementPolicy: Parallel
|
podManagementPolicy: OrderedReady
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
apiVersion: audit.k8s.io/v1beta1 # This is required.
|
apiVersion: audit.k8s.io/v1 # This is required.
|
||||||
kind: Policy
|
kind: Policy
|
||||||
# Don't generate audit events for all requests in RequestReceived stage.
|
# Don't generate audit events for all requests in RequestReceived stage.
|
||||||
omitStages:
|
omitStages:
|
||||||
|
|
|
@ -15,6 +15,8 @@ spec:
|
||||||
name: fluentd-elasticsearch
|
name: fluentd-elasticsearch
|
||||||
spec:
|
spec:
|
||||||
tolerations:
|
tolerations:
|
||||||
|
# this toleration is to have the daemonset runnable on master nodes
|
||||||
|
# remove it if your masters can't run pods
|
||||||
- key: node-role.kubernetes.io/master
|
- key: node-role.kubernetes.io/master
|
||||||
effect: NoSchedule
|
effect: NoSchedule
|
||||||
containers:
|
containers:
|
||||||
|
|
|
@ -11,28 +11,11 @@ spec:
|
||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
tier: frontend
|
tier: frontend
|
||||||
matchExpressions:
|
|
||||||
- {key: tier, operator: In, values: [frontend]}
|
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: guestbook
|
|
||||||
tier: frontend
|
tier: frontend
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: php-redis
|
- name: php-redis
|
||||||
image: gcr.io/google_samples/gb-frontend:v3
|
image: gcr.io/google_samples/gb-frontend:v3
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 100m
|
|
||||||
memory: 100Mi
|
|
||||||
env:
|
|
||||||
- name: GET_HOSTS_FROM
|
|
||||||
value: dns
|
|
||||||
# If your cluster config does not include a dns service, then to
|
|
||||||
# instead access environment variables to find service host
|
|
||||||
# info, comment out the 'value: dns' line above, and uncomment the
|
|
||||||
# line below.
|
|
||||||
# value: env
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
|
|
|
@ -16,6 +16,6 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.15.4
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: ConfigMap
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
data:
|
data:
|
||||||
containers.input.conf: |-
|
containers.input.conf: |-
|
||||||
# This configuration file for Fluentd is used
|
# This configuration file for Fluentd is used
|
||||||
|
|
|
@ -14,9 +14,6 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /cache
|
- mountPath: /cache
|
||||||
name: cache-volume
|
name: cache-volume
|
||||||
- mountPath: /etc/app/config.json
|
|
||||||
readOnly: true
|
|
||||||
name: secret-volume
|
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
env:
|
env:
|
||||||
|
@ -32,6 +29,3 @@ spec:
|
||||||
volumes:
|
volumes:
|
||||||
- name: cache-volume
|
- name: cache-volume
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
- name: secret-volume
|
|
||||||
secret:
|
|
||||||
secretName: config-details
|
|
||||||
|
|
|
@ -19,12 +19,6 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /cache
|
- mountPath: /cache
|
||||||
name: cache-volume
|
name: cache-volume
|
||||||
- mountPath: /etc/app/config.json
|
|
||||||
readOnly: true
|
|
||||||
name: secret-volume
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: cache-volume
|
- name: cache-volume
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
- name: secret-volume
|
|
||||||
secret:
|
|
||||||
secretName: config-details
|
|
||||||
|
|
|
@ -5,7 +5,10 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: redis
|
- name: redis
|
||||||
image: kubernetes/redis:v1
|
image: redis:5.0.4
|
||||||
|
command:
|
||||||
|
- redis-server
|
||||||
|
- "/redis-master/redis.conf"
|
||||||
env:
|
env:
|
||||||
- name: MASTER
|
- name: MASTER
|
||||||
value: "true"
|
value: "true"
|
||||||
|
|
|
@ -30,7 +30,6 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: podinfo
|
- name: podinfo
|
||||||
mountPath: /etc/podinfo
|
mountPath: /etc/podinfo
|
||||||
readOnly: false
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: podinfo
|
- name: podinfo
|
||||||
downwardAPI:
|
downwardAPI:
|
||||||
|
|
|
@ -25,7 +25,6 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: podinfo
|
- name: podinfo
|
||||||
mountPath: /etc/podinfo
|
mountPath: /etc/podinfo
|
||||||
readOnly: false
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: podinfo
|
- name: podinfo
|
||||||
downwardAPI:
|
downwardAPI:
|
||||||
|
|
|
@ -3,5 +3,5 @@ kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
name: test-secret
|
name: test-secret
|
||||||
data:
|
data:
|
||||||
username: bXktYXBwCg==
|
username: bXktYXBw
|
||||||
password: Mzk1MjgkdmRnN0piCg==
|
password: Mzk1MjgkdmRnN0pi
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: Pod
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
metadata:
|
metadata:
|
||||||
name: nginx
|
name: nginx
|
||||||
spec:
|
spec:
|
||||||
|
@ -9,7 +9,7 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /var/run/secrets/tokens
|
- mountPath: /var/run/secrets/tokens
|
||||||
name: vault-token
|
name: vault-token
|
||||||
serviceAccountName: acct
|
serviceAccountName: build-robot
|
||||||
volumes:
|
volumes:
|
||||||
- name: vault-token
|
- name: vault-token
|
||||||
projected:
|
projected:
|
||||||
|
|
|
@ -15,7 +15,7 @@ spec:
|
||||||
path: /healthz
|
path: /healthz
|
||||||
port: 8080
|
port: 8080
|
||||||
httpHeaders:
|
httpHeaders:
|
||||||
- name: X-Custom-Header
|
- name: Custom-Header
|
||||||
value: Awesome
|
value: Awesome
|
||||||
initialDelaySeconds: 3
|
initialDelaySeconds: 3
|
||||||
periodSeconds: 3
|
periodSeconds: 3
|
||||||
|
|
|
@ -5,13 +5,15 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: 1000
|
runAsUser: 1000
|
||||||
|
runAsGroup: 3000
|
||||||
fsGroup: 2000
|
fsGroup: 2000
|
||||||
volumes:
|
volumes:
|
||||||
- name: sec-ctx-vol
|
- name: sec-ctx-vol
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
containers:
|
containers:
|
||||||
- name: sec-ctx-demo
|
- name: sec-ctx-demo
|
||||||
image: gcr.io/google-samples/node-hello:1.0
|
image: busybox
|
||||||
|
command: [ "sh", "-c", "sleep 1h" ]
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: sec-ctx-vol
|
- name: sec-ctx-vol
|
||||||
mountPath: /data/demo
|
mountPath: /data/demo
|
||||||
|
|
|
@ -5,6 +5,6 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: nginx
|
- name: nginx
|
||||||
image: nginx:1.7.9
|
image: nginx:1.14.2
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: task-pv-claim
|
name: task-pv-claim
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: Pod
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: Pod
|
||||||
metadata:
|
metadata:
|
||||||
name: task-pv-pod
|
name: task-pv-pod
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: PersistentVolume
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
metadata:
|
metadata:
|
||||||
name: task-pv-volume
|
name: task-pv-volume
|
||||||
labels:
|
labels:
|
||||||
|
|
|
@ -3,9 +3,9 @@ kind: PodSecurityPolicy
|
||||||
metadata:
|
metadata:
|
||||||
name: restricted
|
name: restricted
|
||||||
annotations:
|
annotations:
|
||||||
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default'
|
seccomp.security.alpha.kubernetes.io/allowedProfileNames: 'docker/default,runtime/default'
|
||||||
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default'
|
apparmor.security.beta.kubernetes.io/allowedProfileNames: 'runtime/default'
|
||||||
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'docker/default'
|
seccomp.security.alpha.kubernetes.io/defaultProfileName: 'runtime/default'
|
||||||
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
|
apparmor.security.beta.kubernetes.io/defaultProfileName: 'runtime/default'
|
||||||
spec:
|
spec:
|
||||||
privileged: false
|
privileged: false
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
metadata:
|
metadata:
|
||||||
name: hello
|
name: hello
|
||||||
spec:
|
spec:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: networking.k8s.io/v1beta1
|
||||||
kind: Ingress
|
kind: Ingress
|
||||||
metadata:
|
metadata:
|
||||||
name: test-ingress
|
name: test-ingress
|
||||||
|
|
|
@ -35,6 +35,9 @@ spec:
|
||||||
- name: secret-volume
|
- name: secret-volume
|
||||||
secret:
|
secret:
|
||||||
secretName: nginxsecret
|
secretName: nginxsecret
|
||||||
|
- name: configmap-volume
|
||||||
|
configMap:
|
||||||
|
name: nginxconfigmap
|
||||||
containers:
|
containers:
|
||||||
- name: nginxhttps
|
- name: nginxhttps
|
||||||
image: bprashanth/nginxhttps:1.0
|
image: bprashanth/nginxhttps:1.0
|
||||||
|
@ -44,3 +47,5 @@ spec:
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /etc/nginx/ssl
|
- mountPath: /etc/nginx/ssl
|
||||||
name: secret-volume
|
name: secret-volume
|
||||||
|
- mountPath: /etc/nginx/conf.d
|
||||||
|
name: configmap-volume
|
||||||
|
|
|
@ -14,4 +14,4 @@ spec:
|
||||||
windowsOptions:
|
windowsOptions:
|
||||||
runAsUserName: "ContainerAdministrator"
|
runAsUserName: "ContainerAdministrator"
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
beta.kubernetes.io/os: windows
|
kubernetes.io/os: windows
|
||||||
|
|
|
@ -11,4 +11,4 @@ spec:
|
||||||
image: mcr.microsoft.com/windows/servercore:ltsc2019
|
image: mcr.microsoft.com/windows/servercore:ltsc2019
|
||||||
command: ["ping", "-t", "localhost"]
|
command: ["ping", "-t", "localhost"]
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
beta.kubernetes.io/os: windows
|
kubernetes.io/os: windows
|
||||||
|
|
|
@ -186,3 +186,6 @@ other = "次の項目"
|
||||||
|
|
||||||
[warning]
|
[warning]
|
||||||
other = "警告:"
|
other = "警告:"
|
||||||
|
|
||||||
|
[input_placeholder_email_address]
|
||||||
|
other = "メールアドレス"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
{{- if .Params.deprecated }}
|
{{- if .Params.deprecated }}
|
||||||
<link rel="stylesheet" href="{{ "css/deprecation-warning.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "css/deprecation-warning.css" | relURL }}">
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq .Params.class "gridPage" }}
|
{{- if or (eq .Params.class "gridPage") (eq .Params.class "gridPage gridPageHome") }}
|
||||||
<link rel="stylesheet" href="{{ "css/gridpage.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "css/gridpage.css" | relURL }}">
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq .Params.class "training" }}
|
{{- if eq .Params.class "training" }}
|
||||||
|
|
|
@ -33,12 +33,14 @@ import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
import platform
|
||||||
|
|
||||||
error_msgs = []
|
error_msgs = []
|
||||||
|
|
||||||
# pip should be installed when Python is installed, but just in case...
|
# pip should be installed when Python is installed, but just in case...
|
||||||
if not (shutil.which('pip') or shutil.which('pip3')):
|
if not (shutil.which('pip') or shutil.which('pip3')):
|
||||||
error_msgs.append("Install pip so you can install PyYAML. https://pip.pypa.io/en/stable/installing")
|
error_msgs.append(
|
||||||
|
"Install pip so you can install PyYAML. https://pip.pypa.io/en/stable/installing")
|
||||||
|
|
||||||
reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'])
|
reqs = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'])
|
||||||
installed_packages = [r.decode().split('==')[0] for r in reqs.split()]
|
installed_packages = [r.decode().split('==')[0] for r in reqs.split()]
|
||||||
|
@ -203,7 +205,9 @@ def main():
|
||||||
# create the temp work_dir
|
# create the temp work_dir
|
||||||
try:
|
try:
|
||||||
print("Making temp work_dir")
|
print("Making temp work_dir")
|
||||||
work_dir = tempfile.mkdtemp()
|
work_dir = tempfile.mkdtemp(
|
||||||
|
dir='/tmp' if platform.system() == 'Darwin' else tempfile.gettempdir()
|
||||||
|
)
|
||||||
except OSError as ose:
|
except OSError as ose:
|
||||||
print("[Error] Unable to create temp work_dir {}; error: {}"
|
print("[Error] Unable to create temp work_dir {}; error: {}"
|
||||||
.format(work_dir, ose))
|
.format(work_dir, ose))
|
||||||
|
|
Loading…
Reference in New Issue