From 3a1ce1370b9f0b7d26939f7100a882b286bc2fc9 Mon Sep 17 00:00:00 2001
From: erjemin <erjemin@gmail.com>
Date: Sat, 29 Mar 2025 13:58:59 +0300
Subject: [PATCH] =?UTF-8?q?add:=20=D0=BF=D0=BE=D0=B4=20=D1=81=203X-UI=20..?=
 =?UTF-8?q?.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 kubernetes/k3s-3xui-pod.md | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/kubernetes/k3s-3xui-pod.md b/kubernetes/k3s-3xui-pod.md
index 3102993..ee58f80 100644
--- a/kubernetes/k3s-3xui-pod.md
+++ b/kubernetes/k3s-3xui-pod.md
@@ -34,7 +34,7 @@ NAME              STATUS   AGE
 x-ui              Active   6s
 ```
 
-## Развёртывание 3X-UI
+## Простое развёртывание 3X-UI в поде
 
 Cоздадим манифест развертывания пода (этого YAML-файл с инструкциями для K3s, что и как запустить). Мы будем
 использовать SQLite как внутреннюю базу данных 3x-ui, и пока эта бызы будет храниться внутри пода. Позже сможем
@@ -122,6 +122,8 @@ WARNING - XRAY: core: Xray 25.3.6 started
 пользователей, менять логин и пароль на вход и т.д. Веб-интерфейс 3x-ui интуитивно понятен, так что разбираться
 не составит труда.
 
+## Развертывание Kubernetes пода 3x-ui с постоянным хранилищем (PVC)
+
 Есть, конечно, у 3x-ui под k3s минусы. В частности, внутри пода (`sudo kubectl exec -it -n x-ui x-ui-... -- /bin/sh`)
 не будет работать командный интерфейс 3x-ui (`x-ui admin`). Поды k3s работают на **Alpine**, а там некоторые команды
 отличаются (например, нет `bash`, а только `ash`). Но web-панель работает как положено, и всё управление удобнее
@@ -198,12 +200,12 @@ spec:
         image: ghcr.io/mhsanaei/3x-ui:latest
         # image: enwaiax/x-ui:latest    # альтернативный облегчённый: меньше способов шифрования и китайский интерфейс
         volumeMounts:
-        - name: db-storage
-          mountPath: /etc/x-ui  # Путь к базе данных внутри контейнера
+        - name: db-storage      # Имя тома, в который будет смонтирован...
+          mountPath: /etc/x-ui  # ...в путь к базе данных внутри контейнера
       volumes:
-      - name: db-storage
-        persistentVolumeClaim:
-          claimName: x-ui-db-pvc  # Ссылка на созданный PVC
+      - name: db-storage          # Имя тома, которое...
+        persistentVolumeClaim:    # ...должно быть постоянным хранилищем
+          claimName: x-ui-db-pvc  # ...и размещаться в PVC с именем 'x-ui-db-pvc'
 ```
 
 Применим обновлённый манифест:
@@ -212,7 +214,12 @@ sudo kubectl apply -f ~/k3s/vpn/x-ui/deployment.yaml
 ```
 
 Под перезапустится, и теперь база данных будет храниться в постоянном хранилище Longhorn. При перезапуске пода или его
-"переезде" на другой узел, база данных останется доступной и не потеряется.
+"переезде" на другой узел, база данных останется доступной и не потеряется. Следует отметить, что при сбое узла 
+процесс перемещения пода занимает некоторое время. В кластере на Orange Pi 5, где проверки связности не очень
+агрессивные, это может занять до 5 минут. В общем, это нормально.
+
+## Единая точка входа VPN-соединений через под 3x-ui
+