Statefulset-grid Daemon
Statefulset-grid daemon sample config
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: statefulset-grid-daemon
  namespace: edge-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: statefulset-grid-daemon
  namespace: edge-system
rules:
  - apiGroups:
      - ""
    resources:
      - nodes
      - services
      - pods
    verbs:
      - "*"
  - apiGroups:
      - extensions
      - apps
    resources:
      - statefulsets
    verbs:
      - "*"
  - apiGroups:
      - superedge.io
    resources:
      - statefulsetgrids
    verbs:
      - "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: statefulset-grid-daemon
  namespace: edge-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: statefulset-grid-daemon
subjects:
  - kind: ServiceAccount
    name: statefulset-grid-daemon
    namespace: edge-system
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: statefulset-grid-daemon
  namespace: edge-system
data:
  kubeconfig.conf: |
    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
        server: https://127.0.0.1:51003
      name: default
    contexts:
    - context:
        cluster: default
        namespace: default
        user: default
      name: default
    current-context: default
    kind: Config
    preferences: {}
    users:
    - name: default
      user:
        tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token    
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    k8s-app: statefulset-grid-daemon
    addonmanager.kubernetes.io/mode: Reconcile
  name: statefulset-grid-daemon
  namespace: edge-system
spec:
  selector:
    matchLabels:
      k8s-app: statefulset-grid-daemon
  template:
    metadata:
      labels:
        k8s-app: statefulset-grid-daemon
    spec:
      serviceAccount: statefulset-grid-daemon
      serviceAccountName: statefulset-grid-daemon
      priorityClassName: system-node-critical
      hostNetwork: true
      restartPolicy: Always
      nodeSelector:
        kubernetes.io/os: linux # TODO select edge node
      tolerations:
        - key: "node-role.kubernetes.io/master"
          operator: "Exists"
          effect: "NoSchedule"
      containers:
        - name: statefulset-grid-daemon
          image: superedge/statefulset-grid-daemon:v0.3.0
          imagePullPolicy: IfNotPresent
          command:
            - /usr/local/bin/statefulset-grid-daemon
            - --hostname=$(NODE_NAME)
            - --kubeconfig=/var/lib/statefulset-grid-daemon/kubeconfig.conf
          env:
            - name: NODE_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: spec.nodeName
          resources:
            limits:
              cpu: 50m
              memory: 100Mi
            requests:
              cpu: 10m
              memory: 20Mi
          securityContext:
            privileged: true
          volumeMounts:
            - mountPath: /data/edge
              name: hosts
            - mountPath: /var/lib/statefulset-grid-daemon
              name: statefulset-grid-daemon
      volumes:
        - configMap:
            defaultMode: 420
            name: statefulset-grid-daemon
          name: statefulset-grid-daemon
        - hostPath:
            path: /data/edge
            type: DirectoryOrCreate
          name: hostsFeedback
Was this page helpful?
Glad to hear from you! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified
June 15, 2021
: Fixed error links and paths (fef537b)