fix(guides): news + guide for docker talos (#35604)
**Description** <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. --> ⚒️ Fixes # <!--(issue)--> **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [ ] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] 🔃 Refactor of current code - [x] 📜 Documentation Changes **🧪 How Has This Been Tested?** <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> **📃 Notes:** <!-- Please enter any other relevant information here --> **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made changes to the documentation - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning - [ ] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or `fix(docs):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com> Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl> Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
---
|
||||
title: Talos as a Docker-Compose App
|
||||
---
|
||||
|
||||
:::caution[Disclaimer]
|
||||
|
||||
This guide is not covered by the Support Policy and some features wont work when running Talos as a dockerfile.
|
||||
|
||||
:::
|
||||
|
||||
Talos can be run as a docker container. This has a couple of downsides like:
|
||||
|
||||
- No system-extensions
|
||||
- No TalosCTL reset -> restart the containers and/or wipe container storage instead
|
||||
- Dependance on host-kernel -> host kernel might not be optimised for talos
|
||||
- No MetalLB -> use ServiceLB or node port instead
|
||||
- No TalosCTL Upgrade -> update the container instead
|
||||
- Nvidia GPU Assignment
|
||||
- Warning spam in container logs that it cant alter bpf related stuff
|
||||
- CEPH and such can hijack drives -> Be careful!
|
||||
|
||||
## Setup Instructions
|
||||
|
||||
### Dockerfile
|
||||
|
||||
Following you will find a dockerfile on how to run Talos as a docker container.
|
||||
|
||||
```yaml
|
||||
services:
|
||||
talos-control-1:
|
||||
container_name: talos-control-1
|
||||
environment:
|
||||
- PLATFORM=container
|
||||
hostname: talos-control-1
|
||||
image: ghcr.io/siderolabs/talos:v1.10.2
|
||||
networks:
|
||||
talosnet:
|
||||
ipv4_address: 192.168.10.50
|
||||
privileged: true
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /run
|
||||
- /system
|
||||
- /tmp
|
||||
volumes:
|
||||
- /dev/zfs:/dev/zfs
|
||||
- /mnt/tank/apps/talos/control/system/state:/system/state
|
||||
- /mnt/tank/apps/talos/control/system/var:/var
|
||||
- /mnt/tank/apps/talos/control/system/cni:/etc/cni
|
||||
- /mnt/tank/apps/talos/control/system/kubernetes:/etc/kubernetes
|
||||
- /mnt/tank/apps/talos/control/system/libexec:/usr/libexec/kubernetes
|
||||
- /mnt/tank/apps/talos/control/system/opt:/opt
|
||||
- /mnt/tank/apps/talos/control/data/openebs:/var/openebs/local
|
||||
talos-worker-1:
|
||||
container_name: talos-worker-1
|
||||
environment:
|
||||
- PLATFORM=container
|
||||
hostname: talos-worker-1
|
||||
image: ghcr.io/siderolabs/talos:v1.10.2
|
||||
networks:
|
||||
talosnet:
|
||||
ipv4_address: 192.168.10.51
|
||||
privileged: true
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /run
|
||||
- /system
|
||||
- /tmp
|
||||
volumes:
|
||||
- /dev/zfs:/dev/zfs
|
||||
- /mnt/tank/apps/talos/worker/system/state:/system/state
|
||||
- /mnt/tank/apps/talos/worker/system/var:/var
|
||||
- /mnt/tank/apps/talos/worker/system/cni:/etc/cni
|
||||
- /mnt/tank/apps/talos/worker/system/kubernetes:/etc/kubernetes
|
||||
- /mnt/tank/apps/talos/worker/system/libexec:/usr/libexec/kubernetes
|
||||
- /mnt/tank/apps/talos/worker/system/opt:/opt
|
||||
- /mnt/tank/apps/talos/worker/data/openebs:/var/openebs/local
|
||||
networks:
|
||||
talosnet:
|
||||
driver: macvlan
|
||||
driver_opts:
|
||||
parent: br0
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.10.0/24
|
||||
gateway: 192.168.10.1
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Clustertool
|
||||
|
||||
#### talconfig
|
||||
|
||||
This modification for your talconfig, should allow for automatic selection of the container NIC.
|
||||
This is needed for each node defined
|
||||
|
||||
|
||||
|
||||
```yaml
|
||||
|
||||
nodes:
|
||||
- hostname: talos-control-1
|
||||
networkInterfaces:
|
||||
- deviceSelector:
|
||||
hardwareAddr: "02:*"
|
||||
```
|
||||
|
||||
#### Machineconfig
|
||||
|
||||
Running Talos inside a dockerfile requires some modifications to talos machine config:
|
||||
|
||||
```yaml
|
||||
|
||||
machine:
|
||||
features:
|
||||
hostDNS:
|
||||
enabled: true
|
||||
forwardKubeDNSToHost: true
|
||||
|
||||
```
|
||||
|
||||
This either has to be done manually or in a patchfile.
|
||||
|
||||
#### Other requirements
|
||||
|
||||
After Clustertool bootstrap, be sure to delete/comment-out:
|
||||
|
||||
- MetalLB
|
||||
- Longhorn
|
||||
|
||||
|
||||
|
||||
## Further testing needed
|
||||
|
||||
|
||||
### ClusterTool compatibility
|
||||
|
||||
The able has previously been tested with "normal" useage of `talosctl apply`, on machineconfigs created, and manually altered, using `clustertool genconfig`.
|
||||
Its not been validated for clustertool bootstrapping as of yet
|
||||
|
||||
|
||||
|
||||
### Intel GPU support
|
||||
|
||||
We assume that doing the volume-forwards to the container like normal for adding intel GPUs to containers, would work fine.
|
||||
But we've not tested this yet
|
||||
|
||||
### OpenEBS ZFS-PV
|
||||
|
||||
We assume that the included /dev/zfs forward is going to be enough to even setup OpenEBS ZFS-PV with access to the pool.
|
||||
But we've not officially tested this.
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
slug: "news/puffin-post"
|
||||
title: "MrPuffins new role"
|
||||
authors: [privatepuffin]
|
||||
date: 2025-04-10
|
||||
date: 2025-05-01
|
||||
tags:
|
||||
- "2025"
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
slug: "news/docker-compose-talos"
|
||||
title: "Truenas-Oriented Talos Docker-Compose"
|
||||
authors: [alfi0812, privatepuffin]
|
||||
date: 2025-05-28
|
||||
tags:
|
||||
- "2025"
|
||||
---
|
||||
|
||||
## TrueNAS Switches to Incus with Fangtooth Release — VM Support Now Experimental
|
||||
|
||||
With the release of TrueNAS SCALE Fangtooth, iXsystems has officially switched its virtualization backend from KVM to Incus.
|
||||
This transition has introduced several limitations, and VM support is now also labeled as experimental. Leaving users without a stable VM-solution on TrueNAS.
|
||||
|
||||
Users have reported performance issues with the new Incus-based VM system,
|
||||
and some previously supported configurations—such as running VMs with raw-file backed disks
|
||||
(making use of ZFS small-blocks special-vdevs) — are no longer functional.
|
||||
Currently, there is no official Incus-Guest-Agent available on Talos, making it difficult for users to control the VM threw TrueNAS UI.
|
||||
|
||||
Users have been requesting a Kubernetes solution within the iX-supported Apps/Instances system for quite some time.
|
||||
Traditional containerization approaches like LXC/LXD or jails were never viable options for us,
|
||||
as they lack support for Talos and present significant management challenges.
|
||||
However, after careful testing and evaluation, we've concluded that integrating Talos in container form within the existing Docker Compose-based Apps system presents a compelling solution.
|
||||
This approach enables users to run Kubernetes on TrueNAS SCALE without the added complexity of virtual machines or the maintenance burden of homegrown setups,
|
||||
striking a practical balance between performance, simplicity, and native integration.
|
||||
|
||||
In light of this, We have reaffirmed our commitment to the TrueNAS community by releasing a new guide
|
||||
on how to run Talos as a Docker container inside SCALE Apps.
|
||||
This approach provides a practical alternative for those affected by the VM backend changes,
|
||||
allowing continued experimentation and development with Talos despite the Incus limitations.
|
||||
|
||||
To get started with Talos as a Docker-Compose App following the following [this](/guides/talos/docker).
|
||||
Reference in New Issue
Block a user