Compare commits

...

5 Commits

Author SHA1 Message Date
6407e09f14 refactor k8s note
All checks were successful
Build MkDocs / build-and-deploy (push) Successful in 14s
2025-07-31 10:38:53 +03:00
1ed5412af2 Merge branch 'master' of https://git.mcarov.pro/ilyamak04/wiki 2025-07-31 10:24:45 +03:00
aa0e56c02d add wondows 2025-07-31 10:24:24 +03:00
fd3dbc1e63 add linux notes 2025-07-31 10:02:20 +03:00
8f8d6981e8 add docker command 2025-07-31 10:01:58 +03:00
4 changed files with 155 additions and 94 deletions

View File

@ -9,6 +9,7 @@
- **`docker ps --format "{{.Names}}"`** - только имена контейнеров - **`docker ps --format "{{.Names}}"`** - только имена контейнеров
- `docker ps -s` - показать размеры контейнеров (`-l` - последний запущенный контейнер) - `docker ps -s` - показать размеры контейнеров (`-l` - последний запущенный контейнер)
- `docker logs -f --tail 100 my_app` - смотреть последние 100 строк и дальше в реальном времени
- `docker history <image_name>` - история создания образа (`--no-trunc` - не обрезать вывод) - `docker history <image_name>` - история создания образа (`--no-trunc` - не обрезать вывод)
- `docker volume ls` - список всех Docker томов на хосте - `docker volume ls` - список всех Docker томов на хосте
- `docker volume inspect <volume_name>` - информацию о конкретном docker томе, например, его местоположение, размер и настройки и тп - `docker volume inspect <volume_name>` - информацию о конкретном docker томе, например, его местоположение, размер и настройки и тп

View File

@ -876,99 +876,6 @@ type: CharDevice # Символьное устройство
type: BlockDevice # Блочное устройство type: BlockDevice # Блочное устройство
``` ```
#### downwardAPI
`downwardAPI` позволяет передать метаданные `Pod'а`(например, имя пода, namespace, labels, annotations, ресурсы) в контейнер через переменные окружения или файлы.
- Пример (как том (файлы))
```yaml
volumeMounts:
- mountPath: "/etc/pod-info"
name: pod-info
readOnly: true
volumes:
- name: pod-info
downwardAPI:
items:
- path: limit-cpu-millicores
resourceFieldRef:
containerName: openresty
resource: limits.cpu
divisor: 1m
- path: limit-memory-kibibytes
resourceFieldRef:
containerName: openresty
resource: limits.memory
divisor: 1Ki
- path: labels
fieldRef:
fieldPath: metadata.labels
```
- Пример (как переменные окружения)
```yaml
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
```
#### projected
`projected` - это том, который объединяет несколько источников данных в одну директорию
- `secret`
- `configMap`
- `downwardAPI`
- `serviceAccountToken`
- Пример
```yaml
volumeMounts:
- mountPath: "/etc/pod-data"
name: all-values
readOnly: true
volumes:
- name: all-values
projected:
sources:
- downwardAPI:
items:
- path: limits/cpu-millicore
resourceFieldRef:
containerName: openresty
resource: limits.cpu
divisor: 1m
- path: limits/memory-kibibytes
resourceFieldRef:
containerName: openresty
resource: limits.memory
divisor: 1Ki
- path: labels
fieldRef:
fieldPath: metadata.labels
- secret:
name: user-password-secret
items:
- key: user
path: secret/user
- key: password
path: secret/password
- configMap:
name: example-txt
items:
- key: example.txt
path: configs/example.txt
- key: config.yaml
path: configs/config.yaml
```
#### ConfigMap #### ConfigMap
ConfigMap - сущность, предназначенная для хранения нечувствительных данных конфигурации в виде пар ключ: значение, позволяет отделить конфигурацию от кода и применять её к контейнерам без необходимости пересборки образа. ConfigMap - сущность, предназначенная для хранения нечувствительных данных конфигурации в виде пар ключ: значение, позволяет отделить конфигурацию от кода и применять её к контейнерам без необходимости пересборки образа.
@ -1109,6 +1016,101 @@ cat /etc/secret/username # выведет: user
cat /etc/secret/password # выведет: password cat /etc/secret/password # выведет: password
``` ```
#### downwardAPI
`downwardAPI` позволяет передать метаданные `Pod'а`(например, имя пода, namespace, labels, annotations, ресурсы) в контейнер через переменные окружения или файлы.
- Пример (как том (файлы))
```yaml
volumeMounts:
- mountPath: "/etc/pod-info"
name: pod-info
readOnly: true
volumes:
- name: pod-info
downwardAPI:
items:
- path: limit-cpu-millicores
resourceFieldRef:
containerName: openresty
resource: limits.cpu
divisor: 1m
- path: limit-memory-kibibytes
resourceFieldRef:
containerName: openresty
resource: limits.memory
divisor: 1Ki
- path: labels
fieldRef:
fieldPath: metadata.labels
```
- Пример (как переменные окружения)
```yaml
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
```
#### projected
`projected` - это том, который объединяет несколько источников данных в одну директорию
- `secret`
- `configMap`
- `downwardAPI`
- `serviceAccountToken`
- Пример
```yaml
volumeMounts:
- mountPath: "/etc/pod-data"
name: all-values
readOnly: true
volumes:
- name: all-values
projected:
sources:
- downwardAPI:
items:
- path: limits/cpu-millicore
resourceFieldRef:
containerName: openresty
resource: limits.cpu
divisor: 1m
- path: limits/memory-kibibytes
resourceFieldRef:
containerName: openresty
resource: limits.memory
divisor: 1Ki
- path: labels
fieldRef:
fieldPath: metadata.labels
- secret:
name: user-password-secret
items:
- key: user
path: secret/user
- key: password
path: secret/password
- configMap:
name: example-txt
items:
- key: example.txt
path: configs/example.txt
- key: config.yaml
path: configs/config.yaml
```
### PV, PVC ### PV, PVC
- `k get pv` - `k get pv`

