콘텐츠로 이동

최신 빌드의 명령어

Site CLI 명령어 목록은 빌드 간에 증가합니다. 7개의 execcli 명령어가 이 플리트가 실행하는 버전보다 최신 빌드에 존재하므로, 이 섹션의 나머지 부분을 읽는 운영자는 해당 명령어를 찾지 못할 것이며, F5의 최신 공식 문서를 읽는 사람은 해당 명령어가 있을 것으로 기대할 수 있습니다.

이 목록은 재배열이 아닌 상위 집합입니다. 최신 빌드에는 89개의 execcli 명령어가 있으며, 이 플리트에는 82개가 있고, 7개가 추가되고 삭제된 것은 없습니다.

설명은 완성 메뉴에 나타나는 어플라이언스 자체의 것입니다.

명령어어플라이언스의 설명
collect-database-stats데이터베이스 통계 수집
iptables-lviptables -L -v -n 표시
marker-exists-criocrio 재시작 마커 존재 여부 확인
marker-exists-kubeletkubelet 재시작 마커 존재 여부 확인
marker-exists-NetworkManagerNetworkManager 재시작 마커 존재 여부 확인
systemctl-restart-NetworkManagerNetworkManager 서비스 재시작
systemctl-start-crio-prunecrio 이미지 정리 서비스 시작

이것들을 하나의 집합으로 읽으면, 대부분은 7개의 관련 없는 도구가 아니라 하나의 워크플로를 설명합니다. 3개의 명령어는 서비스가 재시작 대기 상태로 표시되었는지 묻고, 2개는 재시작 또는 정리를 수행합니다. 마커 확인은 다른 한쪽이 파괴적인 쌍의 안전한 절반입니다.

7개 중 4개는 읽기만 합니다. 3개는 노드를 변경합니다 — 그리고 그 3개 중 하나는 예상하는 것이 아니며, 이것이 아래 별도 섹션의 주제입니다.

crio에 대한 재시작 마커 파일이 존재하는지 보고합니다.

Terminal window
execcli marker-exists-crio
Capture policy: never execute through the API
Terminal window
execcli marker-exists-kubelet
Capture policy: never execute through the API
Terminal window
execcli marker-exists-NetworkManager
Capture policy: never execute through the API

세 가지 모두 missing으로 응답했으며, 해당 서비스에 대한 재시작이 대기 중이지 않음을 의미합니다.

iptables -L -v -n을 실행하고 변경 없이 반환하므로, F5 추상화가 아닌 노드의 필터 테이블에 대한 패킷 및 바이트 수 뷰입니다.

