如何使用GKE和kube lego在Gitlab Auto DevOps上制作SSL/HTTPS证书

如何使用GKE和kube lego在Gitlab Auto DevOps上制作SSL/HTTPS证书,https,gitlab,gitlab-ci,google-kubernetes-engine,Https,Gitlab,Gitlab Ci,Google Kubernetes Engine,说明书上说要安装它,但没有建议使用哪种方法、以何种顺序或使用哪种负载平衡器。我的部署上一直安装着无用的测试证书。听起来你从helm那里得到了默认图表,这与kube lego Github上的说明略有不同。默认情况下,helm图表使用Let's Encrypt的暂存服务器。此外,如果你不熟悉头盔,那么要解开kube lego头盔图表留下的残余物可能会非常棘手,特别是因为tiller喜欢保留旧的安装历史 下面是使用Google Kubernetes引擎设置Gitlab Auto Devops的简要概

说明书上说要安装它,但没有建议使用哪种方法、以何种顺序或使用哪种负载平衡器。我的部署上一直安装着无用的测试证书。

听起来你从helm那里得到了默认图表,这与kube lego Github上的说明略有不同。默认情况下,helm图表使用Let's Encrypt的暂存服务器。此外,如果你不熟悉头盔,那么要解开kube lego头盔图表留下的残余物可能会非常棘手,特别是因为tiller喜欢保留旧的安装历史

下面是使用Google Kubernetes引擎设置Gitlab Auto Devops的简要概述。我应该提到,如果您使用10.1中介绍的Gitlab GKE向导,您可以跳到步骤13,但它不会真正告诉您发生了什么,或者当出现问题时如何调试,而且该向导是单向的

  • 在Gitlab的“集成”下,您会发现一个Kubernetes集成按钮
  • 您也可以在CI/CD->cluster下找到它
  • API URL是以
    https://
  • 它要求的“CA证书”是服务帐户CA,与群集CA不同
  • 要连接到gitlab,您需要创建一个k8s服务帐户并获取CA和令牌。通过使用gcloud对kubectl进行身份验证。GCE通过k8s引擎中的“connect”(连接)按钮为您实现这一点非常简单
  • 所有命令都必须使用自定义名称空间运行,默认名称空间不起作用
  • kubectl创建命名空间(NS)
  • kubectl创建serviceaccount(名称)--命名空间=(NS)
  • 这将在您的configs/secrets中创建两个令牌,一个是默认令牌,另一个是您的服务帐户令牌
  • kubectl get-o json服务帐户(名称)——命名空间=(NS)
  • kubectl get-o json secret(prev result上的秘密名称)——名称空间=(NS)
  • 例如,要解码base64值,请将其回显到
    base64-d
  • Echo mybase64stringasdfasdf=| base64-d
  • 要安装helm,请使用安装脚本方法
  • 初始化helm并更新它的repo
  • 头盔初始化
  • 舵回购更新
  • 安装nginx入口,其入口带有nginx。您也可以使用Google负载平衡器,但它的便携性较差。
  • 舵安装稳定/nginx入口
  • 创建一个通配符子域,其中a记录指向入口设置的IP地址
  • 在Gitlab中,让auto devops使用新设置的通配符子域,如果其“*.x”位于“me.com”上,则应在auto devops设置中输入“x.me.com”
  • 现在安装kube lego
  • 头盔安装-名称乐高主\ --设置config.LEGO_电子邮件=CHANGEMENOW@example.com \ --set config.LEGO_URL=\ stable/kube乐高
  • 头盔装置称为海图,相当于k8s集装箱装置
  • 如果您希望删除某个版本,则必须清除该版本,否则tiller将保留一个历史记录,其中包含:
  • 头盔删除——清除我的发布名称
  • 您可以在中找到发布名称及其关联图表
  • 舵手名单
  • 故障排除
    • 秩序似乎不太重要。附加到pod可能是调试问题的一种有用方法,例如错误的电子邮件地址。然而,理想的顺序可能是nginx ingress,然后是kube lego,然后是gitlab。我确实先用gitlab,然后是nginx ingress,然后是kube lego
    我从Sid那里听说他们正在努力使这更容易。。。但愿如此