kube-router.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. apiVersion: apps/v1
  2. kind: DaemonSet
  3. metadata:
  4. name: kube-router
  5. namespace: kube-system
  6. labels:
  7. app.kubernetes.io/name: kube-router
  8. spec:
  9. selector:
  10. matchLabels:
  11. app.kubernetes.io/name: kube-router
  12. template:
  13. metadata:
  14. labels:
  15. app.kubernetes.io/name: kube-router
  16. spec:
  17. serviceAccountName: kube-router
  18. priorityClassName: system-node-critical
  19. containers:
  20. - name: kube-router
  21. image: cloudnativelabs/kube-router
  22. args:
  23. - --run-router=false
  24. - --run-firewall=true
  25. - --run-service-proxy=false
  26. securityContext:
  27. privileged: true
  28. env:
  29. - name: NODE_NAME
  30. valueFrom:
  31. fieldRef:
  32. fieldPath: spec.nodeName
  33. livenessProbe:
  34. httpGet:
  35. path: /healthz
  36. port: 20244
  37. initialDelaySeconds: 10
  38. periodSeconds: 3
  39. volumeMounts:
  40. - name: lib-modules
  41. mountPath: /lib/modules
  42. readOnly: true
  43. - name: xtables-lock
  44. mountPath: /run/xtables.lock
  45. readOnly: false
  46. hostNetwork: true
  47. tolerations:
  48. - key: CriticalAddonsOnly
  49. operator: Exists
  50. - effect: NoSchedule
  51. key: node-role.kubernetes.io/master
  52. operator: Exists
  53. - effect: NoSchedule
  54. key: node.kubernetes.io/not-ready
  55. operator: Exists
  56. volumes:
  57. - name: lib-modules
  58. hostPath:
  59. path: /lib/modules
  60. - name: xtables-lock
  61. hostPath:
  62. path: /run/xtables.lock
  63. type: FileOrCreate
  64. ---
  65. apiVersion: v1
  66. kind: ServiceAccount
  67. metadata:
  68. name: kube-router
  69. namespace: kube-system
  70. ---
  71. apiVersion: rbac.authorization.k8s.io/v1
  72. kind: ClusterRole
  73. metadata:
  74. name: kube-router
  75. rules:
  76. - apiGroups:
  77. - ""
  78. resources:
  79. - nodes
  80. verbs:
  81. - get
  82. - apiGroups:
  83. - ""
  84. resources:
  85. - endpoints
  86. - namespaces
  87. - nodes
  88. - pods
  89. - services
  90. verbs:
  91. - list
  92. - watch
  93. - apiGroups:
  94. - networking.k8s.io
  95. resources:
  96. - networkpolicies
  97. verbs:
  98. - list
  99. - watch
  100. ---
  101. apiVersion: rbac.authorization.k8s.io/v1
  102. kind: ClusterRoleBinding
  103. metadata:
  104. name: kube-router
  105. roleRef:
  106. apiGroup: rbac.authorization.k8s.io
  107. kind: ClusterRole
  108. name: kube-router
  109. subjects:
  110. - kind: ServiceAccount
  111. name: kube-router
  112. namespace: kube-system