View File

@ -357,3 +357,54 @@ getcap /usr/local/bin/blackbox_exporter
```bash ```bash
setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter setcap cap_net_raw+ep /usr/local/bin/blackbox_exporter
``` ```
### Процесс загрузки ОС
Кратко
- Сначала UEFI инициализирует железо (память, CPU, устройства) и запускает загрузчик из EFI-раздела.
- Загрузчик (например, GRUB) загружает ядро Linux и initramfs, передаёт ядру параметры командной строки.
- Ядро запускается, инициализирует память, CPU, драйверы, затем монтирует initramfs как временную файловую систему.
- Initramfs выполняет скрипты, необходимые для обнаружения и монтирования основной root ФС, расшифровки и подключения томов.
- Initramfs передаёт управление настоящему init-процессу (чаще всего systemd).
- Systemd инициализирует всё окружение (сети, файловые системы, службы) через таргеты и сервисы.
- Запускается пользовательское пространство — getty или display manager, затем пользователь входит и загружаются .bashrc, systemd user-юниты и прочее.
### Символы в Bash
- `;` - завершение команды
- `&` - фоновый запуск
- `&&` - и выполнить, если предыдущее успешно
- `\n` - новая строка, внутри кавычек (`echo -e "line1\nline2"`)
- `одинарные кавычки` - никак не интерпретируются, литеральное значение
- `двойные кавычки` - интерпретация переменной
---
- `$(...)` - синтаксис подстановки команды
- `$VAR`, `${VAR:-default}` - значение переменной с модификатором
- `$$` - PID текущего скрипта
- `$?` - код выхода последней команды
- `$#` - кол-во аргументов скрипта
- `$@`, `$*` - все аргументы скрипта
- `$n` - n-ый аргумент скрипта
---
- `[[]]` - расширенный аналог `[]`
- `(())` - для арифмитических выражений
- `-eq, -ne, -gt, -lt` - числовые сравнения
- `==, !=` - строковые сравнения
- `&>` - stdout и stderr в файл
---
- `{}` - команды выполняются в текущем shell
- `()` - команды выполняются в subshell
---
- `*` - любая последовательность (rm *.log)
- `?` - один любой символ (ls file?.txt)
- `[abc]` - один символ из набора (ls file[12].txt)
- `[!abc]` - один символ не из набора (ls file[!3].txt)

View File

@ -35,4 +35,11 @@
#### Панель управления #### Панель управления
- `Win+R` - `Win+R`
- `control` - `control`
#### Как подключиться по RDP
- `Win+R`
- `cmd`
- `mstsc /admin`
- ввести креды для подключения