This commit is contained in:
2025-08-11 08:57:16 +07:00
parent 87ae088429
commit 0e1ea2f553
2 changed files with 31 additions and 5 deletions

View File

@@ -94,17 +94,20 @@ TALOS_CLUSTER_NAME=talos-nsk2
**Этапы выполнения:**
1. **Загрузка переменных** из `.env`
2. **Terraform Plan** - показ планируемых изменений
3. **Подтверждение и Apply** - создание инфраструктуры
4. **Сохранение kubeconfig** в `~/.kube/${TALOS_CLUSTER_NAME}.yaml`
5. **Установка Cilium** через Helm:
2. **Проверка зависимостей** - проверка наличия terraform, helm, kubectl
3. **Terraform Plan** - показ планируемых изменений
4. **Подтверждение и Apply** - создание инфраструктуры
5. **Сохранение kubeconfig** в `~/.kube/${TALOS_CLUSTER_NAME}.yaml`
6. **Установка Cilium** через Helm:
- Добавление репозитория cilium
- Обновление репозиториев
- Установка с кастомными values
6. **Применение Cilium ресурсов**:
7. **Применение Cilium ресурсов**:
- IP Pool для LoadBalancer
- L2 Announcement Policy
Скрипт автоматически проверяет наличие необходимых инструментов (terraform, helm, kubectl) и завершается с ошибкой если какой-либо инструмент отсутствует.
### destroy.sh - Удаление кластера
Полная очистка инфраструктуры:

View File

@@ -11,6 +11,29 @@ confirm() {
[[ "$response" == "y" ]]
}
check_dependencies() {
local missing_tools=()
for tool in terraform helm kubectl; do
if ! command -v "$tool" &> /dev/null; then
missing_tools+=("$tool")
fi
done
if [ ${#missing_tools[@]} -ne 0 ]; then
echo "Error: Missing required tools: ${missing_tools[*]}"
echo "Please install the following tools before running this script:"
for tool in "${missing_tools[@]}"; do
echo " - $tool"
done
exit 1
fi
echo "All required tools are available"
}
check_dependencies
tfplan=$(terraform plan -out=tfplan)
echo "$tfplan"