Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dorkamotorka/rke2cilium
RKE2 Kubernetes Cluster with Cilium
https://github.com/dorkamotorka/rke2cilium
Last synced: about 1 month ago
JSON representation
RKE2 Kubernetes Cluster with Cilium
- Host: GitHub
- URL: https://github.com/dorkamotorka/rke2cilium
- Owner: dorkamotorka
- Created: 2023-09-07T14:14:15.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-14T13:35:34.000Z (about 1 year ago)
- Last Synced: 2023-11-15T12:28:28.913Z (about 1 year ago)
- Language: Shell
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rke2cilium
RKE2 Kubernetes Cluster with CiliumTested on RKE2 version `v1.26.9+rke2r1`.
## Install
General install:
```
curl -sfL https://get.rke2.io | sudo sh -
sudo systemctl enable rke2-server.service
sudo systemctl start rke2-server.service
```To install a specific version:
```
sudo su
curl -sfL https://get.rke2.io --output install.sh
chmod +x install.sh
INSTALL_RKE2_CHANNEL="v1.24" ./install.sh
```## Deployment
Deploy example pods:
```
kubectl apply -f deployment.yaml
```## Hubble
```
cilium status
cilium hubble port-forward&
hubble status
hubble observe
```## Gateway API
Install CRD (check latest version [here](https://github.com/kubernetes-sigs/gateway-api)):
```
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.8.0/experimental-install.yaml
```## MetalLB
Apply metalLB CRD definition and create the namespace for it (PodSecurityPolicy will fail but for POC this is not needed):
```
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.11.0/manifests/metallb.yaml
```Then apply metalLB config (address pool it can use):
```
kubectl apply -f metallb-config.yaml
```and check the metalLB controller logs using `kubectl logs -n metallb-system controller-*` and you should see something like:
```
{"caller":"level.go:63","event":"serviceUpdated","level":"info","msg":"updated service object","service":"default/cilium-gateway-my-gateway","ts":"2023-09-13T08:37:09.801255257Z"}
{"caller":"level.go:63","event":"ipAllocated","ip":"88.200.23.240","level":"info","msg":"IP address assigned by controller","service":"kube-system/cilium-ingress","ts":"2023-09-13T08:37:09.803838006Z"}
{"caller":"level.go:63","event":"serviceUpdated","level":"info","msg":"updated service object","service":"kube-system/cilium-ingress","ts":"2023-09-13T08:37:09.80886427Z"}
```