This commit is contained in:
parent
065b1cfbea
commit
ab70635e09
119
docs/Other/k8s.md
Normal file
119
docs/Other/k8s.md
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
### YAML Синтаксис
|
||||||
|
|
||||||
|
#### Основные сущности
|
||||||
|
|
||||||
|
- Скалярные значения
|
||||||
|
```yml
|
||||||
|
string_value: hello
|
||||||
|
number_value: 42
|
||||||
|
float_value: 3.14
|
||||||
|
boolean_true: true
|
||||||
|
boolean_false: false
|
||||||
|
```
|
||||||
|
|
||||||
|
- Списки (массивы)
|
||||||
|
```yml
|
||||||
|
servers:
|
||||||
|
- web01
|
||||||
|
- web02
|
||||||
|
- db01
|
||||||
|
```
|
||||||
|
или
|
||||||
|
```yml
|
||||||
|
servers: [web01, web02, db01]
|
||||||
|
```
|
||||||
|
|
||||||
|
- Словари
|
||||||
|
```yml
|
||||||
|
user:
|
||||||
|
name: "ivan"
|
||||||
|
age: 30
|
||||||
|
admin: true
|
||||||
|
```
|
||||||
|
или
|
||||||
|
```yml
|
||||||
|
user: {name: ivan, age: 30, admin: true}
|
||||||
|
```
|
||||||
|
|
||||||
|
- Многострочные строки
|
||||||
|
```yml
|
||||||
|
description: |
|
||||||
|
Это многострочный текст.
|
||||||
|
Он сохраняет переносы строк.
|
||||||
|
Полезно для документации.
|
||||||
|
|
||||||
|
command: >
|
||||||
|
Это тоже многострочный текст,
|
||||||
|
но переносы будут заменены пробелами.
|
||||||
|
```
|
||||||
|
- `|` - сохраняет всё как есть, включая `\n`
|
||||||
|
- `>` - склеивает строки в одну с пробелами
|
||||||
|
|
||||||
|
#### Расширенные возможности
|
||||||
|
|
||||||
|
- Ссылки и якори ($, *)
|
||||||
|
```yml
|
||||||
|
defaults: &default_settings
|
||||||
|
retries: 3
|
||||||
|
timeout: 30
|
||||||
|
|
||||||
|
server1:
|
||||||
|
<<: *default_settings
|
||||||
|
timeout: 10 # переопределено
|
||||||
|
|
||||||
|
server2:
|
||||||
|
<<: *default_settings
|
||||||
|
```
|
||||||
|
|
||||||
|
- Линтер
|
||||||
|
```yml
|
||||||
|
yamllint fine_name.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Разное
|
||||||
|
|
||||||
|
- Null
|
||||||
|
```yml
|
||||||
|
empty1: null
|
||||||
|
empty2: ~
|
||||||
|
empty3:
|
||||||
|
```
|
||||||
|
|
||||||
|
- Boolean
|
||||||
|
```yml
|
||||||
|
bool1: yes # интерпретируется как true
|
||||||
|
bool2: no # false
|
||||||
|
bool3: on # true
|
||||||
|
bool4: off # false
|
||||||
|
```
|
||||||
|
чтобы явно задать строку, необходимо использовать кавычки
|
||||||
|
```yml
|
||||||
|
literal_string: "yes" # не будет true
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### POD
|
||||||
|
|
||||||
|
k8s - кластерная ОС
|
||||||
|
|
||||||
|
POD - одно запущенное приложение в кластере k8s, минимальная абстракция k8s (внутри пода может быть несколько контейнеров, и в поде всегда минимум 2 контейнера: приложение, сетевой неймспейс) (контейнер внутри пода, как отдельный процесс в ОС)
|
||||||
|
|
||||||
|
- `kubectl create -f pod.yml` - создать под согласно конфигу из файла
|
||||||
|
- `kubectl get pod` - список подов
|
||||||
|
- `kubectl describe pod <pod_name>` - описание объекта
|
||||||
|
- `kebectl delete pod <pod_name>` или `kubectl delete -f pod.yml` - удаление пода
|
||||||
|
|
||||||
|
```yml
|
||||||
|
# пример описания пода
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Pod # тип сущности
|
||||||
|
metadata:
|
||||||
|
name: mypod # в рамках одного пространства имён имя уникально
|
||||||
|
spec: # описание объекта
|
||||||
|
containers:
|
||||||
|
- name: nginx
|
||||||
|
image: nginx:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user