Compare commits

..

No commits in common. "6407e09f1451520a770f0631a3425224aaf35db9" and "ef2d40979fa23d1cd396abd7e15480228066679a" have entirely different histories.

4 changed files with 94 additions and 155 deletions

View File

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

View File

@ -876,6 +876,99 @@ type: CharDevice # Символьное устройство
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 - сущность, предназначенная для хранения нечувствительных данных конфигурации в виде пар ключ: значение, позволяет отделить конфигурацию от кода и применять её к контейнерам без необходимости пересборки образа.
@ -1016,101 +1109,6 @@ cat /etc/secret/username # выведет: user
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
- `k get pv`

View File

@ -357,54 +357,3 @@ getcap /usr/local/bin/blackbox_exporter
```bash
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

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