...
The procedure has been tested on a ubuntu 22.04LTS 64GB Ram.
RKE2 config
Install multus and calico CNI
| Code Block |
|---|
| language | yaml |
|---|
| title | /etc/rancher/rke2/config.yaml |
|---|
|
cni:
- multus
- calico |
Install metallb (LoadBalancer)
Prepare metallb_config.yaml
| Code Block |
|---|
| language | yamlshell |
|---|
| title | metallb_config.yaml |
|---|
|
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
namespace: metallb-system
name: default-address-pool
spec:
addresses:
- 10.10.6.240-10.10.6.250 # Adjust to your available range
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
namespace: metallb-system
name: l2
spec:
ipAddressPools:
- default-pool
|
| Code Block |
|---|
|
## metallb
rke2 apply -f https://raw.githubusercontent.com/metallb/metallb/v0.15.0/config/manifests/metallb-native.yaml
rke2 apply -f metallb_config.yaml
|
Install local_path storage class
| Code Block |
|---|
|
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
|
Install ARGOCD
prepare argocd_ingress.yaml
| Code Block |
|---|
| language | yaml |
|---|
| title | argocd_ingress.yaml |
|---|
|
# argocd-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-ingress
namespace: argocd
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: argocd.da
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argocd-server
port:
number: 443 |
| Code Block |
|---|
|
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
### wait
kubectl get pod -n argocd -w
kubectl apply -f argocd_ingress.yaml
local_path storage class:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml
|