Как да

Как да стартирам telnet / tcpdump в OpenShift v4 CoreOS възли

Как да стартирам telnet / tcpdump в OpenShift v4 CoreOS възли

Към изданието на OpenShift 4, Red Hat Enterprise Linux CoreOS (RHCOS) е препоръчителната и поддържана операционна система, работеща на всички машини на OpenShift Container Platform. RHCOS комбинира стандартите за качество на Red Hat Enterprise Linux (RHEL) с автоматизираните функции за дистанционно надграждане от Container Linux.

RHCOS не се доставя с мениджъри на пакети като yum или dnf. Тази операционна система предлага надстройки на транзакции с помощта на rpm-ostree система, при която актуализациите се доставят чрез изображения на контейнери и са част от процеса на актуализация на OpenShift Container Platform.

Без мениджър на пакети на OS и поддръжка за директно изтегляне и инсталиране на RPM пакети, единственият начин да стартирате инструменти, които не са предварително опаковани с операционната система, е чрез контейнери. Хубавото е, че CoreOS идва със скрипт, наречен кутия за инструменти който стартира контейнер, за да ви позволи да въведете любимите си инструменти за отстраняване на грешки или администратор.

Курсове на OpenShift:

Практически OpenShift за разработчици - нов курс 2021

Ultimate Openshift (2021) Bootcamp от School of Devops

Работещ контейнер с кутии с инструменти в машини OpenShift 4 RHCOS

Можете да стартирате контейнера с инструменти с помощта на кутия за инструменти предоставен скрипт. Но първо отворете възела OpenShift от мястото, където искате да стартирате администраторски инструменти в контейнера.

Можеш да използваш ок отстраняване на грешки команда или SSH.

--- Възел за достъп със SSH --- $ ssh [имейл защитен] --- Възел за достъп с команда за отстраняване на грешки oc --- $ oc възел за отстраняване на грешки /

Достъп с oc отстраняване на грешки пример.

$ oc дебъгвален възел / node01.ок.computingforgeeks.com Стартиране на pod / node01ocpcomputingforgeekscom-debug ... За да използвате двоични файлове на хоста, стартирайте 'chroot / host'

Подканата идва от специален контейнер с инструменти, който монтира коренната файлова система на възела в / домакин папка и позволява на yoy да проверява файловете от възела.

Трябва да започнете a chroot черупка в / домакин папка, както е показано в изхода на командата. Това ще ви позволи да използвате двоични файлове на хоста в черупката.

chroot / хост

Ще видите изход, както по-долу:

chroot / host Pod IP IP: 10.10.30.235 Ако не виждате команден ред, опитайте да натиснете enter. sh-4.2 # chroot / хост sh-4.4 # 

За да стартирате контейнера с инструменти, използвайте следната команда.

$ / usr / bin / toolbox

Първият път, когато стартирате скрипта, той ще изтегли изображението на контейнера с инструменти на вашия възел.

Опитвам се да изтегля регистъра.червена шапка.io / rhel8 / support-tools ... Извличане на подписи на източника на изображение Копиране на blob ec1681b6a383 готово Копиране на blob c4d668e229cd готово Копиране на blob 6b1688d3542f готово Копиране на config 50b63c2aff готово Писане на манифест до местоназначение на изображение Съхранение на подписи 50b63c2aff8c13f9f859cd9d9d9cd9f9d9cd9f9d6f9d6f9d9f9c9f9c9f9d9

След това завърта контейнера с Подман.

Хвърляне на хайвера на контейнер „ядро с инструменти“ с регистър на изображението.червена шапка.io / rhel8 / support-tools 'Открит етикет RUN в изображението на контейнера. Използвайки това като команда по подразбиране ...: podman run -it --name toolbox-core --privileged --ipc = host --net = host --pid = host -e HOST = / host -e NAME = toolbox-core - e ИЗОБРАЖЕНИЕ = регистър.червена шапка.io / rhel8 / support-tools: latest -v / run: / run -v / var / log: / var / log -v / etc / machine-id: / etc / machine-id -v / etc / localtime: / etc / localtime -v /: / регистър на хоста.червена шапка.io / rhel8 / tools-tools: най-новите

Стартирайте telnet / tcpdump в сървърите на OpenShift v4 CoreOS

След като сте в обвивката на контейнера, можете да използвате ням пакет мениджър за инсталиране на инструменти за отстраняване на грешки и администрация, които искате.

