81d6077fc2
This commit adds basic support to run in compatibility mode with Flannel. This allows clusters running Flannel as their principal networking solution to leverage some advances Kilo features. In certain Flannel setups, the clusters can even leverage muti-cloud. For this, the cluster needs to either run in a full mesh, or Flannel needs to use the API server's external IP address.
91 lines
1.7 KiB
YAML
91 lines
1.7 KiB
YAML
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: kilo
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: kilo
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- nodes
|
|
verbs:
|
|
- list
|
|
- patch
|
|
- watch
|
|
- apiGroups:
|
|
- kilo.squat.ai
|
|
resources:
|
|
- peers
|
|
verbs:
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- apiextensions.k8s.io
|
|
resources:
|
|
- customresourcedefinitions
|
|
verbs:
|
|
- create
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
name: kilo
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: kilo
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: kilo
|
|
namespace: kube-system
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: kilo
|
|
namespace: kube-system
|
|
labels:
|
|
app.kubernetes.io/name: kilo
|
|
spec:
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/name: kilo
|
|
spec:
|
|
serviceAccountName: kilo
|
|
hostNetwork: true
|
|
containers:
|
|
- name: kilo
|
|
image: squat/kilo
|
|
args:
|
|
- --kubeconfig=/etc/kubernetes/kubeconfig
|
|
- --cni=false
|
|
- --compatibility=flannel
|
|
- --local=false
|
|
securityContext:
|
|
privileged: true
|
|
volumeMounts:
|
|
- name: kilo-dir
|
|
mountPath: /var/lib/kilo
|
|
- name: kubeconfig
|
|
mountPath: /etc/kubernetes/kubeconfig
|
|
readOnly: true
|
|
tolerations:
|
|
- effect: NoSchedule
|
|
operator: Exists
|
|
- effect: NoExecute
|
|
operator: Exists
|
|
volumes:
|
|
- name: kilo-dir
|
|
hostPath:
|
|
path: /var/lib/kilo
|
|
- name: kubeconfig
|
|
hostPath:
|
|
path: /etc/rancher/k3s/k3s.yaml
|