techno-tim / k3s-ansible

The easiest way to bootstrap a self-hosted High Availability Kubernetes cluster. A fully automated HA k3s etcd install with kube-vip, MetalLB, and more. Build. Destroy. Repeat.
https://technotim.live/posts/k3s-etcd-ansible/
Apache License 2.0
2.41k stars 1.05k forks source link

Longhorn dependencies missing, flexible way to define extra packages to install on worker nodes #258

Closed acdoussan closed 1 year ago

acdoussan commented 1 year ago

FYI: This is probably more a feature request than a bug

Expected Behavior

When installing longhorn on a cluster using helm and flux, the install works

Current Behavior

https://forums.rancher.com/t/k8s-rancheros-longhorn/9919/2

the longhorn-manager pods throw the above error

Steps to Reproduce

  1. Create a new cluster
  2. Install flux
  3. try to install longhorn, get install failed

Context (variables)

Operating system: macOS

Hardware: n/a

Variables Used

n/a

all.yml

k3s_version: ""
ansible_user: NA
systemd_dir: ""

flannel_iface: ""

apiserver_endpoint: ""

k3s_token: "NA"

extra_server_args: ""
extra_agent_args: ""

kube_vip_tag_version: ""

metal_lb_speaker_tag_version: ""
metal_lb_controller_tag_version: ""

metal_lb_ip_range: ""

Hosts

host.ini

[master]
IP.ADDRESS.ONE
IP.ADDRESS.TWO
IP.ADDRESS.THREE

[node]
IP.ADDRESS.FOUR
IP.ADDRESS.FIVE

[k3s_cluster:children]
master
node

Possible Solution

I went onto the hosts and ran apt-get install open-iscsi and the pods started to launch successfully.

I am thinking that it's probably a good idea to create a new variable that is a list of additional packages to install when provisioning the cluster, maybe as part of the prereq tasks? Should probably only be for worker nodes. Just want to make sure you think this belongs here before I bother thinking more deeply about this.