Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/natesales/pathvector-plugin-calico
Calico BGP support for Pathvector
https://github.com/natesales/pathvector-plugin-calico
calico pathvector-plugin
Last synced: 22 days ago
JSON representation
Calico BGP support for Pathvector
- Host: GitHub
- URL: https://github.com/natesales/pathvector-plugin-calico
- Owner: natesales
- Created: 2021-10-25T00:10:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-07-26T04:17:21.000Z (over 2 years ago)
- Last Synced: 2024-10-31T14:06:18.114Z (2 months ago)
- Topics: calico, pathvector-plugin
- Language: Go
- Homepage:
- Size: 41 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pathvector Calico Plugin
The `calico` plugin adds support for Calico BGP autoconfiguration to Pathvector version 6.
## Quickstart
For this example, we'll use a single node k3s cluster with Pathvector running on the host itself. In a real network, your cluster would have more than one node and Pathvector would run on the network device (ToR switch, core router, etc).
### Install Calico on k3s
Follow the [Calico k3s quickstart](https://docs.projectcalico.org/getting-started/kubernetes/k3s/quickstart) to spin up a single node development cluster:
```bash
# Install k3s with default Flannel CNI disabled
curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="--flannel-backend=none --cluster-cidr=192.168.0.0/16 --disable-network-policy --disable=traefik" sh -# Install the Calico operator and custom resource definitions
kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml
kubectl create -f https://docs.projectcalico.org/manifests/custom-resources.yaml# Deploy the calicoctl container to connect to the Kubernetes API datastore
kubectl apply -f https://docs.projectcalico.org/manifests/calicoctl.yaml# Alias calicoctl to the calicoctl container
alias calicoctl='kubectl exec -i -n kube-system calicoctl -- /calicoctl'
```Run `watch kubectl get pods --all-namespaces` and wait for everything to start up.
```bash
NAMESPACE NAME READY STATUS RESTARTS AGE
tigera-operator tigera-operator-59f4845b57-pwbd4 1/1 Running 0 9m58s
kube-system calicoctl 1/1 Running 0 9m28s
calico-system calico-typha-6d447889d5-5mj85 1/1 Running 0 9m35s
calico-system calico-node-zhrw9 1/1 Running 0 9m35s
kube-system local-path-provisioner-5ff76fc89d-gq6x2 1/1 Running 0 9m58s
kube-system metrics-server-86cbb8457f-fs4d2 1/1 Running 0 9m58s
calico-system calico-kube-controllers-5f6b4b77d6-cgjq7 1/1 Running 0 9m35s
kube-system coredns-7448499f4d-9swgm 1/1 Running 0 9m58s
calico-apiserver calico-apiserver-6d9f46878b-x8qjv 1/1 Running 0 7m58s
```### Add a global BGP peer
```bash
cat <> calico-bgp.yaml
apiVersion: projectcalico.org/v3
kind: BGPPeer
metadata:
name: pathvector-upstream
spec:
peerIP: 127.0.0.2
asNumber: 65530
EOT
kubectl apply -f calico-bgp.yaml
```