☸️ Как отобразить логи узлов OpenShift с помощью команды oc — Information Security Squad
☸️  Как отобразить логи узлов OpenShift с помощью команды oc

Итак, у вас есть кластер OpenShift .

Проверка журналов узлов кластера — это нормальная операция при устранении неполадок в кластере, например, неисправных служб, проблем с сетью и хранилищем.

В этом руководстве мы рассмотрим, как можно отображать журналы узлов OpenShift с помощью инструментов командной строки.

Начиная с OpenShift Container Platform 4.0, узлы OpenShift основаны на Red Hat Enterprise Linux CoreOS (RHCOS), а в версиях OKD используется Fedora CoreOS (FCOS).

Эти операционные системы запускают очень мало локальных сервисов, которым требуется прямой доступ к узлу для проверки их состояния.

Отображение логов хостов OpenShift

Большинство системных служб в RHCOS / FCOS работают как контейнеры, за исключением механизма контейнеров CRI-O и Kubelet, которые являются единицами Systemd.

sh-4.4# systemctl status crio
● crio.service - Open Container Initiative Daemon
   Loaded: loaded (/usr/lib/systemd/system/crio.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/crio.service.d
           └─10-default-env.conf
   Active: active (running) since Sat 2020-03-28 10:59:50 UTC; 1h 7min ago
     Docs: https://github.com/cri-o/cri-o
 Main PID: 2937 (crio)
    Tasks: 42
   Memory: 322.4M
      CPU: 5min 28.410s
   CGroup: /system.slice/crio.service
           └─2937 /usr/bin/crio --enable-metrics=true --metrics-port=9537
.....

sh-4.4# systemctl status kubelet
● kubelet.service - Kubernetes Kubelet
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-default-env.conf
   Active: active (running) since Sat 2020-03-28 11:00:11 UTC; 1h 7min ago
  Process: 3028 ExecStartPre=/bin/rm -f /var/lib/kubelet/cpu_manager_state (code=exited, status=0/SUCCESS)
  Process: 3026 ExecStartPre=/bin/mkdir --parents /etc/kubernetes/manifests (code=exited, status=0/SUCCESS)
 Main PID: 3030 (hyperkube)
    Tasks: 56 (limit: 26213)
   Memory: 241.6M
      CPU: 5min 7.547s
   CGroup: /system.slice/kubelet.service
           └─3030 /usr/bin/hyperkube kubelet --config=/etc/kubernetes/kubelet.conf --bootstrap-kubeconfig=/etc/kubernetes/kubeconfig --kubeconfig=/var/lib/kubelet/kubeco
.....

Команда oc adm node-logs может использоваться для просмотра этих журналов, не требуя прямого ssh для узлов кластера.

Синтаксис:

oc adm node-logs [-l LABELS] [NODE...] [flags]
Команда, показанная выше отобразит все журналы журнала узла. Пример:
$ oc adm node-logs node01.ocp.itsecforu.ru
Чтобы вернуть записи журнала из указанных единиц, используйте параметр -u:
$ oc adm node-logs <node-name> -u crio

Покажем логи, доступные на ноде в  /var/log:

$ oc adm node-logs node01.ocp.itsecforu.ru --path=/
audit/
btmp
chrony/
containers/
crio/
es-containers.log.pos
fluentd/
glusterfs/
journal/
journal_pos.json
lastlog
openvswitch/
pods/
private/
samba/
sssd/
vmware-network.1.log
vmware-network.2.log
vmware-network.log
vmware-vgauthsvc.log.0
vmware-vmsvc.1.log
vmware-vmsvc.log
wtmp
Покажем  конкретные логи, доступные по указанному пути:
oc adm node-logs node01.ocp.itsecforu.ru --path=/audit/audit.log
Покажем логи kubelet от всех мастер / воркер нод:
oc adm node-logs --role master -u kubelet
oc adm node-logs --role worker -u kubelet
Посмотрим, какие журналы доступны на нодах master / worker / infra в /var/log:
oc adm node-logs --role master --path=/
oc adm node-logs --role worker --path=/
oc adm node-logs --role infra --path=/

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *