5.云原生安全之kubesphere应用网关配置域名TLS证书

这篇具有很好参考价值的文章主要介绍了5.云原生安全之kubesphere应用网关配置域名TLS证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

云原生专栏大纲

将域名托管到cloudflare进行域名解析管理,使用cloudflare管理域名,免费为域名提供安全证书

cloudflare配置

使用cloudflare托管域名

  1. 登录https://dash.cloudflare.com/
  2. 添加站点5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
  3. 填写站点域名

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 选择免费版

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 查看 Cloudflare 名称服务器

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 进入购买域名网站控制台,将域名服务器设置为Cloudflare 名称服务器

购买国外域名参考:国外域名购买交易网站汇总,小编在godaddy购买的域名。
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

获取cloudflare API Token

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

在cloudflare中配置SSL/TLS

  1. 修改加密模式,选择完全

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 选择源服务器创建证书

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

kubesphere使用cert-manager申请cloudflare证书

参考:Kubernetes Ingress 配置泛域名 TLS 证书

安装证书管理器

$ kubectl create ns cert-manager
$ helm uninstall cert-manager -n cert-manager
$ helm install cert-manager jetstack/cert-manager \
  -n cert-manager \
  --version v1.8.0 \
  --set installCRDs=true \
  --set prometheus.enabled=false \
  --set 'extraArgs={--dns01-recursive-nameservers-only,--dns01-recursive-nameservers=119.29.29.29:53\,8.8.8.8:53}'    

验证安装结果
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

创建Secret资源

kubectl create secret generic cloudflare-api-token-secret --from-literal=api-token=xxxxxxxxxxxxxx -n cert-manager
 
#把xxxxxxxxxxxxxx 替换为你的cloudflare上的token

上述创建方式翻译为资源文件Secret.yaml:

apiVersion: v1
kind: Secret
metadata:
  name: cloudflare-api-token-secret
  namespace: cert-manager
type: Opaque
stringData:
  # #把xxxxxxxxxxxxxx 替换为你的cloudflare上的token
  api-token: xxx 

创建资源kubectl apply -f Secret.yaml,查看资源
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

创建cluster-issuer.yaml

# 指定了使用的 Kubernetes API 版本和 cert-manager 的 API 组
apiVersion: cert-manager.io/v1
# 指定了这个 YAML 文件定义的 Kubernetes 对象类型为 ClusterIssuer,表示这是一个集群级别的证书颁发者。
kind: ClusterIssuer
# 部分包含了 Kubernetes 对象的元数据,包括名称 "letsencrypt" 和命名空间 "base"
metadata:
  name: letsencrypt
  namespace: base
# 部分定义了 ClusterIssuer 对象的规范
spec:
  # acme 部分定义了使用 ACME 协议进行证书颁发的配置信息
  acme:
    # 指定了 Let's Encrypt ACME 服务器的 URL
    server: https://acme-v02.api.letsencrypt.org/directory
    # 指定了与 Let's Encrypt 交互时使用的电子邮件地址
    email: 1293780497@qq.com
    # 指定了用于存储私钥的 Kubernetes Secret 对象的名称
    privateKeySecretRef:
      name: letsencrypt
    # 部分定义了用于验证域名所有权的 DNS 验证器,以确保证书颁发请求是由域名所有者发起的
    solvers:
    # 表示使用 DNS 验证器进行验证
    - dns01:
        # 表示使用 Cloudflare DNS 服务进行验证
        cloudflare:
          # 指定了与 Cloudflare 交互时使用的电子邮件地址
          email: 1293780497@qq.com
          apiTokenSecretRef:
            # 指定了用于访问 Cloudflare API 的 Kubernetes Secret 对象的名称和键
            name: cloudflare-api-token-secret
            key: api-token

这个 Kubernetes YAML 文件定义了一个名为 “letsencrypt” 的 ClusterIssuer 对象,用于配置 cert-manager 应用程序与 Let’s Encrypt 证书颁发机构进行交互,以自动为 Kubernetes 集群中的 Ingress 资源颁发 SSL/TLS 证书。

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

创建cert.yaml

# 指定了使用的 Kubernetes API 版本和 cert-manager 的 API 组
apiVersion: cert-manager.io/v1
# 指定了这个 YAML 文件定义的 Kubernetes 对象类型为 Certificate,表示这是一个证书对象
kind: Certificate
# 部分包含了 Kubernetes 对象的元数据
metadata:
  name: Certificate
  namespace: base
spec:
  # 指定了用于存储证书的 Kubernetes Secret 对象的名称
  secretName: remote-yxym-shop-tls
  # 指定了用于颁发证书的证书颁发者的名称和类型,这里指定了名为 "letsencrypt" 的 ClusterIssuer 对象
  issuerRef:
    name: letsencrypt
    kind: ClusterIssuer
  # 指定了证书颁发请求中包含的域名列表,这里只列出了一个名为 "xxx" 的域名。这些域名将用于验证证书颁发请求的域名所有权。
  dnsNames:
  - xxx

这个 Kubernetes YAML 文件定义了一个名为 “Certificate” 的 Certificate 对象,用于配置 cert-manager 应用程序获取 Let’s Encrypt 证书并将其存储在 Kubernetes 集群中的 Secret 对象中,以供 Ingress 资源使用。

申请证书已经查看申请状态

  1. 申请证书
kubectl apply -f cluster-issuer.yaml
kubectl apply -f cert.yaml
  1. 查看证书申请状态
