Skip to content

Instantly share code, notes, and snippets.

View ams0's full-sized avatar
🏠
Working from home

Alessandro Vozza ams0

🏠
Working from home
View GitHub Profile
@ams0
ams0 / kindc.sh
Last active March 16, 2025 22:43
Create a Kind cluster with Cilium as LoadBalancer service provider
#!/bin/bash
set -e
# Default values
DEFAULTK8SVERSION="v1.32.2"
DEFAULTNAME="kind"
CILIUM_VERSION="1.17.0"
DEFAULTIMAGE="kindest/node"
# This file can be regenerated by running the following command:
# cd examples/omni/apps/kube-system/cilium/ && helm dependency build
# helm template cilium . --namespace kube-system | yq -i 'with(.cluster.inlineManifests.[] | select(.name=="cilium"); .contents=load_str("/dev/stdin"))' ../../../infra/patches/cilium.yaml
cluster:
inlineManifests:
- name: cilium
contents: "---\n# Source: cilium/charts/cilium/templates/cilium-secrets-namespace.yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n name: \"cilium-secrets\"\n labels:\n app.kubernetes.io/part-of: cilium\n---\n# Source: cilium/charts/cilium/templates/cilium-agent/serviceaccount.yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: \"cilium\"\n namespace: kube-system\n---\n# Source: cilium/charts/cilium/templates/cilium-envoy/serviceaccount.yaml\napiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: \"cilium-envoy\"\n namespace: kube-system\n---\n# Source: cilium/charts/cilium/templates/cilium-operator/serviceaccount.ya
@ams0
ams0 / MAC-f44d30666baf.ipxe
Last active January 19, 2025 08:32
PXEboot into an Ubuntu installer
#!ipxe
# ubuntu plucky penguin
# $seedfrom used to find the user-data and meta-data files by nocloud-net provider for cloud-init.
# the trailing slash is important, the cloud-init sticks 'meta-data' or 'user-data' right after it, without prepending a forward slash.
set seedfrom http://pi.nas.home:8888/ubuntu/metadata
# $base url is where the vmlinuz and initrd live.
# they were fished out from the live-server iso file. the iso file is also in this directory.
set base http://pi.nas.home:8888/ubuntu/
#!/bin/bash
#kubectl aliases
curl https://raw.githubusercontent.com/ahmetb/kubectl-alias/master/.kubectl_aliases -o ~/.kubectl_aliases ; source ~/.kubectl_aliases
echo "source ~/.kubectl_aliases" >> ~/.bashrc
source ~/.kubectl_aliases
#kube-ps1
wget https://raw.githubusercontent.com/jonmosco/kube-ps1/refs/heads/master/kube-ps1.sh -O $HOME/.kube-ps1.sh
source "$HOME/.kube-ps1.sh"
# Open source AI/ML workloads on Cloud Native Infrastructure: match made in heaven - Devtalks.ro - 2024
# https://docs.google.com/presentation/d/16P7rNydNXLn6AA3rDL8ZB7yevkZ3lWLwTPizlV5OB3A/edit?usp=sharing
#
export RG=aksclusters
export AZURE_LOCATION=westeurope
export CLUSTER_NAME=kaito
export K8S_VERSION=1.29.4
export ACR_NAME=aicommdaynl
az acr create --resource-group $RG --name $ACR_NAME --sku Basic
@ams0
ams0 / kind_cilium.sh
Last active October 23, 2024 19:00
Create Script to deploy a multinode kind cluster with Cilium, MetalLB and local folder sharing
#!/bin/bash
# Usage: ./kind_cilium.sh -k <k8s_version> -n <cluster_name> -s <start_ip> -e <end_ip> -i <image> -p <preload> -m <mount_hostpath> -c <cilium> -t <metalLB>
# Example: ./kind_cilium.sh -k v1.21.1 -n kind -s 200 -e 250 -p true -m true -c false -t false
set -e
# Default values
DEFAULTK8SVERSION="v1.31.0"
DEFAULTNAME="kind"
variable "env_id" {}
variable "region" {}
variable "simple_env_id" {}
variable "subscription_id" {}
variable "tenant_id" {}
#Istio check
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: nginx
name: nginx
spec:
replicas: 1
#Cilium cluster mesh with kind
cat <<EOF | kind create cluster --image kindest/node:v1.28.0 --config -
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: cluster-01
nodes:
- role: control-plane
- role: worker
networking:
#!/bin/bash
# LFS458 VM prep script
#update and upgrade
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
apt-get upgrade -y
#add basic tools
apt-get install -y vim curl apt-transport-https vim git wget software-properties-common lsb-release ca-certificates -y