Minikube MetalLB: Difference between revisions
Jump to navigation
Jump to search
| (34 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
helm repo add metallb https://metallb.github.io/metallb | |||
helm repo update && helm repo list | |||
kubectl config get-contexts | |||
==Config== | |||
<syntaxhighlight lang="properties"> | |||
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml" | |||
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml" | |||
export KUBECONFIG="${HOME}/.kube/config" | |||
</syntaxhighlight> | |||
==Install== | |||
{| | |||
|valign="top"| | |||
<syntaxhighlight lang="bash"> | |||
helm show values metallb/metallb --version=0.14.8|less | |||
helm show values metallb/metallb --version=0.14.9|less | |||
kubectl get ns|grep metallb-system | |||
kubectl delete ns metallb-system | |||
kubectl get ns|grep metallb-system | |||
kubectl create ns metallb-system | |||
</syntaxhighlight> | |||
|- | |||
|colspan="2"| | |||
---- | |||
|- | |||
|colspan="2"| | |||
<syntaxhighlight lang="yaml"> | |||
cat <<YML | helm -n=metallb-system install metallb metallb/metallb --version=0.14.9 -f=- | |||
--- | |||
installCRDs: true | |||
fullnameOverride: metallb | |||
YML | |||
</syntaxhighlight> | |||
|- | |||
|colspan="2"| | |||
---- | |||
|- | |||
|colspan="2"| | |||
<syntaxhighlight lang="bash"> | |||
cat << YML | kubectl -n=metallb-system apply -f=- | |||
--- | |||
apiVersion: metallb.io/v1beta1 | |||
kind: IPAddressPool | |||
metadata: | |||
name: metallb-ip-pool | |||
namespace: metallb-system | |||
spec: | |||
addresses: | |||
- 192.168.49.100-192.168.49.199 | |||
--- | |||
apiVersion: metallb.io/v1beta1 | |||
kind: L2Advertisement | |||
metadata: | |||
name: metallb-l2-ad | |||
namespace: metallb-system | |||
spec: | |||
ipAddressPools: | |||
- metallb-ip-pool | |||
YML | |||
</syntaxhighlight> | |||
|} | |||
==Uninstall== | |||
<syntaxhighlight lang="bash"> | |||
helm uninstall -n=metallb-system metallb | |||
kubectl delete namespace metallb | |||
</syntaxhighlight> | |||
==MetalLB » Forward== | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' colspan='4' style='width:800px'| | |||
MetalLB » Implement » Forward » Routing | |||
|- | |||
!scope='col' style='width:160px'| Name | |||
!scope='col' style='width:170px'| Network | |||
!scope='col' style='width:270px'| Subnets | |||
!scope='col' style='width:90px' | Forward | |||
|- | |||
| Network » MetalLB || <code>192.168.49.100/30</code> || <code>192.168.49.100 … 103/30 = 04</code> ||style='text-align:center'| ✅ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.104/30</code> || <code>192.168.49.104 … 107/24 = 04</code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.104/29</code> || <code>192.168.49.104 … 111/29 = 08</code> ||style='text-align:center'| ✅ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.112/29</code> || <code>192.168.49.112 … 119/29 = 08</code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.112/28</code> || <code>192.168.49.112 … 127/28 = 16</code> ||style='text-align:center'| ✅ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.128/28</code> || <code>192.168.49.128 … 143/28 = 16</code> ||style='text-align:center'| ⚪️ | |||
|- | |||
!scope='col' style='width:160px'| Name | |||
!scope='col' style='width:170px'| Network | |||
!scope='col' style='width:270px'| Subnets | |||
!scope='col' style='width:90px' | Forward | |||
|- | |||
| Network » MetalLB || <code>192.168.49.128/27</code> || <code>192.168.49.128 … 159/27 = 32</code> ||style='text-align:center'| ✅ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.160/27</code> || <code>192.168.49.160 … 191/27 = 32</code> ||style='text-align:center'| ✅ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.192/27</code> || <code>192.168.49.192 … 223/27 = 32</code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| Network » MetalLB || <code>192.168.49.192/29</code> || <code>192.168.49.192 … 199/29 = 08</code> ||style='text-align:center'| ✅ | |||
|} | |||
==MetalLB » Forward » Route== | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='width:1000px'| | |||
'''MetalLB » IP » Route » Service''' | |||
|- | |||
|valign='top'| | |||
vim /etc/sysctl.conf | |||
<syntaxhighlight lang="ini" line start="27" highlight="2"> | |||
# Uncomment the next line to enable packet forwarding for IPv4 | |||
net.ipv4.ip_forward=1 | |||
</syntaxhighlight> | |||
---- | |||
sudo sysctl -p | |||
'''net.ipv4.ip_forward = 1''' | |||
ip route | grep default | |||
default via 172.31.1.1 dev eth0 proto dhcp src 65.21.251.38 metric 100 | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat << EXE | sudo bash | |||
cat << ENV | tee /etc/default/metallb-route >/dev/null | |||
METAL_LB_GTW_NAME=minikube | |||
METAL_LB_GTW_HOST=$(docker network inspect minikube|jq -r '.[].Containers[]?.IPv4Address|split("/")[0]') | |||
ENV | |||
echo | |||
cat /etc/default/metallb-route | |||
EXE | |||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="ini"> | |||
cat <<'INI' | sudo tee /etc/systemd/system/metallb-route.service >/dev/null | |||
[Unit] | |||
Description=MetalLB Routes | |||
Wants=network-online.target docker.service snap.lxd.daemon.service containerd.service minikube.service | |||
After=network-online.target docker.service snap.lxd.daemon.service containerd.service minikube.service | |||
[Service] | |||
Type=oneshot | |||
EnvironmentFile=-/etc/default/metallb-route | |||
ExecStartPre=/bin/sleep 15 | |||
ExecStartPre=/bin/bash -c "if [ -z \"${METAL_LB_GTW_HOST}\" ]; then echo \"Variable METAL_LB_GTW_HOST not set in /etc/default/metallb-route\"; errors_exit; fi" | |||
ExecStart=/usr/sbin/ip route add 192.168.49.100/30 via ${METAL_LB_GTW_HOST} | |||
ExecStart=/usr/sbin/ip route add 192.168.49.104/29 via ${METAL_LB_GTW_HOST} | |||
ExecStart=/usr/sbin/ip route add 192.168.49.112/28 via ${METAL_LB_GTW_HOST} | |||
ExecStart=/usr/sbin/ip route add 192.168.49.128/27 via ${METAL_LB_GTW_HOST} | |||
ExecStart=/usr/sbin/ip route add 192.168.49.160/27 via ${METAL_LB_GTW_HOST} | |||
ExecStart=/usr/sbin/ip route add 192.168.49.192/29 via ${METAL_LB_GTW_HOST} | |||
ExecStop=/usr/sbin/ip route del 192.168.49.100/30 | |||
ExecStop=/usr/sbin/ip route del 192.168.49.104/29 | |||
ExecStop=/usr/sbin/ip route del 192.168.49.112/28 | |||
ExecStop=/usr/sbin/ip route del 192.168.49.128/27 | |||
ExecStop=/usr/sbin/ip route del 192.168.49.160/27 | |||
ExecStop=/usr/sbin/ip route del 192.168.49.192/29 | |||
RemainAfterExit=yes | |||
[Install] | |||
WantedBy=multi-user.target | |||
INI | |||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat << EXE | sudo bash | |||
systemctl daemon-reload | |||
cat /etc/systemd/system/metallb-route.service | |||
systemctl enable --now metallb-route.service | |||
systemctl status metallb-route.service | |||
echo && ip route show | |||
echo && sysctl -p | |||
EXE | |||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat << EXE | bash | |||
traceroute 192.168.49.100 | |||
traceroute 192.168.49.101 | |||
EXE | |||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat << EXE | sudo bash | |||
systemctl daemon-reload | |||
cat /etc/systemd/system/metallb-route.service | |||
systemctl disable --now metallb-route.service | |||
systemctl status metallb-route.service | |||
echo && ip route show | |||
echo && sysctl -p | |||
EXE | |||
</syntaxhighlight> | |||
|} | |||
==MetalLB » LoadBalancer » IP== | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' colspan='4' style='width:800px'| | |||
MetalLB » LoadBalancer » IPs | |||
|- | |||
!scope="col" style='width:240px'| Name | |||
!scope="col" style='width:180px'| IPv4 | |||
!scope="col" style='width:240px'| Port | |||
!scope="col" style='width:100px'| Active | |||
|- | |||
| [[Helm/Kafka|Helm » Kafka]] || <code>192.168.49.100/32</code> ||style='text-align:right'| <code>9094</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/MariaDB|Helm » MariaDB]] || <code>192.168.49.101/32</code> ||style='text-align:right'| <code>3306</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/PostgreSQL|Helm » PostgreSQL]] || <code>192.168.49.102/32</code> ||style='text-align:right'| <code>5432</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[K8s/PgBouncer|K8s » PgBouncer]] || <code>192.168.49.103/32</code> ||style='text-align:right'| <code>5432</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/Jenkins|Helm » Jenkins]] || <code>192.168.49.104/32</code> ||style='text-align:right'| <code>50000</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[K8s/PgVector|K8s » PgVector]] || <code>192.168.49.105/32</code> ||style='text-align:right'| <code>5432</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/Redis|Helm » Redis]] || <code>192.168.49.106/32</code> ||style='text-align:right'| <code>6379</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/MongoDB|Helm » MongoDB]] || <code>192.168.49.107/32</code> ||style='text-align:right'| <code>27017</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/Consul|Helm » Consul]] || <code>192.168.49.108/32</code> ||style='text-align:right'| <code>8500</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| [[Helm/Harbor|Helm » Harbor]] || <code>192.168.49.109/32</code> ||style='text-align:right'| <code>443</code> ||style='text-align:center'| 🟢 | |||
|- | |||
!scope="col" style='width:240px'| Name | |||
!scope="col" style='width:180px'| IPv4 | |||
!scope="col" style='width:240px'| Port | |||
!scope="col" style='width:100px'| Active | |||
|- | |||
| [[Helm/Pi-Hole|Helm » Pi-Hole]] || <code>192.168.49.110/32</code> ||style='text-align:right'| <code>53,80,443</code> ||style='text-align:center'| 🟢 | |||
|- | |||
| || <code>192.168.49.111/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.112/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.113/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.114/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.115/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.116/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.117/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.118/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|- | |||
| || <code>192.168.49.119/32</code> ||style='text-align:right'| <code></code> ||style='text-align:center'| ⚪️ | |||
|} | |||
==Playground== | ==Playground== | ||
{| | {| | ||
| colspan="3" | | |||
<syntaxhighlight lang="bash"> | |||
kubectl get pods -n metallb-system -o=yaml|yq -r .items[].spec.containers[].image|awk -F @ '{printf("%s\n", $1)}'|sort -h | |||
kubectl -n=metallb-system logs -f svc/metallb-webhook-service -c=controller | |||
kubectl -n=metallb-system logs -f svc/metallb-webhook-service | |||
kubectl -n=metallb-system describe L2Advertisement metallb-l2-ad | |||
kubectl -n=metallb-system get L2Advertisement | |||
kubectl -n=metallb-system describe IPAddressPool metallb-ip-pool | |||
kubectl -n=metallb-system get IPAddressPool | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
|valign="top"| | |valign="top"| | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Line 56: | Line 332: | ||
| valign="top" | | | valign="top" | | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
minikube addons enable metallb | minikube addons disable metallb | ||
minikube addons enable metallb | |||
minikube addons list | minikube addons list | ||
minikube status | minikube status | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| valign="top" | | | valign="top" | | ||
<syntaxhighlight lang="bash"> | |||
sudo journalctl -xeu minikube-tunnel | |||
sudo journalctl -xeu minikube | |||
sudo -i -u minikube | |||
minikube ssh | |||
</syntaxhighlight> | |||
| valign="top" | | | valign="top" | | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
docker network inspect minikube|jq -r '.[].Containers[]?.IPv4Address' | |||
docker network inspect minikube|jq -r '.[].Containers[]?.MacAddress' | |||
docker network inspect minikube|jq -r '.[].IPAM.Config[].Gateway' | |||
docker network inspect minikube|jq -r '.[].Containers[]?.Name' | |||
</syntaxhighlight> | </syntaxhighlight> | ||
|} | |} | ||
| Line 81: | Line 359: | ||
| valign="top" | | | valign="top" | | ||
* [https://github.com/metallb/metallb/releases MetalLB » GitHub » Releases] | * [https://github.com/metallb/metallb/releases MetalLB » GitHub » Releases] | ||
* [https://artifacthub.io/packages/helm/metallb/metallb MetalLB » Helm » MetalLB] | |||
* [https://artifacthub.io/packages/helm/bitnami/metallb MetalLB » Helm » Bitnami] | |||
* [https://metallb.io/configuration/ MetalLB » Configuration] | * [https://metallb.io/configuration/ MetalLB » Configuration] | ||
* [https://github.com/metallb/metallb MetalLB » GitHub] | * [https://github.com/metallb/metallb MetalLB » GitHub] | ||
| Line 88: | Line 368: | ||
| valign="top" | | | valign="top" | | ||
* [[K8s/Swiss Knife|K8s » Swiss Knife]] | |||
* [[K8s/Storage|K8s » Storage]] | |||
* [[K8s/Ingress|K8s » Ingress]] | |||
* [[K8s/Service|K8s » Service]] | |||
* [[K8s/Secret|K8s » Secret]] | |||
* [[K8s/Run|K8s » Run]] | |||
* [[K8s]] | |||
| valign="top" | | | valign="top" | | ||
| Line 95: | Line 382: | ||
---- | ---- | ||
|- | |- | ||
| valign="top" | | |||
* [[Helm/GitLab External|Helm » GitLab » External]] | |||
* [[Helm/PostgreSQL|Helm » PostgreSQL]] | |||
* [[Helm/MariaDB|Helm » MariaDB]] | |||
* [[Helm/Pi-Hole|Helm » Pi-Hole]] | |||
* [[Helm/GitLab|Helm » GitLab]] | |||
* [[Helm/Kafka|Helm » Kafka]] | |||
* [[Helm/Redis|Helm » Redis]] | |||
| valign="top" | | | valign="top" | | ||
* [[Minikube Ingress DNS| Minikube » Ingress DNS]] | * [[Minikube Ingress DNS| Minikube » Ingress DNS]] | ||
| Line 101: | Line 397: | ||
* [[Minikube Tunnel|Minikube » Tunnel]] | * [[Minikube Tunnel|Minikube » Tunnel]] | ||
* [[Minikube]] | * [[Minikube]] | ||
| valign="top" | | | valign="top" | | ||
| Line 120: | Line 414: | ||
* [[Helm]] | * [[Helm]] | ||
* [[Istio]] | * [[Istio]] | ||
* [[ | * [[UFW]] | ||
| valign="top" | | | valign="top" | | ||
| Line 127: | Line 421: | ||
* [https://kubernetes.io/docs/concepts/storage/volumes/#local K8s » Volume » Local] | * [https://kubernetes.io/docs/concepts/storage/volumes/#local K8s » Volume » Local] | ||
* [[Linux User Creation]] | * [[Linux User Creation]] | ||
* [[Helm/Kafka|Helm » Kafka]] | |||
* [[Swap Space]] | * [[Swap Space]] | ||
* [[CIDR]] | * [[CIDR]] | ||
| valign="top" | | | valign="top" | | ||
|} | |} | ||
Latest revision as of 10:22, 20 October 2025
helm repo add metallb https://metallb.github.io/metallb helm repo update && helm repo list kubectl config get-contexts
Config
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
Install
helm show values metallb/metallb --version=0.14.8|less
helm show values metallb/metallb --version=0.14.9|less
kubectl get ns|grep metallb-system
kubectl delete ns metallb-system
kubectl get ns|grep metallb-system
kubectl create ns metallb-system
| |
|
| |
cat <<YML | helm -n=metallb-system install metallb metallb/metallb --version=0.14.9 -f=-
---
installCRDs: true
fullnameOverride: metallb
YML
| |
|
| |
cat << YML | kubectl -n=metallb-system apply -f=-
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: metallb-ip-pool
namespace: metallb-system
spec:
addresses:
- 192.168.49.100-192.168.49.199
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: metallb-l2-ad
namespace: metallb-system
spec:
ipAddressPools:
- metallb-ip-pool
YML
| |
Uninstall
helm uninstall -n=metallb-system metallb
kubectl delete namespace metallb
MetalLB » Forward
|
MetalLB » Implement » Forward » Routing | |||
|---|---|---|---|
| Name | Network | Subnets | Forward |
| Network » MetalLB | 192.168.49.100/30 |
192.168.49.100 … 103/30 = 04 |
✅ |
| Network » MetalLB | 192.168.49.104/30 |
192.168.49.104 … 107/24 = 04 |
⚪️ |
| Network » MetalLB | 192.168.49.104/29 |
192.168.49.104 … 111/29 = 08 |
✅ |
| Network » MetalLB | 192.168.49.112/29 |
192.168.49.112 … 119/29 = 08 |
⚪️ |
| Network » MetalLB | 192.168.49.112/28 |
192.168.49.112 … 127/28 = 16 |
✅ |
| Network » MetalLB | 192.168.49.128/28 |
192.168.49.128 … 143/28 = 16 |
⚪️ |
| Name | Network | Subnets | Forward |
| Network » MetalLB | 192.168.49.128/27 |
192.168.49.128 … 159/27 = 32 |
✅ |
| Network » MetalLB | 192.168.49.160/27 |
192.168.49.160 … 191/27 = 32 |
✅ |
| Network » MetalLB | 192.168.49.192/27 |
192.168.49.192 … 223/27 = 32 |
⚪️ |
| Network » MetalLB | 192.168.49.192/29 |
192.168.49.192 … 199/29 = 08 |
✅ |
MetalLB » Forward » Route
|
MetalLB » IP » Route » Service |
|---|
vim /etc/sysctl.conf # Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
sudo sysctl -p net.ipv4.ip_forward = 1 ip route | grep default default via 172.31.1.1 dev eth0 proto dhcp src 65.21.251.38 metric 100 cat << EXE | sudo bash
cat << ENV | tee /etc/default/metallb-route >/dev/null
METAL_LB_GTW_NAME=minikube
METAL_LB_GTW_HOST=$(docker network inspect minikube|jq -r '.[].Containers[]?.IPv4Address|split("/")[0]')
ENV
echo
cat /etc/default/metallb-route
EXE
cat <<'INI' | sudo tee /etc/systemd/system/metallb-route.service >/dev/null
[Unit]
Description=MetalLB Routes
Wants=network-online.target docker.service snap.lxd.daemon.service containerd.service minikube.service
After=network-online.target docker.service snap.lxd.daemon.service containerd.service minikube.service
[Service]
Type=oneshot
EnvironmentFile=-/etc/default/metallb-route
ExecStartPre=/bin/sleep 15
ExecStartPre=/bin/bash -c "if [ -z \"${METAL_LB_GTW_HOST}\" ]; then echo \"Variable METAL_LB_GTW_HOST not set in /etc/default/metallb-route\"; errors_exit; fi"
ExecStart=/usr/sbin/ip route add 192.168.49.100/30 via ${METAL_LB_GTW_HOST}
ExecStart=/usr/sbin/ip route add 192.168.49.104/29 via ${METAL_LB_GTW_HOST}
ExecStart=/usr/sbin/ip route add 192.168.49.112/28 via ${METAL_LB_GTW_HOST}
ExecStart=/usr/sbin/ip route add 192.168.49.128/27 via ${METAL_LB_GTW_HOST}
ExecStart=/usr/sbin/ip route add 192.168.49.160/27 via ${METAL_LB_GTW_HOST}
ExecStart=/usr/sbin/ip route add 192.168.49.192/29 via ${METAL_LB_GTW_HOST}
ExecStop=/usr/sbin/ip route del 192.168.49.100/30
ExecStop=/usr/sbin/ip route del 192.168.49.104/29
ExecStop=/usr/sbin/ip route del 192.168.49.112/28
ExecStop=/usr/sbin/ip route del 192.168.49.128/27
ExecStop=/usr/sbin/ip route del 192.168.49.160/27
ExecStop=/usr/sbin/ip route del 192.168.49.192/29
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
INI
cat << EXE | sudo bash
systemctl daemon-reload
cat /etc/systemd/system/metallb-route.service
systemctl enable --now metallb-route.service
systemctl status metallb-route.service
echo && ip route show
echo && sysctl -p
EXE
cat << EXE | bash
traceroute 192.168.49.100
traceroute 192.168.49.101
EXE
cat << EXE | sudo bash
systemctl daemon-reload
cat /etc/systemd/system/metallb-route.service
systemctl disable --now metallb-route.service
systemctl status metallb-route.service
echo && ip route show
echo && sysctl -p
EXE
|
MetalLB » LoadBalancer » IP
|
MetalLB » LoadBalancer » IPs | |||
|---|---|---|---|
| Name | IPv4 | Port | Active |
| Helm » Kafka | 192.168.49.100/32 |
9094 |
🟢 |
| Helm » MariaDB | 192.168.49.101/32 |
3306 |
🟢 |
| Helm » PostgreSQL | 192.168.49.102/32 |
5432 |
🟢 |
| K8s » PgBouncer | 192.168.49.103/32 |
5432 |
🟢 |
| Helm » Jenkins | 192.168.49.104/32 |
50000 |
🟢 |
| K8s » PgVector | 192.168.49.105/32 |
5432 |
🟢 |
| Helm » Redis | 192.168.49.106/32 |
6379 |
🟢 |
| Helm » MongoDB | 192.168.49.107/32 |
27017 |
🟢 |
| Helm » Consul | 192.168.49.108/32 |
8500 |
🟢 |
| Helm » Harbor | 192.168.49.109/32 |
443 |
🟢 |
| Name | IPv4 | Port | Active |
| Helm » Pi-Hole | 192.168.49.110/32 |
53,80,443 |
🟢 |
192.168.49.111/32 |
|
⚪️ | |
192.168.49.112/32 |
|
⚪️ | |
192.168.49.113/32 |
|
⚪️ | |
192.168.49.114/32 |
|
⚪️ | |
192.168.49.115/32 |
|
⚪️ | |
192.168.49.116/32 |
|
⚪️ | |
192.168.49.117/32 |
|
⚪️ | |
192.168.49.118/32 |
|
⚪️ | |
192.168.49.119/32 |
|
⚪️ | |
Playground
kubectl get pods -n metallb-system -o=yaml|yq -r .items[].spec.containers[].image|awk -F @ '{printf("%s\n", $1)}'|sort -h
kubectl -n=metallb-system logs -f svc/metallb-webhook-service -c=controller
kubectl -n=metallb-system logs -f svc/metallb-webhook-service
kubectl -n=metallb-system describe L2Advertisement metallb-l2-ad
kubectl -n=metallb-system get L2Advertisement
kubectl -n=metallb-system describe IPAddressPool metallb-ip-pool
kubectl -n=metallb-system get IPAddressPool
| ||
|
| ||
docker network prune -f
docker volume prune -f
docker system prune -f
docker image ls
|
cat <<'EXE' | bash
for d in system network volume
do docker ${d} prune -f;done
EXE
|
cat <<'EXE' | ssh deploy@ci.chorke.org
for d in system network volume
do docker ${d} prune -f;done
EXE
|
|
| ||
systemctl stop minikube.service
systemctl status minikube.service
systemctl restart minikube.service
|
systemctl stop minikube-tunnel.service
systemctl status minikube-tunnel.service
systemctl restart minikube-tunnel.service
|
systemctl status network-online.target
systemctl status containerd.service
systemctl status docker.service
|
|
| ||
minikube addons disable metallb
minikube addons enable metallb
minikube addons list
minikube status
|
sudo journalctl -xeu minikube-tunnel
sudo journalctl -xeu minikube
sudo -i -u minikube
minikube ssh
|
docker network inspect minikube|jq -r '.[].Containers[]?.IPv4Address'
docker network inspect minikube|jq -r '.[].Containers[]?.MacAddress'
docker network inspect minikube|jq -r '.[].IPAM.Config[].Gateway'
docker network inspect minikube|jq -r '.[].Containers[]?.Name'
|
References
|
| ||
|
| ||