- https/
- 如何使用GKE和kube lego在Gitlab Auto DevOps上制作SSL/HTTPS证书
如何使用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那里听说他们正在努力使这更容易。。。但愿如此