A
Puede descargar este artículo en formato PDF a través del siguiente enlace para apoyarnos.
Descarga la guía en formato PDF
apagar
A
A
A
A partir de la versión OpenShift 4, Red Hat Enterprise Linux CoreOS (RHCOS) es el sistema operativo recomendado y compatible que se ejecuta en todas las computadoras OpenShift Container Platform. RHCOS combina los estándares de calidad de Red Hat Enterprise Linux (RHEL) con la función de actualización remota automática de Container Linux.
RHCOS no viene con un administrador de paquetes, como yum o dnf. El sistema operativo utiliza las siguientes funciones para las actualizaciones de transacciones:rpm-ostree
El sistema es un sistema que entrega actualizaciones a través de imágenes de contenedores y es parte del proceso de actualización de la plataforma de contenedores OpenShift.
No hay un administrador de paquetes del sistema operativo y no se admite la descarga e instalación directa de paquetes RPM. La única forma de ejecutar herramientas que no están empaquetadas previamente con el sistema operativo es a través de contenedores. Lo bueno es que CoreOS viene con un paquete llamadoCaja de herramientasIniciará un contenedor y le permitirá introducir sus herramientas de administración o depuración favoritas.
Ejecute el contenedor de la caja de herramientas en la máquina OpenShift 4 RHCOS
Puede iniciar el contenedor de la caja de herramientas con el siguiente comandoCaja de herramientasEl guión proporcionado. Pero primero debes acceder al nodo OpenShift desde donde deseas ejecutar la herramienta de administración en el contenedor.
puedes usarlojefe depuraciónComando o SSH.
--- Access node with SSH ---
$ ssh [email protected]
--- Access node with oc debug command ---
$ oc debug node/
Utilice el ejemplo de depuración de oc para acceder.
$ oc debug node/node01.ocp.computingforgeeks.com
Starting pod/node01ocpcomputingforgeekscom-debug ...
To use host binaries, run `chroot /host`
El mensaje proviene de un contenedor de herramientas especial que monta el sistema de archivos raíz del nodo en/AnfitriónCarpeta y le permite verificar archivos desde ese nodo.
Como muestra el resultado del comando, debe iniciar un shell chroot en la carpeta /host. Esto le permitirá utilizar archivos binarios de host en Shell.
chroot /host
Verá el siguiente resultado:
chroot /host
Pod IP: 10.10.30.235
If you don't see a command prompt, try pressing enter.
sh-4.2# chroot /host
sh-4.4#
Para iniciar el contenedor de la caja de herramientas, utilice el siguiente comando.
$ /usr/bin/toolbox
La primera vez que ejecute el script, descargará la imagen del contenedor de la caja de herramientas en su nodo.
Trying to pull registry.redhat.io/rhel8/support-tools...
Getting image source signatures
Copying blob ec1681b6a383 done
Copying blob c4d668e229cd done
Copying blob 6b1688d3542f done
Copying config 50b63c2aff done
Writing manifest to image destination
Storing signatures
50b63c2aff8c13f9f8594c9eaf5fc961f39c74df6d9c6ddde8ca705f78f3c14d
Luego, gira el contenedor con Podman.
Spawning a container 'toolbox-core' with image 'registry.redhat.io/rhel8/support-tools'
Detected RUN label in the container image. Using that as the default...
command: podman run -it --name toolbox-core --privileged --ipc=host --net=host --pid=host -e HOST=/host -e NAME=toolbox-core -e IMAGE=registry.redhat.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 /:/host registry.redhat.io/rhel8/support-tools:latest
Ejecute telnet/tcpdump en el servidor OpenShift v4 CoreOS
Después de ingresar al shell del contenedor, puede usar el administrador de paquetes yum para instalar las herramientas de administración y depuración necesarias.
--- Install network tools ---
# yum -y install iproute net-tools
--- Install telnet ---
# yum -y install telnet
--- Install tcpdump ---
# yum -y install tcpdump
--- Install any other tool ---
# yum -y install
Utilice telnet:
# telnet
Utilice tcpdump:
Identifique el nombre de la interfaz: necesita instalar herramientas de red.
# ip link show | head
1: lo:
mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3:
mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:1a:4a:16:01:73 brd ff:ff:ff:ff:ff:ff
7: ovs-system:
mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 4e:66:b9:32:0d:26 brd ff:ff:ff:ff:ff:ff
8: br0:
mtu 1450 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 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
Utilice tcpdump.
# tcpdump
Este ejemplo se utiliza para capturar paquetes desde cualquier interfaz enviada al puerto.443. Guardamos el resultado en una ruta en el sistema de archivos de Node, la ruta puede ser/AnfitriónTabla de contenido.
# tcpdump -i any port 443 -s 0 -vv -s 0 -w /host/tmp/testpacketname.pcap
puedes reemplazarCualquierTener un nombre de interfaz, por ejemplo:
-i ens3
Para finalizar la captura, presione Control-C.
Ejecute la captura tcpdump desde el contenedor
Abra el shell de depuración o SSH en el nodo donde se ejecuta el Pod de destino:
$ oc debug node/
--- OR ---
$ ssh [email protected]
Utilice el comando crictl ps para determinar el ID del proceso del Pod de destino:
# crictl ps
Mi identificación de contenedor es51a17d9a4b376. Guardémoslo como una variable.
container_id="51a17d9a4b376"
Obtenga el PID del contenedor:
container_pid=$(crictl inspect --output yaml $container_id | grep 'pid:' | awk '{print $2}')
Valor de confirmación:
# echo $container_pid
1124033
# ps 1124033
PID TTY STAT TIME COMMAND
1124033 ? Ss 0:00 /bin/sleep 3650d
Puede utilizar el siguiente comando para iniciar tcpdump en el espacio de nombres de red del contenedor.
# nsenter -n -t $container_pid -- tcpdump
--- Example ---
# tcpdump -i any port 443 -s 0 -vv -s 0 -w /host/tmp/testpacketname.pcap
Tenga en cuenta que debe instalar tcpdump en el contenedor antes de ejecutar el comando.
Más artículos sobre OpenShift.
Cómo instalar ArgoCD en el clúster OpenShift
Cómo instalar Istio Service Mesh en OpenShift 4.x
Ejecute Ceph Toolbox para Rook en Kubernetes/OpenShift
A
Puede descargar este artículo en formato PDF a través del siguiente enlace para apoyarnos.
Descarga la guía en formato PDF
apagar
A
A
A