--- apiVersion: v1 kind: Namespace metadata: name: easyhaproxy --- apiVersion: v1 kind: ServiceAccount metadata: name: easyhaproxy-ingress namespace: easyhaproxy --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: easyhaproxy-ingress rules: - apiGroups: - "" resources: # - configmaps # - endpoints # - nodes - pods - services - namespaces # - events - serviceaccounts verbs: - get - list - watch - apiGroups: - "extensions" - "networking.k8s.io" resources: - ingresses # - ingresses/status # - ingressclasses verbs: - get - list - watch # - apiGroups: # - "extensions" # - "networking.k8s.io" # resources: # - ingresses/status # verbs: # - update - apiGroups: - "" resources: - secrets verbs: - get - list # - watch # - create # - patch # - update # - apiGroups: # - "discovery.k8s.io" # resources: # - endpointslices # verbs: # - get # - list # - watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: easyhaproxy-ingress namespace: easyhaproxy roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: easyhaproxy-ingress subjects: - kind: ServiceAccount name: easyhaproxy-ingress namespace: easyhaproxy --- apiVersion: apps/v1 kind: DaemonSet metadata: name: easyhaproxy-ingress namespace: easyhaproxy spec: selector: matchLabels: app: easyhaproxy-ingress template: metadata: labels: app: easyhaproxy-ingress spec: serviceAccountName: easyhaproxy-ingress containers: - image: byjg/easy-haproxy:test imagePullPolicy: Always name: easyhaproxy-ingress ports: - name: http containerPort: 80 hostPort: 80 - name: https containerPort: 443 hostPort: 443 - name: stats containerPort: 1936 hostPort: 1936 resources: requests: cpu: "100m" memory: "128Mi" env: - name: EASYHAPROXY_DISCOVER value: kubernetes - name: HAPROXY_USERNAME value: admin - name: HAPROXY_PASSWORD value: password - name: EASYHAPROXY_REFRESH_CONF value: "10" - name: HAPROXY_CUSTOMERRORS value: "true" - name: EASYHAPROXY_SSL_MODE value: loose