Terminal window
execcli iptables-lv
Chain INPUT (policy ACCEPT 2582K packets, 7365M bytes)
pkts bytes target prot opt in out source destination
53804 4167K KUBE-PROXY-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes load balancer firewall */
2389K 5628M KUBE-NODEPORTS all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes health check service ports */
53804 4167K KUBE-EXTERNAL-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes externally-visible service portals */
2582K 7365M KUBE-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 KUBE-PROXY-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes load balancer firewall */
0 0 KUBE-FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes forwarding rules */
0 0 KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes service portals */
0 0 KUBE-EXTERNAL-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes externally-visible service portals */
0 0 DOCKER-USER all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-FORWARD all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 1964K packets, 1248M bytes)
pkts bytes target prot opt in out source destination
54822 5298K KUBE-PROXY-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes load balancer firewall */
54822 5298K KUBE-SERVICES all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate NEW /* kubernetes service portals */
1964K 1248M KUBE-FIREWALL all -- * * 0.0.0.0/0 0.0.0.0/0
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- !docker0 docker0 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-BRIDGE (1 references)
pkts bytes target prot opt in out source destination
0 0 DOCKER all -- * docker0 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-CT (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * docker0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
Chain DOCKER-FORWARD (1 references)
pkts bytes target prot opt in out source destination
0 0 DOCKER-CT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-INTERNAL all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DOCKER-BRIDGE all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 DROP all -- docker0 docker0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- docker0 !docker0 0.0.0.0/0 0.0.0.0/0
Chain DOCKER-INTERNAL (1 references)
pkts bytes target prot opt in out source destination
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
Chain KUBE-EXTERNAL-SERVICES (2 references)
pkts bytes target prot opt in out source destination
Chain KUBE-FIREWALL (2 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * !127.0.0.0/8 127.0.0.0/8 /* block incoming localnet connections */ ! ctstate RELATED,ESTABLISHED,DNAT
Chain KUBE-FORWARD (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate INVALID
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes forwarding rules */ mark match 0x4000/0x4000
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 /* kubernetes forwarding conntrack rule */ ctstate RELATED,ESTABLISHED
... [capture trimmed: first 60 of 79 lines]

출력의 대부분은 Kubernetes의 것입니다. KUBE- 체인은 kube-proxy의 서비스, nodeport 및 방화벽 규칙이며, DOCKER-USER는 컨테이너 런타임에 속합니다. 첫 번째 줄은 건너뛰지 않고 주목할 가치가 있습니다 —

# Warning: iptables-legacy tables present, use iptables-legacy to see them

— 왜냐하면 이 뷰가 불완전함을 나타내기 때문입니다. 레거시 테이블의 규칙은 여기에 표시되지 않으며, Site CLI는 해당 규칙을 읽는 명령어를 제공하지 않습니다.

collect-database-stats는 이름과 달리 노드에 씁니다

섹션 제목: “collect-database-stats는 이름과 달리 노드에 씁니다”

이 명령어는 함정이며, 함정은 이름에 있습니다. “데이터베이스 통계 수집”과 어플라이언스 자체의 설명 모두 관찰 목적으로 읽힙니다. 명령어는 그런 방식으로 시작합니다 — 열린 파일 제한, etcd가 보유한 디스크립터 및 연결 수, lsof 목록, etcd 파일시스템에 대한 df — 그리고 나서 15초짜리 fio 랜덤 쓰기 벤치마크를 실행합니다.

Checking if fio disk performance test can run safely...
Running fio disk performance test (15 seconds)...
etcd-test: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B ...
etcd-test: Laying out IO file (1 file / 250MiB)

250 MiB 파일을 배치하고, 3.5 GiB의 여유 공간이 있는 파일시스템에서 아래 실행 시 10.6 MiB의 랜덤 I/O를 기록했습니다. 안전하게 실행할 수 있는지 사전에 확인하므로 무모하지는 않습니다 — 하지만 읽기가 아닙니다.

Terminal window
execcli collect-database-stats
Current ulimit for open files:
1024
Open FDs for etcd process:
75
Open connections count (via ss):
67
List open connections with lsof (if available):
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
etcd 1928 etcd-member cwd DIR 8,2 253 58407916 /
etcd 1928 etcd-member rtd DIR 8,2 253 58407916 /
etcd 1928 etcd-member txt REG 8,2 38599880 572772 /var/opt/bin/etcd
etcd 1928 etcd-member mem-W REG 8,2 16801792 34215070 /var/lib/etcd/member/snap/db
etcd 1928 etcd-member mem REG 8,2 2549360 52803074 /usr/lib64/libc.so.6
etcd 1928 etcd-member mem REG 8,2 70520 56912400 /usr/lib64/libresolv.so.2
etcd 1928 etcd-member mem REG 8,2 938792 54504007 /usr/lib64/ld-linux-x86-64.so.2
etcd 1928 etcd-member 0r CHR 1,3 0t0 4 /dev/null
etcd 1928 etcd-member 1u unix 0xffff892ac0fb0500 0t0 31273 type=STREAM (CONNECTED)
etcd 1928 etcd-member 2u unix 0xffff892ac0fb0500 0t0 31273 type=STREAM (CONNECTED)
etcd 1928 etcd-member 3u IPv6 19211 0t0 TCP *:23801 (LISTEN)
etcd 1928 etcd-member 4u a_inode 0,15 0 2078 [eventpoll:3,5,6,11,13,14,15,17,18,19,29,36,42,44,45,46,47,48,50,52,55,56,57,62,63,65,66,67,68,69,73,74...]
etcd 1928 etcd-member 5u a_inode 0,15 0 2078 [eventfd:19]
etcd 1928 etcd-member 6u IPv6 1005 0t0 TCP *:23791 (LISTEN)
etcd 1928 etcd-member 7uW REG 8,2 16801792 34215070 /var/lib/etcd/member/snap/db
etcd 1928 etcd-member 8u REG 8,2 64000000 50887796 /var/lib/etcd/member/wal/0000000000000000-0000000000000000.wal
etcd 1928 etcd-member 9r DIR 8,2 64 50887794 /var/lib/etcd/member/wal
etcd 1928 etcd-member 10w REG 8,2 64000000 50887804 /var/lib/etcd/member/wal/0.tmp
etcd 1928 etcd-member 11u IPv6 34289 0t0 TCP ce0179-exp-01:23791->ce0179-exp-01:49464 (ESTABLISHED)
Etcd data directory disk usage:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 29G 25G 3.5G 88% /var
Etcd data directory location and usage:
total 4.0K
drwxr-xr-x 3 etcd-member etcd-member 20 Jul 29 01:27 .
drwxr-xr-x. 45 root root 4.0K Jul 29 01:41 ..
drwx------ 4 etcd-member etcd-member 29 Jul 29 01:27 member
Disk space for etcd:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 29G 25G 3.5G 88% /var
Checking if fio disk performance test can run safely...
Running fio disk performance test (15 seconds)...
etcd-test: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=sync, iodepth=1
fio-3.35
Starting 1 process
etcd-test: Laying out IO file (1 file / 250MiB)
Jobs: 1 (f=1)
Jobs: 1 (f=1)
Jobs: 1 (f=1): [w(1)][20.0%][w=720KiB/s][w=180 IOPS][eta 00m:12s]
Jobs: 1 (f=1): [w(1)][26.7%][w=724KiB/s][w=181 IOPS][eta 00m:11s]
Jobs: 1 (f=1): [w(1)][33.3%][w=732KiB/s][w=183 IOPS][eta 00m:10s]
Jobs: 1 (f=1): [w(1)][40.0%][w=744KiB/s][w=186 IOPS][eta 00m:09s]
Jobs: 1 (f=1): [w(1)][46.7%][w=740KiB/s][w=185 IOPS][eta 00m:08s]
Jobs: 1 (f=1): [w(1)][53.3%][w=716KiB/s][w=179 IOPS][eta 00m:07s]
Jobs: 1 (f=1): [w(1)][60.0%][w=720KiB/s][w=180 IOPS][eta 00m:06s]
Jobs: 1 (f=1): [w(1)][66.7%][w=728KiB/s][w=182 IOPS][eta 00m:05s]
Jobs: 1 (f=1): [w(1)][73.3%][w=772KiB/s][w=193 IOPS][eta 00m:04s]
Jobs: 1 (f=1): [w(1)][80.0%][w=752KiB/s][w=188 IOPS][eta 00m:03s]
Jobs: 1 (f=1): [w(1)][86.7%][w=752KiB/s][w=188 IOPS][eta 00m:02s]
Jobs: 1 (f=1): [w(1)][93.3%][w=728KiB/s][w=182 IOPS][eta 00m:01s]
Jobs: 1 (f=1): [w(1)][100.0%][w=728KiB/s][w=182 IOPS][eta 00m:00s]
etcd-test: (groupid=0, jobs=1): err= 0: pid=60246: Wed Jul 29 02:46:28 2026
write: IOPS=180, BW=722KiB/s (739kB/s)(10.6MiB/15002msec); 0 zone resets
clat (usec): min=8, max=270, avg=21.24, stdev=11.09
lat (usec): min=8, max=270, avg=21.68, stdev=11.14
clat percentiles (usec):
| 1.00th=[ 12], 5.00th=[ 16], 10.00th=[ 18], 20.00th=[ 19],
| 30.00th=[ 19], 40.00th=[ 20], 50.00th=[ 20], 60.00th=[ 20],
| 70.00th=[ 21], 80.00th=[ 22], 90.00th=[ 24], 95.00th=[ 40],
| 99.00th=[ 47], 99.50th=[ 60], 99.90th=[ 212], 99.95th=[ 212],
| 99.99th=[ 269]
bw ( KiB/s): min= 320, max= 792, per=100.00%, avg=723.03, stdev=80.72, samples=29
iops : min= 80, max= 198, avg=180.76, stdev=20.18, samples=29
lat (usec) : 10=0.33%, 20=64.34%, 50=34.59%, 100=0.41%, 250=0.30%
lat (usec) : 500=0.04%
fsync/fdatasync/sync_file_range:
sync (msec): min=4, max=206, avg= 5.51, stdev= 4.38
sync percentiles (msec):
| 1.00th=[ 5], 5.00th=[ 5], 10.00th=[ 5], 20.00th=[ 5],
| 30.00th=[ 5], 40.00th=[ 5], 50.00th=[ 6], 60.00th=[ 6],
| 70.00th=[ 6], 80.00th=[ 6], 90.00th=[ 6], 95.00th=[ 8],
| 99.00th=[ 17], 99.50th=[ 18], 99.90th=[ 23], 99.95th=[ 57],
| 99.99th=[ 207]
cpu : usr=0.17%, sys=1.41%, ctx=8134, majf=0, minf=10
IO depths : 1=200.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,2706,0,0 short=2706,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
WRITE: bw=722KiB/s (739kB/s), 722KiB/s-722KiB/s (739kB/s-739kB/s), io=10.6MiB (11.1MB), run=15002-15002msec
Disk stats (read/write):
sda: ios=0/5758, merge=0/5, ticks=0/23665, in_queue=30845, util=94.00%
NOTE: Pay attention to the 99th percentile latency (clat percentiles)
Healthy etcd disks should have p99 < 10ms
Systemctl status etcd-member:
● etcd-member.service - etcd server for kubernetes
Loaded: loaded (/etc/systemd/system/etcd-member.service; enabled; preset: disabled)
Active: active (running) since Wed 2026-07-29 01:27:40 UTC; 1h 18min ago
Docs: https://github.com/coreos/etcd
Main PID: 1927 (etcd-member-wra)
Tasks: 17 (limit: 204894)
Memory: 121.7M (peak: 133.5M)
CPU: 1min 9.639s
CGroup: /system.slice/etcd-member.service
├─ 1927 /bin/bash /opt/bin/etcd-member-wrapper.sh
├─ 1928 /opt/bin/etcd
└─60311 sleep 10
Jul 29 02:32:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:32:45.049479Z","caller":"mvcc/index.go:194","msg":"compact tree index","revision":8048}
Jul 29 02:32:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:32:45.074183Z","caller":"mvcc/kvstore_compaction.go:70","msg":"finished scheduled compaction","compact-revision":8048,"took":"23.934135ms","hash":1757010509,"current-db-size-bytes":11337728,"current-db-size":"11 MB","current-db-size-in-use-bytes":4833280,"current-db-size-in-use":"4.8 MB"}
Jul 29 02:32:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:32:45.074238Z","caller":"mvcc/hash.go:157","msg":"storing new hash","hash":1757010509,"revision":8048,"compact-revision":7750}
Jul 29 02:37:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:37:45.063095Z","caller":"mvcc/index.go:194","msg":"compact tree index","revision":8465}
Jul 29 02:37:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:37:45.133419Z","caller":"mvcc/kvstore_compaction.go:70","msg":"finished scheduled compaction","compact-revision":8465,"took":"69.493344ms","hash":942406775,"current-db-size-bytes":11337728,"current-db-size":"11 MB","current-db-size-in-use-bytes":4464640,"current-db-size-in-use":"4.5 MB"}
Jul 29 02:37:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:37:45.133480Z","caller":"mvcc/hash.go:157","msg":"storing new hash","hash":942406775,"revision":8465,"compact-revision":8048}
Jul 29 02:42:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:42:45.076782Z","caller":"mvcc/index.go:194","msg":"compact tree index","revision":8769}
Jul 29 02:42:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:42:45.106096Z","caller":"mvcc/kvstore_compaction.go:70","msg":"finished scheduled compaction","compact-revision":8769,"took":"28.595158ms","hash":696184126,"current-db-size-bytes":11337728,"current-db-size":"11 MB","current-db-size-in-use-bytes":4640768,"current-db-size-in-use":"4.6 MB"}
Jul 29 02:42:45 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:42:45.106156Z","caller":"mvcc/hash.go:157","msg":"storing new hash","hash":696184126,"revision":8769,"compact-revision":8465}
Jul 29 02:46:13 ce0179-exp-01 etcd-member-wrapper.sh[1928]: {"level":"info","ts":"2026-07-29T02:46:13.681521Z","caller":"traceutil/trace.go:172","msg":"trace[669642079] transaction","detail":"{read_only:false; response_revision:9395; number_of_response:1; }","duration":"126.62976ms","start":"2026-07-29T02:46:13.554875Z","end":"2026-07-29T02:46:13.681505Z","steps":["trace[669642079] 'process raft request' (duration: 126.508857ms)"],"step_count":1}

읽는 방법: 열린 파일 ulimit과 디스크립터 수의 쌍은 etcd가 한계를 초과하는 것으로 의심될 때 지원 엔지니어가 요청하는 항목이며, clat 백분위수는 벤치마크의 핵심입니다. 디스크 통계 줄의 util=94.00%테스트 중 장치가 얼마나 사용되었는지를 나타냅니다 — 파일시스템 사용량 수치가 아니며, 두 가지는 혼동하기 쉽습니다.

systemctl-restart-NetworkManagersystemctl-start-crio-prune은 이름으로만 문서화되어 있으며 캡처된 출력이 없습니다.

Terminal window
execcli systemctl-restart-NetworkManager
execcli systemctl-start-crio-prune

NetworkManager를 재시작하면 노드의 네트워킹이 중단되고, 정리 서비스는 컨테이너 이미지를 삭제합니다. 두 명령어 모두 노드를 변경하므로, 일회용 노드에서도 실행하지 않았습니다.