मैंने प्रॉक्सी के माध्यम से क्यूब एपीआई को उजागर किया है, लेकिन मुझे उस क्लस्टर पर डैशबोर्ड चलाने की अनुमति नहीं है। क्या मैं डैशबोर्ड को एक अलग क्लस्टर पर चला सकता हूं, और उस डैशबोर्ड को वांछित क्लस्टर के एपीआई पर इंगित कर सकता हूं?

2
user6317694 2 अक्टूबर 2018, 18:00

1 उत्तर

सबसे बढ़िया उत्तर

हाँ आप कर सकते हैं। डैशबोर्ड के लिए पसंदीदा परिनियोजन परिभाषा नीचे दी गई है (डैशबोर्ड जीथब पृष्ठ से)। आपको विकल्प --apiserver-host=http://my-address:port को अनकम्मेंट करना होगा। आपको यह भी सुनिश्चित करना होगा कि आप अपने क्यूब-एपिसर्वर तक पहुँचने के लिए सही प्रमाणपत्र और क्रेडेंशियल का उपयोग कर रहे हैं। सुरक्षा कारणों से, मैं आपके क्यूब-एपिसर्वर प्रॉक्सी को केवल बहुत विशिष्ट मेजबानों के लिए खोलने की सलाह दूंगा जैसे कि आपका डैशबोर्ड चल रहा होगा।

kind: Deployment
apiVersion: apps/v1beta2
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
    spec:
      containers:
      - name: kubernetes-dashboard
        image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0
        ports:
        - containerPort: 8443
          protocol: TCP
        args:
          - --auto-generate-certificates
          # Uncomment the following line to manually specify Kubernetes API server Host
          # If not specified, Dashboard will attempt to auto discover the API server and connect
          # to it. Uncomment only if the default does not work.
          # - --apiserver-host=http://my-address:port
        volumeMounts:
        - name: kubernetes-dashboard-certs
          mountPath: /certs
          # Create on-disk volume to store exec logs
        - mountPath: /tmp
          name: tmp-volume
        livenessProbe:
          httpGet:
            scheme: HTTPS
            path: /
            port: 8443
          initialDelaySeconds: 30
          timeoutSeconds: 30
      volumes:
      - name: kubernetes-dashboard-certs
        secret:
          secretName: kubernetes-dashboard-certs
      - name: tmp-volume
        emptyDir: {}
      serviceAccountName: kubernetes-dashboard
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
3
Rico 2 अक्टूबर 2018, 19:39