Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support to two different cluster storage architectures (dedicated disks and SAN iSCSI disks) #13

Merged
merged 14 commits into from Nov 24, 2021

Conversation

ricsanfre
Copy link
Owner

Changes Introduced

  • New hardware:
    • 3 SSD disk (240 GB)
    • 3 SATA to USB adapters
    • SSD Rack Case
  • Cluster hardware reconfiguration
    • Add a SSD disk to each node of the cluster node to improve performance. Reusing 480 GB SSD disk used in the previous architecture as centralized SAN, this disk will be attached to node1 to configure it as backup node, for implementing PR Design and implement cluster backup architecture #6
    • Boot and running from SSD will increase computing performance of each Raspberry PI (SSD better I/O metrics than Flash Disk)
    • Use of local storage (dedicated partition within SSD disk) by Kubernetes Distributed Solution (Longhorn) instead of iSCSI volumes will increase performance of pods running on the cluster.
  • Add automation support for two storage architectures (dedicated_disks and centralized_san). Updating anbible playbooks and roles involved in the pi cluster setup and cloud-init files
    • Cloud-init files changes:
      • Files refactoring and simplification (removing unnecessary lines)
      • Security hardening (remove default ubuntu user, enable only SSH access)
      • Automatic partition of SSD disk in boot time: leaving root file partition with 30GB and reusing the rest for local storage.
      • Maintaining cloud-init files versions for the two storage architectures: dedicated disks and centralized_san
    • Ansible Playbooks:
      • setup_pi.yml playbook adaptation to support two different storage architectures. Storage-related ansible variables removed from hosts/groups variable files and put into dedicated files in vars directory. Different var files loaded by ansible playbook in run-time depending on the storage architecture selected.
      • Yamllint refactoring: Solving yamllint issues with ansible playbooks and kubernetes manifest templates.
  • Documentation:
    • Updated installation documentation

Issues fixed by this PR:

Copy link
Owner Author

@ricsanfre ricsanfre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor modifications

ansible/host_vars/gateway.yml Outdated Show resolved Hide resolved
cloud-init-ubuntu-images/centralized_san/gateway/user-data Outdated Show resolved Hide resolved
cloud-init-ubuntu-images/dedicated_disks/gateway/user-data Outdated Show resolved Hide resolved
@ricsanfre ricsanfre merged commit 6d85b0b into master Nov 24, 2021
@ricsanfre ricsanfre deleted the new-hardware branch November 24, 2021 17:51
@ricsanfre ricsanfre restored the new-hardware branch November 25, 2021 14:24
@ricsanfre ricsanfre deleted the new-hardware branch January 4, 2022 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redesign cluster architecture (new Hardware)
1 participant