stackconf 2024 | Talos Linux One (Immutable) OS to Rule Them All by Pip Oomen.pdf

NETWAYS 114 views 17 slides Jul 26, 2024
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

Talos Linux is Linux designed for Kubernetes – secure, immutable, and minimal. It is based on a hardened kernel and a minimal user space, ie. no SSH, shell or console. All system management is done via a gRPC API. In this presentation the audience will be introduced to Talos Linux and be shown how...


Slide Content

Emerging container technologies
Talos Linux
one (immutable) OS to rule them all
Pip Oomen
Platform engineer
Kubestronaut (KCNA/KCSA/CKA/CKAD/CKS)

Building the Nordic digital society

What is Talos Linux?
Talos is built for running Kubernetes
●Minimal
●Immutable
●Secure
●gRPC API w/ mTLS

Designed for Kubernetes
●Do one thing, and do it very, very well
●There is only the cluster
●Self-healing
●Replace misbehaving parts
●Noflake (né cattle) computing FTW

Not based on X distro
●Not Yet Another Linux Distribution (YALD)
●2nd generation container optimised OS
●Userspace rewrite from scratch in GoLang
●Published as a signed and versioned image
●machined replaces systemd (PID 1)

Minimal
●Built from scratch
●No shell
●No SSH
●No GNU utilities
●Only 80MB, 12 executables (as of v1.7.0)!

Immutable
●Runs from SquashFS
●Image delivery through single and versioned files
●Reproducible builds
●Highly controlled write points

Secure
●Signed images
●No passwords
●Encrypted and authenticated networking
●Short lived certificates
●Enforced Kubernetes PKI

Ephemeral
●Read only
●Replicated
●Reconstructable

Declarative
●No scripting
●No procedural steps
●No imperative configuration

Distributed
●High available dataplane
●Ad-hoc etcd cluster (w/o sacrificing security)
●Workloads intended to be distributed
●Preventing SPoFs

Where to run Talos Linux?
●Bare metal
●Virtualised
●Cloud
●Local
●Single board

Demo
Creating clusters
●Cloud cluster on OpenStack
●Local cluster on Podman

Configuration
% talosctl gen secrets
% talosctl gen config openstack
> https://k8s.talos.rlnc.eu:6443 --with-secrets secrets.yaml
% ls -1 *.yaml
controlplane.yaml
secrets.yaml
worker.yaml

Virtual machines
% openstack server create controlplane-0
> --flavor gXcd.small --image talos-1.6.6 --user-data controlplane.yaml
% openstack server create worker-0
> --flavor gXcd.small --image talos-1.6.6 --user-data worker.yaml

Demo

Links
●Homepage: www.talos.dev
●GitHub: github.com/siderolabs/talos
●Documentation: www.talos.dev/v1.7
●Slack: https://slack.dev.talos-systems.io/
●www.siderolabs.com