Compare commits
No commits in common. "main" and "pve" have entirely different histories.
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,7 +8,6 @@
|
|||||||
# Crash log files
|
# Crash log files
|
||||||
crash.log
|
crash.log
|
||||||
crash.*.log
|
crash.*.log
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
|
# Exclude all .tfvars files, which are likely to contain sensitive data, such as
|
||||||
# password, private keys, and other secrets. These should not be part of version
|
# password, private keys, and other secrets. These should not be part of version
|
||||||
|
|||||||
@ -1,44 +0,0 @@
|
|||||||
# Настройка MetalLB для K3s с одним внешним IP-адресом
|
|
||||||
|
|
||||||
## Шаги по настройке
|
|
||||||
|
|
||||||
1. **Проверьте статус Traefik и MetalLB:**
|
|
||||||
```bash
|
|
||||||
kubectl get svc -n kube-system traefik
|
|
||||||
kubectl get pods -n metallb-system
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Установка MetalLB (если не установлен):**
|
|
||||||
```bash
|
|
||||||
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/main/config/manifests/metallb-native.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Создайте файл конфигурации `metallb-config.yaml` с указанием внешнего IP-адреса:**
|
|
||||||
```yaml
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: IPAddressPool
|
|
||||||
metadata:
|
|
||||||
name: my-single-ip-pool
|
|
||||||
namespace: metallb-system
|
|
||||||
spec:
|
|
||||||
addresses:
|
|
||||||
- <ваш-внешний-IP-адрес> # Укажите здесь ваш внешний IP-адрес
|
|
||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: L2Advertisement
|
|
||||||
metadata:
|
|
||||||
name: my-l2-advertisement
|
|
||||||
namespace: metallb-system
|
|
||||||
spec: {}
|
|
||||||
```
|
|
||||||
|
|
||||||
Примените конфигурацию:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f metallb-config.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## Заметки
|
|
||||||
- Убедитесь, что ваш сервер позволяет доступ к указанному IP-адресу на соответствующих портах.
|
|
||||||
- IP-адрес должен быть статическим и доступным для использования.
|
|
||||||
|
|
||||||
Следуя этим шагам, вы настроите MetalLB для работы с указанным внешним IP-адресом в кластере K3s.
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
Редактирование конфиго (порты и тд)
|
|
||||||
kubectl edit svc PODNAME -n NAMESPACE
|
|
||||||
47
HELP/play.md
47
HELP/play.md
@ -1,47 +0,0 @@
|
|||||||
```markdown
|
|
||||||
# Homelab K3s Deployment Guide
|
|
||||||
|
|
||||||
## Шаги установки и развертывания
|
|
||||||
|
|
||||||
1. Перейдите в директорию Terraform:
|
|
||||||
```bash
|
|
||||||
cd /homelab_k3s/Terraform/
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Примените конфигурации Terraform:
|
|
||||||
```bash
|
|
||||||
terraform apply --var-file=variables.tfvars --parallelism=1
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Вернитесь в корневую директорию:
|
|
||||||
```bash
|
|
||||||
cd ..
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Создайте виртуальное окружение для Ansible:
|
|
||||||
```bash
|
|
||||||
python3.12 -m venv ansible_env
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Активируйте виртуальное окружение:
|
|
||||||
```bash
|
|
||||||
source ansible_env/bin/activate
|
|
||||||
```
|
|
||||||
|
|
||||||
6. Запустите Ansible playbook:
|
|
||||||
```bash
|
|
||||||
ansible-playbook -i inventory/my-cluster/hosts.ini site.yml -u root --private-key=/root/homelab-k3s/Terraform/key/id_rsa
|
|
||||||
```
|
|
||||||
|
|
||||||
7. Скопируйте конфигурацию k3s на локальный компьютер:
|
|
||||||
```bash
|
|
||||||
scp root@192.168.0.109:/etc/rancher/k3s/k3s.yaml ~/.kube/config
|
|
||||||
```
|
|
||||||
|
|
||||||
## Примечания
|
|
||||||
- Убедитесь, что все файлы и ключи доступны и корректно настроены.
|
|
||||||
- После копирования файла `k3s.yaml` проверьте доступность кластера с помощью команды:
|
|
||||||
```bash
|
|
||||||
kubectl get nodes
|
|
||||||
```
|
|
||||||
```
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
Изменение LoadBalancer
|
|
||||||
|
|
||||||
```bash
|
|
||||||
kubectl patch svc [NAME] -n [NAMESPACE] -p '{"spec": {"type": "LoadBalancer"}}'
|
|
||||||
```
|
|
||||||
188
HELP/Пример.MD
188
HELP/Пример.MD
@ -1,188 +0,0 @@
|
|||||||
# Инструкция по установке Planka в K3s с использованием Traefik и MetalLB
|
|
||||||
|
|
||||||
## 1. Установка MetalLB
|
|
||||||
```bash
|
|
||||||
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.8/config/manifests/metallb-native.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 2. Настройка пула IP-адресов для MetalLB
|
|
||||||
Создайте файл `metallb-config.yaml`:
|
|
||||||
```yaml
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: IPAddressPool
|
|
||||||
metadata:
|
|
||||||
name: planka-pool
|
|
||||||
namespace: metallb-system
|
|
||||||
spec:
|
|
||||||
addresses:
|
|
||||||
- 192.168.1.240-192.168.1.250
|
|
||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: L2Advertisement
|
|
||||||
metadata:
|
|
||||||
name: planka-advertisement
|
|
||||||
namespace: metallb-system
|
|
||||||
spec:
|
|
||||||
ipAddressPools:
|
|
||||||
- planka-pool
|
|
||||||
```
|
|
||||||
Примените конфигурацию:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f metallb-config.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 3. Создание пространства имен
|
|
||||||
```bash
|
|
||||||
kubectl create namespace planka
|
|
||||||
```
|
|
||||||
|
|
||||||
## 4. Развертывание PostgreSQL
|
|
||||||
Создайте файл `postgres.yaml`:
|
|
||||||
```yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: postgres
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 5432
|
|
||||||
selector:
|
|
||||||
app: postgres
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: postgres
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: postgres
|
|
||||||
image: postgres:13
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_DB
|
|
||||||
value: planka
|
|
||||||
- name: POSTGRES_USER
|
|
||||||
value: plankauser
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
value: plankapassword
|
|
||||||
volumeMounts:
|
|
||||||
- name: postgres-storage
|
|
||||||
mountPath: /var/lib/postgresql/data
|
|
||||||
volumes:
|
|
||||||
- name: postgres-storage
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: postgres-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: postgres-pvc
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 1Gi
|
|
||||||
```
|
|
||||||
Примените манифест:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f postgres.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5. Создание секрета с учетными данными администратора
|
|
||||||
Создайте файл `planka-admin-secret.yaml`:
|
|
||||||
```yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: planka-admin-secret
|
|
||||||
namespace: planka
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
DEFAULT_ADMIN_EMAIL: YWRtaW5AZXhhbXBsZS5jb20=
|
|
||||||
DEFAULT_ADMIN_PASSWORD: WW91clNlY3VyZVBhc3N3b3Jk
|
|
||||||
DEFAULT_ADMIN_NAME: QWRtaW4=
|
|
||||||
DEFAULT_ADMIN_USERNAME: YWRtaW4=
|
|
||||||
```
|
|
||||||
Примените секрет:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f planka-admin-secret.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 6. Развертывание Planka
|
|
||||||
Создайте файл `planka.yaml`:
|
|
||||||
```yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: planka
|
|
||||||
namespace: planka
|
|
||||||
annotations:
|
|
||||||
metallb.universe.tf/address-pool: planka-pool
|
|
||||||
spec:
|
|
||||||
type: LoadBalancer
|
|
||||||
ports:
|
|
||||||
- port: 80
|
|
||||||
targetPort: 1337
|
|
||||||
selector:
|
|
||||||
app: planka
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: planka
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: planka
|
|
||||||
image: meltyshev/planka:latest
|
|
||||||
env:
|
|
||||||
- name: DATABASE_URL
|
|
||||||
value: postgres://plankauser:plankapassword@postgres.planka.svc.cluster.local:5432/planka
|
|
||||||
- name: SECRET_KEY
|
|
||||||
value: your-secret-key
|
|
||||||
envFrom:
|
|
||||||
- secretRef:
|
|
||||||
name: planka-admin-secret
|
|
||||||
ports:
|
|
||||||
- containerPort: 1337
|
|
||||||
```
|
|
||||||
Примените манифест:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f planka.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 7. Настройка Ingress для доступа через Traefik
|
|
||||||
Создайте файл `ingress.yaml`:
|
|
||||||
```yaml
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: planka-ingress
|
|
||||||
namespace: planka
|
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: web
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: planka.your-domain.com
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: planka
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
```
|
|
||||||
Примените манифест:
|
|
||||||
```bash
|
|
||||||
kubectl apply -f ingress.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## 8. Настройка DNS
|
|
||||||
Убедитесь, что ваш домен `planka.your-domain.com` указывает на IP-адрес, выделенный MetalLB.
|
|
||||||
|
|
||||||
**Готово!** Теперь Planka установлена и доступна через ваш домен в кластере K3s.
|
|
||||||
@ -2,12 +2,5 @@
|
|||||||
|
|
||||||
terraform apply --var-file=variables.tfvars --parallelism=1
|
terraform apply --var-file=variables.tfvars --parallelism=1
|
||||||
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
python3.12 -m venv ansible_env
|
|
||||||
|
|
||||||
source ansible_env/bin/activate
|
|
||||||
|
|
||||||
ansible-playbook -i inventory/my-cluster/hosts.ini site.yml -u root --private-key=/root/homelab-k3s/Terraform/key/id_rsa
|
ansible-playbook -i inventory/my-cluster/hosts.ini site.yml -u root --private-key=/root/homelab-k3s/Terraform/key/id_rsa
|
||||||
|
|
||||||
scp root@192.168.0.109:/etc/rancher/k3s/k3s.yaml ~/.kube/config
|
|
||||||
|
|||||||
BIN
Terraform/.DS_Store
vendored
Normal file
BIN
Terraform/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/local/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/local/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.2/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/hashicorp/local/2.5.2/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/proxmox/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/proxmox/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/proxmox/3.0.1-rc4/.DS_Store
vendored
Normal file
BIN
Terraform/.terraform/providers/registry.terraform.io/telmate/proxmox/3.0.1-rc4/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/dnac/plugins/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/dnac/plugins/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/ise/plugins/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/ise/plugins/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/meraki/playbooks/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/meraki/playbooks/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/mso/plugins/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cisco/mso/plugins/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/extensions/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/extensions/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/extensions/eda/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/extensions/eda/.DS_Store
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/plugins/.DS_Store
vendored
Normal file
BIN
ansible_env/lib/python3.12/site-packages/ansible_collections/cyberark/pas/plugins/.DS_Store
vendored
Normal file
Binary file not shown.
9
cloud-init/master.yml
Normal file
9
cloud-init/master.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#cloud-config
|
||||||
|
users:
|
||||||
|
- name: root
|
||||||
|
ssh-authorized-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDItH73+vTvxxgMlv8vzpRt59KeKykYGhMhOCt+uWxbsuhjPvXRQC6dCwuDLy8heiYFO8bklOiLxLtz3GBOtp4OcjVRkgS7L4+qUn8QkAaJPQeEUuKADrCpxxLz0rYsgLo9WvQ9HS/WS15wmMHbSufGjXjhApZ3VODMyrtdaDOoyKm+YMahxY577TkX3yIdv3+yENPhP+rNdcWxFKYvEzOz2XACvq81fxfcYLN5opPbz+UILnQSyxI+TxZtzq3icPQAsVXPmZGBbryiSk3e5tFhE7ORkw1I2QG4CBEPZx+gAhbO0p3sCcdpLF7z4HxaGzJKpy6V8JxZHmLJCgQeSsgaeP3OvTU/lgsWw6xphEpQqJmb9dMjtJMyV8I/PxrLPP9ikh5tcqlXENLXSc6V4BkI1NUJZhYm0sYPcWW2ZeYy6gGzYiSgu3wqzqf0yG9j8NnMtdyvBLMhNKasqfd0CRK+CQ3apMghC68X7JK7CDA/edjfl2MA/QJ2ZoYBBzyXd9vUJgMlyZaxXG9NIA7rU88OZTmS+43y1BRNlkXh231EjtH7h25n+nYxYInFtFWbbi1liORxVO622Y4YnCdTJFoyiFGsuzSaDYfjRMzSHOjnUlUVsqYHPIfH6h/ZH5vVrAMihnIhqJDbi1rLtZVx0GsmpXMAWAee2oi4rEcEynydMQ== gba404@gmail.com
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: $1$/bB7Q1vR$Nz4PtA52uDdF6.pc.haec/
|
||||||
|
package_update: true
|
||||||
|
package_upgrade: true
|
||||||
BIN
inventory/.DS_Store
vendored
Normal file
BIN
inventory/.DS_Store
vendored
Normal file
Binary file not shown.
@ -7,7 +7,7 @@ extra_agent_args: ""
|
|||||||
copy_kubeconfig: true
|
copy_kubeconfig: true
|
||||||
metallb: true
|
metallb: true
|
||||||
metallb_version: "v0.14.8"
|
metallb_version: "v0.14.8"
|
||||||
metallb_range: "78.37.179.200-78.37.179.200"
|
metallb_range: "192.168.0.110-192.168.0.112"
|
||||||
argocd: false
|
argocd: false
|
||||||
argocd_service_type: LoadBalancer
|
argocd_service_type: LoadBalancer
|
||||||
dns_servers: []
|
dns_servers: []
|
||||||
|
|||||||
BIN
inventory/my-cluster/.DS_Store
vendored
Normal file
BIN
inventory/my-cluster/.DS_Store
vendored
Normal file
Binary file not shown.
14
inventory/my-cluster/group_vars/all.yml
Executable file
14
inventory/my-cluster/group_vars/all.yml
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
k3s_version: v1.30.6+k3s1
|
||||||
|
ansible_user: root
|
||||||
|
systemd_dir: /etc/systemd/system
|
||||||
|
master_ip: "{{ hostvars[groups['master'][0]]['ansible_host'] | default(groups['master'][0]) }}"
|
||||||
|
extra_server_args: "--write-kubeconfig-mode=644"
|
||||||
|
extra_agent_args: ""
|
||||||
|
copy_kubeconfig: true
|
||||||
|
metallb: true
|
||||||
|
metallb_version: "v0.14.8"
|
||||||
|
metallb_range: "192.168.0.110-192.168.0.112"
|
||||||
|
argocd: false
|
||||||
|
argocd_service_type: LoadBalancer
|
||||||
|
dns_servers: []
|
||||||
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
11
inventory/my-cluster/hosts.ini
Executable file
11
inventory/my-cluster/hosts.ini
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
[master]
|
||||||
|
192.168.0.109 ansible_ssh_private_key_file=/root/homelab-k3s/Terraform/key/id_rsa
|
||||||
|
|
||||||
|
[node]
|
||||||
|
192.168.0.110 ansible_ssh_private_key_file=/root/homelab-k3s/Terraform/key/id_rsa
|
||||||
|
192.168.0.111 ansible_ssh_private_key_file=/root/homelab-k3s/Terraform/key/id_rsa
|
||||||
|
192.168.0.112 ansible_ssh_private_key_file=/root/homelab-k3s/Terraform/key/id_rsa
|
||||||
|
|
||||||
|
[k3s_cluster:children]
|
||||||
|
master
|
||||||
|
node
|
||||||
@ -1,41 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: localai
|
|
||||||
labels:
|
|
||||||
app: localai
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: localai
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: localai
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: localai
|
|
||||||
image: quay.io/go-skynet/local-ai:v2.22.1-ffmpeg
|
|
||||||
ports:
|
|
||||||
- containerPort: 8080
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /models
|
|
||||||
name: model-volume
|
|
||||||
volumes:
|
|
||||||
- name: model-volume
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: localai-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: localai-service
|
|
||||||
spec:
|
|
||||||
type: LoadBalancer
|
|
||||||
selector:
|
|
||||||
app: localai
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
port: 80
|
|
||||||
targetPort: 8080
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: localai-ingress
|
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: web
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: localai.local
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: localai-service
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: localai-pvc
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 5Gi
|
|
||||||
storageClassName: longhorn
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
deployment:
|
|
||||||
image:
|
|
||||||
repository: quay.io/go-skynet/local-ai
|
|
||||||
tag: latest-cpu
|
|
||||||
env:
|
|
||||||
threads: 4
|
|
||||||
context_size: 512
|
|
||||||
modelsPath: "/models"
|
|
||||||
prompt_templates:
|
|
||||||
image: busybox
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
imagePullSecrets: []
|
|
||||||
|
|
||||||
resources:
|
|
||||||
{}
|
|
||||||
|
|
||||||
modelsConfigs:
|
|
||||||
{}
|
|
||||||
|
|
||||||
promptTemplates:
|
|
||||||
{}
|
|
||||||
|
|
||||||
initContainers: []
|
|
||||||
sidecarContainers: []
|
|
||||||
|
|
||||||
persistence:
|
|
||||||
models:
|
|
||||||
enabled: true
|
|
||||||
storageClass: "longhorn"
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
size: 10Gi
|
|
||||||
globalMount: /models
|
|
||||||
output:
|
|
||||||
enabled: true
|
|
||||||
storageClass: "longhorn"
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
size: 5Gi
|
|
||||||
globalMount: /tmp/generated
|
|
||||||
|
|
||||||
service:
|
|
||||||
type: LoadBalancer
|
|
||||||
port: 80
|
|
||||||
annotations: {}
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: false
|
|
||||||
hosts:
|
|
||||||
- host: localai.local
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: ImplementationSpecific
|
|
||||||
tls: []
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
affinity: {}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: planka-ingress
|
|
||||||
namespace: planka
|
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: web
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: planka.intr
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: planka
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: planka-admin-secret
|
|
||||||
namespace: planka
|
|
||||||
type: Opaque
|
|
||||||
data:
|
|
||||||
DEFAULT_ADMIN_EMAIL: Z2JhNDA0QGdtYWlsLmNvbQ==
|
|
||||||
DEFAULT_ADMIN_PASSWORD: ODE0OA==
|
|
||||||
DEFAULT_ADMIN_NAME: cm9vdA==
|
|
||||||
DEFAULT_ADMIN_USERNAME: cm9vdA==
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: planka
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: planka
|
|
||||||
type: LoadBalancer
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
port: 80
|
|
||||||
targetPort: 1337
|
|
||||||
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: planka
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: planka
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: planka
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: planka
|
|
||||||
image: ghcr.io/plankanban/planka:latest
|
|
||||||
env:
|
|
||||||
- name: DATABASE_URL
|
|
||||||
value: postgres://plankauser:8148@postgres.planka.svc.cluster.local:5432/planka
|
|
||||||
- name: SECRET_KEY
|
|
||||||
value: jdkdslsdklsdklskd
|
|
||||||
- name: BASE_URL
|
|
||||||
value: "http://planka.intr"
|
|
||||||
envFrom:
|
|
||||||
- secretRef:
|
|
||||||
name: planka-admin-secret
|
|
||||||
ports:
|
|
||||||
- containerPort: 1337
|
|
||||||
@ -1,52 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: postgres
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 5432
|
|
||||||
selector:
|
|
||||||
app: postgres
|
|
||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: postgres
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: postgres
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: postgres
|
|
||||||
spec:
|
|
||||||
securityContext:
|
|
||||||
fsGroup: 999
|
|
||||||
containers:
|
|
||||||
- name: postgres
|
|
||||||
image: postgres:13
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_DB
|
|
||||||
value: "planka"
|
|
||||||
- name: POSTGRES_USER
|
|
||||||
value: "plankauser"
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
value: "8148"
|
|
||||||
- name: PGDATA
|
|
||||||
value: "/var/lib/postgresql/data/pgdata"
|
|
||||||
ports:
|
|
||||||
- containerPort: 5432
|
|
||||||
volumeMounts:
|
|
||||||
- name: postgres-storage
|
|
||||||
mountPath: "/var/lib/postgresql/data"
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 999 # Пользователь, от имени которого запускается процесс
|
|
||||||
runAsGroup: 999 # Группа, от имени которой запускается процесс
|
|
||||||
allowPrivilegeEscalation: false
|
|
||||||
volumes:
|
|
||||||
- name: postgres-storage
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: postgres-pvc
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: postgres-pvc
|
|
||||||
namespace: planka
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 10Gi
|
|
||||||
storageClassName: longhorn
|
|
||||||
@ -1,28 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: coredns
|
|
||||||
namespace: kube-system
|
|
||||||
data:
|
|
||||||
Corefile: |
|
|
||||||
.:53 {
|
|
||||||
errors
|
|
||||||
health
|
|
||||||
ready
|
|
||||||
kubernetes cluster.local in-addr.arpa ip6.arpa {
|
|
||||||
pods insecure
|
|
||||||
fallthrough in-addr.arpa ip6.arpa
|
|
||||||
}
|
|
||||||
hosts /etc/coredns/NodeHosts {
|
|
||||||
ttl 60
|
|
||||||
reload 15s
|
|
||||||
fallthrough
|
|
||||||
}
|
|
||||||
prometheus :9153
|
|
||||||
forward . 8.8.8.8 1.1.1.1
|
|
||||||
cache 30
|
|
||||||
loop
|
|
||||||
reload
|
|
||||||
loadbalance
|
|
||||||
import /etc/coredns/custom/*.override
|
|
||||||
}
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: IPAddressPool
|
|
||||||
metadata:
|
|
||||||
name: my-ip-pool
|
|
||||||
namespace: metallb-system
|
|
||||||
spec:
|
|
||||||
addresses:
|
|
||||||
- 192.168.0.150-192.168.0.180 # Укажите здесь диапазон, доступный в вашей сети
|
|
||||||
---
|
|
||||||
apiVersion: metallb.io/v1beta1
|
|
||||||
kind: L2Advertisement
|
|
||||||
metadata:
|
|
||||||
name: my-l2-advertisement
|
|
||||||
namespace: metallb-system
|
|
||||||
spec: {}
|
|
||||||
|
|
||||||
@ -1,51 +0,0 @@
|
|||||||
# mariadb-deployment.yaml (обновленный)
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: mariadb
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: mariadb
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: mariadb
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: mariadb
|
|
||||||
image: mariadb:10.5
|
|
||||||
env:
|
|
||||||
- name: MYSQL_ROOT_PASSWORD
|
|
||||||
value: "8148"
|
|
||||||
- name: MYSQL_DATABASE
|
|
||||||
value: nextcloud
|
|
||||||
- name: MYSQL_USER
|
|
||||||
value: nextcloud_user
|
|
||||||
- name: MYSQL_PASSWORD
|
|
||||||
value: "1488"
|
|
||||||
ports:
|
|
||||||
- containerPort: 3306
|
|
||||||
name: mariadb
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /var/lib/mysql
|
|
||||||
name: mariadb-data
|
|
||||||
volumes:
|
|
||||||
- name: mariadb-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: mariadb-pvc
|
|
||||||
---
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: mariadb-service
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
selector:
|
|
||||||
app: mariadb
|
|
||||||
ports:
|
|
||||||
- port: 3306
|
|
||||||
targetPort: 3306
|
|
||||||
clusterIP: None
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
# mariadb-pvc.yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: mariadb-pvc
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
storageClassName: longhorn
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 5Gi # Укажите необходимый размер хранилища
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: nextcloud
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: nextcloud
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: nextcloud
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: nextcloud
|
|
||||||
image: nextcloud:stable
|
|
||||||
ports:
|
|
||||||
- containerPort: 80
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /var/www/html
|
|
||||||
name: nextcloud-data
|
|
||||||
env:
|
|
||||||
- name: MYSQL_HOST
|
|
||||||
value: "mariadb-service"
|
|
||||||
- name: MYSQL_DATABASE
|
|
||||||
value: "nextcloud"
|
|
||||||
- name: MYSQL_USER
|
|
||||||
value: "nextcloud_user"
|
|
||||||
- name: MYSQL_PASSWORD
|
|
||||||
value: "1488"
|
|
||||||
volumes:
|
|
||||||
- name: nextcloud-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: nextcloud-pvc
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: nextcloud-ingress
|
|
||||||
namespace: nextcloud
|
|
||||||
annotations:
|
|
||||||
traefik.ingress.kubernetes.io/router.entrypoints: web
|
|
||||||
spec:
|
|
||||||
rules:
|
|
||||||
- host: nextcloud.intr # Укажите ваш домен
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: nextcloud-service
|
|
||||||
port:
|
|
||||||
number: 80
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: nextcloud-pvc
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
storageClassName: longhorn
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteMany
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 10Gi
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: nextcloud-service
|
|
||||||
namespace: nextcloud
|
|
||||||
spec:
|
|
||||||
type: LoadBalancer # Или используйте 'NodePort', если 'LoadBalancer' недоступен
|
|
||||||
selector:
|
|
||||||
app: nextcloud
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
port: 80
|
|
||||||
targetPort: 80
|
|
||||||
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: kubernetes-dashboard-global-access
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: cluster-admin # Полный доступ ко всем ресурсам в кластере
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: default
|
|
||||||
namespace: kubernetes-dashboard
|
|
||||||
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
# traefik-acme-pvc.yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolumeClaim
|
|
||||||
metadata:
|
|
||||||
name: traefik-acme-pvc
|
|
||||||
namespace: kube-system
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
storageClassName: longhorn # Убедитесь, что используете правильный StorageClass
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 3Gi
|
|
||||||
@ -1,50 +0,0 @@
|
|||||||
# traefik-values.yaml
|
|
||||||
|
|
||||||
deployment:
|
|
||||||
podAnnotations:
|
|
||||||
prometheus.io/port: "8082"
|
|
||||||
prometheus.io/scrape: "true"
|
|
||||||
|
|
||||||
global:
|
|
||||||
systemDefaultRegistry: ""
|
|
||||||
|
|
||||||
image:
|
|
||||||
repository: rancher/mirrored-library-traefik
|
|
||||||
tag: 2.11.10
|
|
||||||
|
|
||||||
priorityClassName: system-cluster-critical
|
|
||||||
|
|
||||||
providers:
|
|
||||||
kubernetesIngress:
|
|
||||||
publishedService:
|
|
||||||
enabled: true
|
|
||||||
|
|
||||||
service:
|
|
||||||
type: LoadBalancer
|
|
||||||
ipFamilyPolicy: PreferDualStack
|
|
||||||
ports:
|
|
||||||
web:
|
|
||||||
port: 8000
|
|
||||||
exposedPort: 8000
|
|
||||||
websecure:
|
|
||||||
port: 8443
|
|
||||||
exposedPort: 8443
|
|
||||||
|
|
||||||
certificatesResolvers:
|
|
||||||
myresolver:
|
|
||||||
acme:
|
|
||||||
email: gba404@gmail.com # Замените на ваш email
|
|
||||||
storage: /letsencrypt/acme.json
|
|
||||||
httpChallenge:
|
|
||||||
entryPoint: web
|
|
||||||
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
existingClaim: traefik-acme-pvc
|
|
||||||
# Если хотите создать новый PVC через Helm, используйте следующие параметры:
|
|
||||||
accessMode: ReadWriteOnce
|
|
||||||
size: 3Gi
|
|
||||||
storageClass: longhorn
|
|
||||||
|
|
||||||
additionalArguments:
|
|
||||||
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
|
|
||||||
10
snippets/cloud_init_master_0.yml
Executable file
10
snippets/cloud_init_master_0.yml
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#cloud-config
|
||||||
|
hostname: k3s-master-0
|
||||||
|
users:
|
||||||
|
- name: root
|
||||||
|
ssh-authorized-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDItH73+vTvxxgMlv8vzpRt59KeKykYGhMhOCt+uWxbsuhjPvXRQC6dCwuDLy8heiYFO8bklOiLxLtz3GBOtp4OcjVRkgS7L4+qUn8QkAaJPQeEUuKADrCpxxLz0rYsgLo9WvQ9HS/WS15wmMHbSufGjXjhApZ3VODMyrtdaDOoyKm+YMahxY577TkX3yIdv3+yENPhP+rNdcWxFKYvEzOz2XACvq81fxfcYLN5opPbz+UILnQSyxI+TxZtzq3icPQAsVXPmZGBbryiSk3e5tFhE7ORkw1I2QG4CBEPZx+gAhbO0p3sCcdpLF7z4HxaGzJKpy6V8JxZHmLJCgQeSsgaeP3OvTU/lgsWw6xphEpQqJmb9dMjtJMyV8I/PxrLPP9ikh5tcqlXENLXSc6V4BkI1NUJZhYm0sYPcWW2ZeYy6gGzYiSgu3wqzqf0yG9j8NnMtdyvBLMhNKasqfd0CRK+CQ3apMghC68X7JK7CDA/edjfl2MA/QJ2ZoYBBzyXd9vUJgMlyZaxXG9NIA7rU88OZTmS+43y1BRNlkXh231EjtH7h25n+nYxYInFtFWbbi1liORxVO622Y4YnCdTJFoyiFGsuzSaDYfjRMzSHOjnUlUVsqYHPIfH6h/ZH5vVrAMihnIhqJDbi1rLtZVx0GsmpXMAWAee2oi4rEcEynydMQ== gba404@gmail.com
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: $1$/bB7Q1vR$Nz4PtA52uDdF6.pc.haec/
|
||||||
|
package_update: true
|
||||||
|
package_upgrade: true
|
||||||
10
snippets/cloud_init_worker_0.yml
Executable file
10
snippets/cloud_init_worker_0.yml
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#cloud-config
|
||||||
|
hostname: k3s-worker-0
|
||||||
|
users:
|
||||||
|
- name: root
|
||||||
|
ssh-authorized-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDItH73+vTvxxgMlv8vzpRt59KeKykYGhMhOCt+uWxbsuhjPvXRQC6dCwuDLy8heiYFO8bklOiLxLtz3GBOtp4OcjVRkgS7L4+qUn8QkAaJPQeEUuKADrCpxxLz0rYsgLo9WvQ9HS/WS15wmMHbSufGjXjhApZ3VODMyrtdaDOoyKm+YMahxY577TkX3yIdv3+yENPhP+rNdcWxFKYvEzOz2XACvq81fxfcYLN5opPbz+UILnQSyxI+TxZtzq3icPQAsVXPmZGBbryiSk3e5tFhE7ORkw1I2QG4CBEPZx+gAhbO0p3sCcdpLF7z4HxaGzJKpy6V8JxZHmLJCgQeSsgaeP3OvTU/lgsWw6xphEpQqJmb9dMjtJMyV8I/PxrLPP9ikh5tcqlXENLXSc6V4BkI1NUJZhYm0sYPcWW2ZeYy6gGzYiSgu3wqzqf0yG9j8NnMtdyvBLMhNKasqfd0CRK+CQ3apMghC68X7JK7CDA/edjfl2MA/QJ2ZoYBBzyXd9vUJgMlyZaxXG9NIA7rU88OZTmS+43y1BRNlkXh231EjtH7h25n+nYxYInFtFWbbi1liORxVO622Y4YnCdTJFoyiFGsuzSaDYfjRMzSHOjnUlUVsqYHPIfH6h/ZH5vVrAMihnIhqJDbi1rLtZVx0GsmpXMAWAee2oi4rEcEynydMQ== gba404@gmail.com
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: $1$/bB7Q1vR$Nz4PtA52uDdF6.pc.haec/
|
||||||
|
package_update: true
|
||||||
|
package_upgrade: true
|
||||||
10
snippets/cloud_init_worker_1.yml
Executable file
10
snippets/cloud_init_worker_1.yml
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#cloud-config
|
||||||
|
hostname: k3s-worker-1
|
||||||
|
users:
|
||||||
|
- name: root
|
||||||
|
ssh-authorized-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDItH73+vTvxxgMlv8vzpRt59KeKykYGhMhOCt+uWxbsuhjPvXRQC6dCwuDLy8heiYFO8bklOiLxLtz3GBOtp4OcjVRkgS7L4+qUn8QkAaJPQeEUuKADrCpxxLz0rYsgLo9WvQ9HS/WS15wmMHbSufGjXjhApZ3VODMyrtdaDOoyKm+YMahxY577TkX3yIdv3+yENPhP+rNdcWxFKYvEzOz2XACvq81fxfcYLN5opPbz+UILnQSyxI+TxZtzq3icPQAsVXPmZGBbryiSk3e5tFhE7ORkw1I2QG4CBEPZx+gAhbO0p3sCcdpLF7z4HxaGzJKpy6V8JxZHmLJCgQeSsgaeP3OvTU/lgsWw6xphEpQqJmb9dMjtJMyV8I/PxrLPP9ikh5tcqlXENLXSc6V4BkI1NUJZhYm0sYPcWW2ZeYy6gGzYiSgu3wqzqf0yG9j8NnMtdyvBLMhNKasqfd0CRK+CQ3apMghC68X7JK7CDA/edjfl2MA/QJ2ZoYBBzyXd9vUJgMlyZaxXG9NIA7rU88OZTmS+43y1BRNlkXh231EjtH7h25n+nYxYInFtFWbbi1liORxVO622Y4YnCdTJFoyiFGsuzSaDYfjRMzSHOjnUlUVsqYHPIfH6h/ZH5vVrAMihnIhqJDbi1rLtZVx0GsmpXMAWAee2oi4rEcEynydMQ== gba404@gmail.com
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: $1$/bB7Q1vR$Nz4PtA52uDdF6.pc.haec/
|
||||||
|
package_update: true
|
||||||
|
package_upgrade: true
|
||||||
10
snippets/cloud_init_worker_2.yml
Executable file
10
snippets/cloud_init_worker_2.yml
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#cloud-config
|
||||||
|
hostname: k3s-worker-2
|
||||||
|
users:
|
||||||
|
- name: root
|
||||||
|
ssh-authorized-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDItH73+vTvxxgMlv8vzpRt59KeKykYGhMhOCt+uWxbsuhjPvXRQC6dCwuDLy8heiYFO8bklOiLxLtz3GBOtp4OcjVRkgS7L4+qUn8QkAaJPQeEUuKADrCpxxLz0rYsgLo9WvQ9HS/WS15wmMHbSufGjXjhApZ3VODMyrtdaDOoyKm+YMahxY577TkX3yIdv3+yENPhP+rNdcWxFKYvEzOz2XACvq81fxfcYLN5opPbz+UILnQSyxI+TxZtzq3icPQAsVXPmZGBbryiSk3e5tFhE7ORkw1I2QG4CBEPZx+gAhbO0p3sCcdpLF7z4HxaGzJKpy6V8JxZHmLJCgQeSsgaeP3OvTU/lgsWw6xphEpQqJmb9dMjtJMyV8I/PxrLPP9ikh5tcqlXENLXSc6V4BkI1NUJZhYm0sYPcWW2ZeYy6gGzYiSgu3wqzqf0yG9j8NnMtdyvBLMhNKasqfd0CRK+CQ3apMghC68X7JK7CDA/edjfl2MA/QJ2ZoYBBzyXd9vUJgMlyZaxXG9NIA7rU88OZTmS+43y1BRNlkXh231EjtH7h25n+nYxYInFtFWbbi1liORxVO622Y4YnCdTJFoyiFGsuzSaDYfjRMzSHOjnUlUVsqYHPIfH6h/ZH5vVrAMihnIhqJDbi1rLtZVx0GsmpXMAWAee2oi4rEcEynydMQ== gba404@gmail.com
|
||||||
|
lock_passwd: false
|
||||||
|
passwd: $1$/bB7Q1vR$Nz4PtA52uDdF6.pc.haec/
|
||||||
|
package_update: true
|
||||||
|
package_upgrade: true
|
||||||
Loading…
Reference in New Issue
Block a user