
Как создать собственный дистрибутив Kubernetes I
antonkrylov 10 минут назад Как создать собственный дистрибутив Kubernetes I Сложный 21 мин 173 DevOps * *nix * Туториал Recovery Mode k8s-release — инструмент для сборки воспроизводимых DEB/RPM-пакетов компонентов...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: antonkrylov 10 минут назад Как создать собственный дистрибутив Kubernetes I Сложный 21 мин 173 DevOps * *nix * Туториал Recovery Mode k8s-release — инструмент для сборки воспроизводимых DEB/RPM-пакетов компонентов Kubernetes (kubelet, kube-apiserver, etcd, Flannel, Istio и др. ) в герметичном Docker-окружении. Создаёт подписанные apt/yum-репозитории, SBOM, хеш-суммы и airgap-бандлы для закрытых, регулируемых и изолированных сред.
В репозитории также лежит Terraform-модуль для развёртывания HA Kubernetes на микро-ВМ Firecracker: 3 control-plane, 1+ workers, Flannel, Istio, SELinux enforcing. k8s-release собирает любые комбинации компонентов через флаг --component:. /k8s-release build v1.
Технические детали
1 --component kubelet,kubectl --format deb,rpm . /k8s-release build v1. 1 --component all --format deb .
/k8s-release build 3. 22 --component etcd --format rpm . /k8s-release build 1.
0 --component istio --format deb,rpmМожно указать отдельные компоненты (kubelet, etcd, flannel, istio), all для всего сразу, и формат пакетов — deb, rpm или оба. Как использоватьПодготовкаgit clone cd k8s-release/terraform/k2vm-ha-lab cp terraform. tfvarsНа удалённом хосте должны быть: Firecracker, Docker, ядро, initrd, модули и подготовленный rootfs.
Отраслевые последствия
ext4 по путям из переменных. terraform init terraform plan terraform apply terraform destroyvariable "name" { type = string; default = "k8s-ha-lab" } variable "target_host" { type = string; default = "" } variable "target_user" { type = string; default = "root" } variable "github_repo" { type = string; default = "ingresslabs/k8s-release" } variable "github_run_id" { type = number; default = 26680027183 } variable "control_plane_count" { type = number; default = 3 } variable "worker_count" { type = number; default = 2 } variable "kubernetes_version" { type = string; default = "v1. 1" } variable "subnet_prefix" { type = string; default = "198.
2" } variable "network_plugin" { type = string; default = "flannel" } variable "firecracker_binary" { type = string; default = "/usr/local/bin/firecracker" } variable "kernel_path" { type = string; default = "/opt/fc-lab/vmlinux-5. 15-generic" } variable "initrd_path" { type = string; default = "/opt/fc-lab/initrd-5. img" } variable "kernel_modules_tar_path" { type = string; default = "/opt/fc-lab/modules-5.
gz" } variable "base_rootfs_path" { type = string; default = "/opt/fc-lab/rootfs. ext4" } variable "vcpu_count" { type = number; default = 2 } variable "guest_selinux_mode" { type = string; default = "permissive" } variable "enable_istio" { type = bool; default = false } variable "redeploy_token" { type = string; default = "" }# main. tf — развёртывание Kubernetes HA на Firecracker через k8s-release terraform { required_version = ">= 1.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