kubectl get certificate -n <namespace>

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 如果状态Ready不是True需要查看原因
kubectl get challenge -n <namespace>
kubectl describe challenge challenge-xxxxxx -n <namespace>

部署harbor并配置ingress使用证书

  1. 进入应用商店

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 搜索harbor,一直下一步,直到应用设置

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. 应用设置
    1. 修改ingress.hosts.core为自己的域名
    2. 修改externalURL为自己的域名
  2. 点击安装
  3. 配置ingress应用路由,选择https以及证书

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. harbor访问测试

爱快中端口映射到了99端口,内网网关域名为192.168.31.11
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager

  1. docker登录harbor测试

5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager
背景及现象:应用商店部署harbor,在浏览器通过https能登录,但是在linux中通过docker login提示错误443端口连接不上,部署情况:

  1. ingress通过端口映射暴露在公网上
  2. linux上docker loginx通过公网域名:公网映射端口,测试443连接不上

解决方案:在ks集群中修改hosts文件,将ingress绑定的网关ip添加上
测试docker登录harbor成功
5.云原生安全之kubesphere应用网关配置域名TLS证书,私有云搭建实战,云原生,ingress,harbor,cert-manager文章来源地址https://www.toymoban.com/news/detail-791803.html

到了这里,关于5.云原生安全之kubesphere应用网关配置域名TLS证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于SSL/TLS双向安全连接设备CA证书认证

    小伙伴儿们,如果觉得文章干货满满,欢迎加入公众号【编程识堂】,更多干货等你们来哦! 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全

    2024年01月20日
    浏览(47)
  • 根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。

    提示:这里简述项目相关背景: 例如:项目场景:vs2022,HttpClient调用接口出现错误(根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。) 缺少证书,需要在安装证书 点击安装证书=》本地计算机=》下列存储,选择受信任的根证书颁发机构,安装完成之后

    2024年02月11日
    浏览(63)
  • 微信使用证书退款时候报”请求被中止: 未能创建 SSL/TLS 安全通道

    解决方法:IIS-》应用程序池-》高级设置-》进程模块-》加载用户配置文件,设置为True就可以了。

    2024年02月03日
    浏览(54)
  • 根据验证过程,远程证书无效。未能为 SSL-TLS 安全通道建立信任关系。

    提示:这里简述项目相关背景: 例如:项目场景:vs2022,HttpClient调用接口出现错误(根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。) 缺少证书,需要在安装证书 点击安装证书=》本地计算机=》下列存储,选择受信任的根证书颁发机构,安装完成之后

    2024年03月22日
    浏览(59)
  • 理解HTTPS/TLS/SSL(一)基础概念+配置本地自签名证书

    对于HTTPS、TLS、SSL相关的概念,平时也是时常接触到。看过几篇文章之后,总以为自己真正了解了,实际上并没有,准备补充一下这一部分的基础知识,对于更深层次的东西,例如各种标准的解读,则不打算深入。 我们都知道HTTP是不安全的,以及为什么不安全。但是为了更直

    2024年02月11日
    浏览(55)
  • C#调用webapi HTTPS报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系--安全证书问题

    1、首先加入命名空间: using System.Net.Security; using System.Security.Authentication; using System.Security.Cryptography.X509Certificates; SSL网站,连接时需要提供证书,对于非必须提供客户端证书的情况,只要返回一个安全确认即可。我的是.NET FrameWork4.0 2、加入以下代码: 3、接收证书进行身份验

    2024年02月13日
    浏览(48)
  • 【阿里云】申请与配置域名与配置Https(ssl)证书

    网站标识:域名可以唯一地标识一个网站或在线服务,类似于网站的身份证。通过输入域名,用户可以方便地找到并访问特定的网站 简化网址:域名代替了复杂的 IP 地址(如:192.168.0.1),使用户更容易记忆和输入网站地址。例如,www.example.com 代表了一个网站,而不需要记

    2024年02月02日
    浏览(47)
  • http的ssl证书保姆级配置安装-多域名 免费ssl证书 解析 nginx配置

    摘要:多个域名(mysite.com,*.mysite.com),免费证书,添加解析记录,申请证书的shell脚本,nginx配置 登录免费证书网站:https://freessl.cn/ 输入:mysite.com,*.mysite.com 选择亚洲诚信trustasia 点击“创建免费的ssl证书” ACME域名配置 域名:确认刚才输入的mysite.com,*.mysite.com无误,点击下

    2024年02月09日
    浏览(100)
  • 威联通NAS配置阿里云域名和SSL证书

    从阿里云 万网 购买域名; 为威联通 NAS 配置购买的域名,即设置DDNS; 从阿里云购买 SSL 证书; 为通过域名访问威联通配置 SSL 证书。 登录万网,点击 域名注册 ,输入想注册的域名名称后点击 立即查询 ,直到找到尚未注册的域名后 加入清单 ,然后点击 域名清单 ,点击

    2024年02月06日
    浏览(46)
  • vuepress(六)阿里云二级域名配置与添加SSL证书

    写在前面 这里是小飞侠Pan🥳,立志成为一名优秀的前端程序媛!!! 本篇博客收录于我的github前端笔记仓库中,持续更新中,欢迎star~ 👉 https://github.com/mengqiuleo/myNote 因为自己的域名备案已通过,所以就想自己配置个二级域名。 但是网上的教程都很分散,我自己踩坑了很多

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包