前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linkerd 2.10(Step by Step)—生成您自己的 mTLS 根证书

Linkerd 2.10(Step by Step)—生成您自己的 mTLS 根证书

作者头像
为少
发布2021-07-07 11:10:42
5250
发布2021-07-07 11:10:42
举报

Linkerd 2.10 系列

Linkerd 2.10 中文手册持续修正更新中:

  • https://linkerd.hacker-linner.com

为了支持网格化 Pod 之间的 mTLS 连接, Linkerd 需要一个信任锚证书(trust anchor certificate)和一个带有相应 key 的颁发者证书(issuer certificate)。

使用 linkerd install 安装时,会自动生成这些证书。或者,您可以使用 --identity-* 标志指定您自己的标志。

另一方面,使用 Helm 安装 Linkerd 时,无法自动生成它们,您需要提供它们。

您可以使用 openssl 或 step 等工具生成这些证书。所有证书必须使用 ECDSA P-256 算法,这是 step 的默认值。要使用 openssl 生成 ECDSA P-256 证书,您可以使用 openssl ecparam -name prime256v1 命令。在本教程中,我们将向您介绍如何使用 step CLI 来执行此操作。

使用 step 生成证书

信任锚证书

首先使用其私钥(private key)生成根证书(使用 step 版本 0.10.1):

step certificate create root.linkerd.cluster.local ca.crt ca.key \
--profile root-ca --no-password --insecure

这将生成 ca.crtca.key 文件。 ca.crt 文件是使用 CLI 安装 Linkerd 时需要传递给 --identity-trust-anchors-file 选项的文件, 以及使用 Helm 安装 Linkerd 时的 identityTrustAnchorsPEM 值。

请注意,我们使用 --no-password --insecure 来避免使用密码短语(passphrase)加密这些文件。

对于寿命更长(longer-lived)的信任锚证书, 将 --not-after 参数传递给具有所需值的 step 命令(例如 --not-after=87600h)。

颁发者证书和 key

然后生成将用于签署 Linkerd 代理的 CSR 的中间证书(intermediate certificate)和密钥(key)对。

step certificate create identity.linkerd.cluster.local issuer.crt issuer.key \
--profile intermediate-ca --not-after 8760h --no-password --insecure \
--ca ca.crt --ca-key ca.key

这将生成 issuer.crtissuer.key 文件。

将证书传递给 Linkerd

在使用 CLI 安装 Linkerd 时,您最终可以提供这些文件:

linkerd install \
  --identity-trust-anchors-file ca.crt \
  --identity-issuer-certificate-file issuer.crt \
  --identity-issuer-key-file issuer.key \
  | kubectl apply -f -

或者在使用 Helm 安装时:

helm install linkerd2 \
  --set-file identityTrustAnchorsPEM=ca.crt \
  --set-file identity.issuer.tls.crtPEM=issuer.crt \
  --set-file identity.issuer.tls.keyPEM=issuer.key \
  --set identity.issuer.crtExpiry=$(date -d '+8760 hour' +"%Y-%m-%dT%H:%M:%SZ") \
  linkerd/linkerd2

对于低于 v3 的 Helm 版本,必须专门传递 --name 标志。在 Helm v3 中,它已被弃用,并且是上面指定的第一个参数。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑客下午茶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linkerd 2.10 系列
  • 使用 step 生成证书
    • 信任锚证书
      • 颁发者证书和 key
      • 将证书传递给 Linkerd
      相关产品与服务
      全站加速网络
      全站加速网络(Enterprise Content Delivery Network,以下简称 ECDN)为您提供稳定高效的网络加速服务,适用于动静混合、纯动态、跨国、上传等多种加速场景。ECDN 网络资源丰富,同时融合静态缓存、智能路由、协议优化、多路传输、抗抖动等自研技术,加速效果更加显著;接入便捷,功能配置灵活多样,可满足您个性化的业务需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档