V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dunhanson
V2EX  ›  程序员

Kubernetes Dashboard HTTPS 证书如何正确使用?

  •  
  •   dunhanson · 2019-05-23 20:47:31 +08:00 · 4453 次点击
    这是一个创建于 1792 天前的主题,其中的信息可能已经有所发展或是发生改变。

    参考的官网教程 https://github.com/kubernetes/dashboard/wiki/Certificate-management#self-signed-certificate

    只说明了如何去生成证书文件,但是没有具体说如何去使用证书

    我看配置文件中看到了该目录 mountPath: /certs (生成的证书也是放在该目录) kubernetes-dashboard.yaml ( v1.10.1 )

    但是最后使用 NodePort 方式 Chrome 去访问还是有问题,无法访问,有 https 警告,跳不过

    PS:Firefox 可以添加信任

    12 条回复    2019-05-24 16:09:13 +08:00
    dunhanson
        1
    dunhanson  
    OP
       2019-05-23 20:57:15 +08:00
    dunhanson
        3
    dunhanson  
    OP
       2019-05-23 23:15:04 +08:00
    我换成了 Alternative setup
    kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/alternative/kubernetes-dashboard.yaml

    可以访问但是访问页面都是无权限,我 header 中添加 token 还是一样( Authorization: Bearer <token>)

    token 我是按教程说的获取的
    kubectl -n kube-system get secret
    kubectl -n kube-system describe secrets replicaset-controller-token-kzpmc
    l1ve
        4
    l1ve  
       2019-05-23 23:19:06 +08:00 via iPhone
    悄悄的和你说个好玩的 rancher
    dunhanson
        5
    dunhanson  
    OP
       2019-05-23 23:39:53 +08:00
    @l1ve 哈哈哈 准备后续去看的,当前还是先把 dashboard 的问题给解决了
    dunhanson
        6
    dunhanson  
    OP
       2019-05-24 00:01:52 +08:00
    ihciah
        7
    ihciah  
       2019-05-24 00:03:28 +08:00 via iPad
    用 ingress 吧。

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
    name: dashboard-ingress-tls
    namespace: kube-system
    annotations:
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    spec:
    tls:
    - hosts:
    - "your.domain"
    secretName: secret-your-domain
    rules:
    - host: your.domain
    http:
    paths:
    - path: /
    backend:
    serviceName: kubernetes-dashboard
    servicePort: 443
    dunhanson
        8
    dunhanson  
    OP
       2019-05-24 00:08:01 +08:00
    @ihciah 嗯 有时间试试的
    tinybaby365
        9
    tinybaby365  
       2019-05-24 11:30:20 +08:00
    ingress 看 ingress controller 的实现,个人建议:如果是学习,跳过这个。dashboard 没啥好玩的,如果要玩:
    1.确保权限没有问题
    2.kubectl get secrets 里面看到的 token 是 base64 过的
    3.使用 kubectl proxy
    dunhanson
        10
    dunhanson  
    OP
       2019-05-24 13:32:55 +08:00
    @tinybaby365 已经可以访问了

    生产不推荐使用 dashboard ?
    tinybaby365
        11
    tinybaby365  
       2019-05-24 13:44:28 +08:00
    @dunhanson 我们没有使用官方的 dashboard,是自己写了一个,供开发一站式的排查问题。
    dunhanson
        12
    dunhanson  
    OP
       2019-05-24 16:09:13 +08:00
    @tinybaby365 厉害了我的哥
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1108 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 18:43 · PVG 02:43 · LAX 11:43 · JFK 14:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.