--- Инсталирайте мрежови инструменти --- # yum -y инсталирайте iproute net-tools --- Инсталирайте telnet --- # yum -y инсталирайте telnet --- Инсталирайте tcpdump --- # yum -y инсталирайте tcpdump --- Инсталирайте всеки друг инструмент --- # yum -y инсталиране 

Използване на telnet:

# telnet  

Използване на tcpdump:

Идентифицирайте името на интерфейса - Трябва да имате инсталирани мрежови инструменти.

# ip link show | глава 1: ето:  mtu 65536 qdisc noqueue състояние UNKNOWN режим ПО подразбиране група по подразбиране qlen 1000 link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00 2: ens3:  mtu 1500 qdisc mq състояние UP режим по подразбиране група по подразбиране qlen 1000 връзка / етер 00: 1a: 4a: 16: 01: 73 brd ff: ff: ff: ff: ff: ff 7: ovs-system:  mtu 1500 qdisc noop състояние НАДОЛУ режим ДЕФУЛТ по подразбиране група по подразбиране qlen 1000 връзка / етер 4e: 66: b9: 32: 0d: 26 brd ff: ff: ff: ff: ff: ff 8: br0:  mtu 1450 qdisc noop състояние НАДОЛУ режим ПО подразбиране група по подразбиране qlen 1000 връзка / етер 72: d6: df: e8: 13: 48 brd ff: ff: ff: ff: ff: ff 9: vxlan_sys_4789:  mtu 65000 qdisc noqueue master ovs-system state UNKNOWN mode DEFAULT group default qlen 1000 link / ether 4a: c4: 7f: c1: 85: f7 brd ff: ff: ff: ff: ff: ff 

Използване на tcpdump.

# tcpdump 

Този пример е за улавяне на пакети от всеки интерфейс, предназначен за порт 443. Запазваме изхода в път във файловата система Node, достъпен на / домакин директория.

# tcpdump -i всеки порт 443 -s 0 -vv -s 0 -w / host / tmp / testpacketname.pcap

Можете да замените всякакви с име на интерфейс, напр.g:

-аз ens3

За да прекратите улавянето, натиснете Control-C.

Изпълнява се улавяне на tcpdump от контейнер

Отворете черупка за отстраняване на грешки или SSH към възел, където се изпълнява целевият Pod:

$ oc дебъгвален възел / --- ИЛИ --- $ ssh [имейл защитен]

Идентифицирайте идентификатора на целевия идентификатор на процеса на Pod, като използвате crictl ps команда:

# crictl ps

Моят идентификационен номер на контейнера е 51a17d9a4b376. Нека запазим това като променлива.

container_id = "51a17d9a4b376"

Вземете PID на контейнера:

container_pid = $ (crictl inspect --output yaml $ container_id | grep 'pid:' | awk 'print $ 2')

Потвърдете стойността:

# echo $ container_pid 1124033 # ps 1124033 PID TTY STAT TIME COMMAND 1124033 ? Ss 0:00 / кош / сън 3650d

Можете да стартирате tcpdump в мрежовото пространство на имена на контейнера, като използвате командата по-долу.

# nsenter -n -t $ container_pid - tcpdump  --- Пример --- # tcpdump -i всеки порт 443 -s 0 -vv -s 0 -w / host / tmp / testpacketname.pcap

Моля, имайте предвид, че tcpdump трябва да бъде инсталиран в контейнера, преди да стартирате командите.

Курсове на OpenShift:

Практически OpenShift за разработчици - нов курс 2021

Ultimate Openshift (2021) Bootcamp от School of Devops

Още статии за OpenShift.

Как да инсталирам ArgoCD на клъстер OpenShift

Как да инсталирам Istio Service Mesh на OpenShift 4.х

Стартирайте инструментариума Ceph за Rook на Kubernetes / OpenShift

Apple в проблем в Канада за планирано остаряване на устройства
Apple се бори с това от няколко години. След като потребителите на iPhone научиха, че компанията умишлено забавя устройствата с по-стари батерии, се п...
Facebook Messenger Kids позволи на потребителите да разговарят с неодобрени потребители
В много отношения да бъдеш родител е по-трудно. Сега трябва да намерим начин да защитим децата си не само когато са отделени от нас, но и когато са в ...
Засегна ли ви нарушение на данни на Equifax? Може да дойдете $ 125
Много, много хора бяха шокирани преди две години, когато научиха за нарушаването на данните на Equifax. Това беше едно от най-големите пробиви досега ...