首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

kubernetes dashboard 在 ssl 的各种场景下的手动部署

您好!您提到的 Kubernetes Dashboard 是一个 Web 界面,用于管理 Kubernetes 集群。要在 SSL 的各种场景下手动部署 Kubernetes Dashboard,您需要遵循以下步骤:

  1. 准备证书和密钥

首先,您需要为您的 Kubernetes Dashboard 生成一个证书和密钥。您可以使用 OpenSSL 或其他工具来生成它们。以下是一个使用 OpenSSL 生成证书和密钥的示例命令:

代码语言:txt
复制
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

这将生成一个名为 key.pem 的密钥文件和一个名为 cert.pem 的证书文件。

  1. 创建 Kubernetes Secret

接下来,您需要使用 kubectl 创建一个 Kubernetes Secret,以便将证书和密钥存储在集群中。您可以使用以下命令来创建 Secret:

代码语言:txt
复制
kubectl create secret generic kubernetes-dashboard-certs --from-file=cert.pem --from-file=key.pem -n kube-system

这将在 kube-system 命名空间中创建一个名为 kubernetes-dashboard-certs 的 Secret,其中包含您的证书和密钥。

  1. 部署 Kubernetes Dashboard

现在,您可以使用以下 YAML 文件部署 Kubernetes Dashboard:

代码语言:txt
复制
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubernetes-dashboard
  namespace: kube-system

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: kubernetes-dashboard
  namespace: kube-system

---

apiVersion: v1
kind: Secret
metadata:
  name: kubernetes-dashboard-certs
  namespace: kube-system

---

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  ports:
  - port: 443
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kube-system
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
    spec:
      containers:
      - name: kubernetes-dashboard
        image: kubernetesui/dashboard:v2.0.0-beta8
        ports:
        - containerPort: 8443
          protocol: TCP
        args:
          - --auto-generate-certificates
          - --namespace=kube-system
        volumeMounts:
        - name: kubernetes-dashboard-certs
          mountPath: /certs
          # Create on-disk volume to store exec logs
        - mountPath: /tmp
          name: tmp-volume
      volumes:
      - name: kubernetes-dashboard-certs
        secret:
          secretName: kubernetes-dashboard-certs
      - name: tmp-volume
        emptyDir: {}

这将在 kube-system 命名空间中部署 Kubernetes Dashboard,并使用您在第一步中创建的证书和密钥。

  1. 访问 Kubernetes Dashboard

最后,您可以使用以下命令将代理设置到 Kubernetes Dashboard:

代码语言:txt
复制
kubectl proxy

现在,您可以通过访问 https://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy 来访问 Kubernetes Dashboard。

希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Kubernetes容器集群管理环境 - Prometheus监控篇

一、Prometheus介绍 之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana。Prometheus(普罗米修斯)是一个开源系统监控和警报工具,最初是在SoundCloud建立的。自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有一个非常活跃的开发者和用户社区。它现在是一个独立的开放源码项目,并且独立于任何公司,为了强调该点并澄清项目的治理结构,Prometheus在2016年加入了云计算基金会,成为继Kubernetes之后的第二个托管项目。 Prometheus是用来收集数据的,同时本身也提供强大的查询能力,结合Grafana即可以监控并展示出想要的数据。

08
领券