zorgzerg

Deploy openshift console in native k8s

Apr 1st, 2020
488
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.75 KB | None | 0 0
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4.   name: openshift-console
  5.  
  6. ---
  7. apiVersion: v1
  8. kind: ServiceAccount
  9. metadata:
  10.   labels:
  11.     k8s-app: openshift-console
  12.   name: openshift-console
  13.   namespace: openshift-console
  14.  
  15. ---
  16. apiVersion: v1
  17. kind: Secret
  18. metadata:
  19.   name: openshift-console-secret
  20.   namespace: openshift-console
  21.   annotations:
  22.     kubernetes.io/service-account.name: openshift-console
  23. type: kubernetes.io/service-account-token
  24.  
  25. ---
  26. apiVersion: rbac.authorization.k8s.io/v1
  27. kind: ClusterRoleBinding
  28. metadata:
  29.   name: openshift-console
  30. roleRef:
  31.   apiGroup: rbac.authorization.k8s.io
  32.   kind: ClusterRole
  33.   name: cluster-admin
  34. subjects:
  35. - kind: ServiceAccount
  36.   name: openshift-console
  37.   namespace: openshift-console
  38.  
  39. ---
  40. apiVersion: v1
  41. kind: ConfigMap
  42. metadata:
  43.   name: openshift-console
  44.   namespace: openshift-console
  45. data:
  46.   BRIDGE_K8S_MODE: off-cluster
  47.   BRIDGE_K8S_MODE_OFF_CLUSTER_SKIP_VERIFY_TLS: 'true'
  48.   BRIDGE_K8S_MODE_OFF_CLUSTER_PROMETHEUS: http://prometheus-operated.monitoring:9090
  49.   BRIDGE_K8S_MODE_OFF_CLUSTER_ALERTMANAGER: http://alertmanager-operated.monitoring:9093
  50.   BRIDGE_K8S_MODE_OFF_CLUSTER_THANOS: http://prometheus-operated.monitoring:9090
  51.   BRIDGE_K8S_AUTH: bearer-token
  52.   BRIDGE_BASE_ADDRESS: https://console.domain.com
  53.   BRIDGE_PUBLIC_DIR: /opt/bridge/static      
  54.   BRIDGE_CUSTOM_PRODUCT_NAME: ARU Dev
  55.   BRIDGE_ALERTMANAGER_PUBLIC_URL: https://domain.com/alertmanager
  56.   BRIDGE_PROMETHEUS_PUBLIC_URL: https://domain.com/prometheus
  57.   BRIDGE_GRAFANA_PUBLIC_URL: https://domain.com/grafana
  58.  
  59. ---
  60. apiVersion: apps/v1
  61. kind: Deployment
  62. metadata:
  63.   name: openshift-console
  64.   namespace: openshift-console
  65.   labels:
  66.     k8s-app: openshift-console
  67. spec:
  68.   replicas: 1
  69.   selector:
  70.     matchLabels:
  71.       k8s-app: openshift-console
  72.   template:
  73.     metadata:
  74.       labels:
  75.         k8s-app: openshift-console
  76.     spec:
  77.       serviceAccountName: openshift-console
  78.       automountServiceAccountToken: true
  79.       containers:
  80.         - name: openshift-console
  81.           image: quay.io/openshift/origin-console:4.5.0
  82.           resources:
  83.             requests:
  84.               cpu: 200m
  85.               memory: 512Mi
  86.             limits:
  87.               cpu: 500m
  88.               memory: 512Mi
  89.           envFrom:
  90.             - configMapRef:
  91.                 name: openshift-console
  92.           env:
  93.             - name: BRIDGE_K8S_AUTH_BEARER_TOKEN
  94.               valueFrom:
  95.                 secretKeyRef:
  96.                   name: openshift-console-secret
  97.                   key: token
  98.             - name:  BRIDGE_K8S_MODE_OFF_CLUSTER_ENDPOINT
  99.               value: https://$(KUBERNETES_SERVICE_HOST):$(KUBERNETES_SERVICE_PORT)
  100.           command:
  101.            - /opt/bridge/bin/bridge
  102.  
  103. ---
  104. kind: Service
  105. apiVersion: v1
  106. metadata:
  107.   labels:
  108.     k8s-app: openshift-console
  109.   name: openshift-console
  110.   namespace: openshift-console
  111. spec:
  112.   ports:
  113.     - port: 9000
  114.       targetPort: 9000
  115.   selector:
  116.     k8s-app: openshift-console
  117.  
  118. ---
  119. apiVersion: traefik.containo.us/v1alpha1
  120. kind: IngressRoute
  121. metadata:
  122.   name: openshift-console
  123.   namespace: openshift-console
  124. spec:
  125.   entryPoints:
  126.    - websecure
  127.   routes:
  128.     - match: Host(`console.domain.com`)
  129.       kind: Rule
  130.       priority: 12
  131.       services:
  132.         - name: openshift-console
  133.           kind: Service
  134.           namespace: openshift-console
  135.           port: 9000
  136.           weight: 1
  137.       middlewares:
  138.         - name: openshift-console-white-list
  139.         - name: dashboard-auth@file
  140.   tls:
  141.     certResolver: cf
  142.  
  143. ---
  144. apiVersion: traefik.containo.us/v1alpha1
  145. kind: Middleware
  146. metadata:
  147.   name: openshift-console-white-list
  148.   namespace: openshift-console
  149. spec:
  150.   ipWhiteList:
  151.     sourceRange:
  152.      - 11.11.11.11/32
  153.       - 22.22.22.22/32
Advertisement
Add Comment
Please, Sign In to add comment