k8s: add Kube-VIP
This commit is contained in:
		
							
								
								
									
										66
									
								
								clusters/k8s-cluster/kube-vip/daemonset.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								clusters/k8s-cluster/kube-vip/daemonset.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
apiVersion: apps/v1
 | 
			
		||||
kind: DaemonSet
 | 
			
		||||
metadata:
 | 
			
		||||
  creationTimestamp: null
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: kube-vip-ds
 | 
			
		||||
    app.kubernetes.io/version: v0.8.9
 | 
			
		||||
  name: kube-vip-ds
 | 
			
		||||
  namespace: kube-system
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: kube-vip-ds
 | 
			
		||||
  template:
 | 
			
		||||
    metadata:
 | 
			
		||||
      creationTimestamp: null
 | 
			
		||||
      labels:
 | 
			
		||||
        app.kubernetes.io/name: kube-vip-ds
 | 
			
		||||
        app.kubernetes.io/version: v0.8.9
 | 
			
		||||
    spec:
 | 
			
		||||
      containers:
 | 
			
		||||
      - args:
 | 
			
		||||
        - manager
 | 
			
		||||
        env:
 | 
			
		||||
        - name: vip_arp
 | 
			
		||||
          value: "true"
 | 
			
		||||
        - name: port
 | 
			
		||||
          value: "6443"
 | 
			
		||||
        - name: vip_nodename
 | 
			
		||||
          valueFrom:
 | 
			
		||||
            fieldRef:
 | 
			
		||||
              fieldPath: spec.nodeName
 | 
			
		||||
        - name: vip_interface
 | 
			
		||||
          value: eth0
 | 
			
		||||
        - name: dns_mode
 | 
			
		||||
          value: first
 | 
			
		||||
        - name: svc_enable
 | 
			
		||||
          value: "true"
 | 
			
		||||
        - name: svc_leasename
 | 
			
		||||
          value: plndr-svcs-lock
 | 
			
		||||
        - name: vip_leaderelection
 | 
			
		||||
          value: "true"
 | 
			
		||||
        - name: vip_leasename
 | 
			
		||||
          value: plndr-cp-lock
 | 
			
		||||
        - name: vip_leaseduration
 | 
			
		||||
          value: "5"
 | 
			
		||||
        - name: vip_renewdeadline
 | 
			
		||||
          value: "3"
 | 
			
		||||
        - name: vip_retryperiod
 | 
			
		||||
          value: "1"
 | 
			
		||||
        - name: vip_address
 | 
			
		||||
        - name: prometheus_server
 | 
			
		||||
          value: :2112
 | 
			
		||||
        image: ghcr.io/kube-vip/kube-vip:v0.8.9
 | 
			
		||||
        imagePullPolicy: IfNotPresent
 | 
			
		||||
        name: kube-vip
 | 
			
		||||
        resources: {}
 | 
			
		||||
        securityContext:
 | 
			
		||||
          capabilities:
 | 
			
		||||
            add:
 | 
			
		||||
            - NET_ADMIN
 | 
			
		||||
            - NET_RAW
 | 
			
		||||
      hostNetwork: true
 | 
			
		||||
      serviceAccountName: kube-vip
 | 
			
		||||
  updateStrategy: {}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										6
									
								
								clusters/k8s-cluster/kube-vip/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								clusters/k8s-cluster/kube-vip/kustomization.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
---
 | 
			
		||||
apiVersion: kustomize.config.k8s.io/v1beta1
 | 
			
		||||
kind: Kustomization
 | 
			
		||||
resources:
 | 
			
		||||
  - rbac.yaml
 | 
			
		||||
  - daemonset.yaml
 | 
			
		||||
							
								
								
									
										45
									
								
								clusters/k8s-cluster/kube-vip/rbac.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								clusters/k8s-cluster/kube-vip/rbac.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: ServiceAccount
 | 
			
		||||
metadata:
 | 
			
		||||
  name: kube-vip
 | 
			
		||||
  namespace: kube-system
 | 
			
		||||
---
 | 
			
		||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
kind: ClusterRole
 | 
			
		||||
metadata:
 | 
			
		||||
  annotations:
 | 
			
		||||
    rbac.authorization.kubernetes.io/autoupdate: "true"
 | 
			
		||||
  name: system:kube-vip-role
 | 
			
		||||
rules:
 | 
			
		||||
  - apiGroups: [""]
 | 
			
		||||
    resources: ["services/status"]
 | 
			
		||||
    verbs: ["update"]
 | 
			
		||||
  - apiGroups: [""]
 | 
			
		||||
    resources: ["services", "endpoints"]
 | 
			
		||||
    verbs: ["list","get","watch", "update"]
 | 
			
		||||
  - apiGroups: [""]
 | 
			
		||||
    resources: ["nodes"]
 | 
			
		||||
    verbs: ["list","get","watch", "update", "patch"]
 | 
			
		||||
  - apiGroups: ["coordination.k8s.io"]
 | 
			
		||||
    resources: ["leases"]
 | 
			
		||||
    verbs: ["list", "get", "watch", "update", "create"]
 | 
			
		||||
  - apiGroups: ["discovery.k8s.io"]
 | 
			
		||||
    resources: ["endpointslices"]
 | 
			
		||||
    verbs: ["list","get","watch", "update"]
 | 
			
		||||
  - apiGroups: [""]
 | 
			
		||||
    resources: ["pods"]
 | 
			
		||||
    verbs: ["list"]
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
kind: ClusterRoleBinding
 | 
			
		||||
apiVersion: rbac.authorization.k8s.io/v1
 | 
			
		||||
metadata:
 | 
			
		||||
  name: system:kube-vip-binding
 | 
			
		||||
roleRef:
 | 
			
		||||
  apiGroup: rbac.authorization.k8s.io
 | 
			
		||||
  kind: ClusterRole
 | 
			
		||||
  name: system:kube-vip-role
 | 
			
		||||
subjects:
 | 
			
		||||
- kind: ServiceAccount
 | 
			
		||||
  name: kube-vip
 | 
			
		||||
  namespace: kube-system
 | 
			
		||||
		Reference in New Issue
	
	Block a user