• k8s ingress配置网站https访问


    1. 配置示例

    • 配置HTTPS步骤

      1. 准备域名证书文件(来自:openssl/cfssl工具自签或者权威机构颁发)

      2. 将证书文件保存到Secret

         kubectl create secret tls www.scajy.cn --cert=www.scajy.cn.pem --key=www.scajy.cn.key
        
      3. Ingress规则配置tls

    • 示例代码

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: www-https
      spec:
        tls:
        - hosts:
          - www.scajy.cn         # 证书里面使用的域名
          secretName: www.scajy.cn   # 保存的Secret名称
        rules:
        - host: www.scajy.cn
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: web1
                  port:
                    number: 80
      
      
      

    2. 案例

    • 创建证书存放目录

      [root@k8s-master /]# cd /root/
      [root@k8s-master ~]# mkdir -p ssl
      
    • 下载证书
      image

      [root@k8s-master ~]# cd ssl/
      [root@k8s-master ssl]# ll
      总用量 8
      -rw-r--r--. 1 root root 1732 12月  8 15:10 www.scajy.cn.key
      -rw-r--r--. 1 root root 3759 12月  8 15:10 www.scajy.cn.pem
      
      # 注释:
      	这里证书是通过下载后上传的,自己去权威机构申请后,上传证书
      
    • 将证书文件保存到Secret

      [root@k8s-master ssl]#  kubectl create secret tls www.scajy.cn --cert=www.scajy.cn.pem --key=www.scajy.cn.key
      secret/www.scajy.cn created
      
    • 创建配置文件

      [root@k8s-master ingress]# vim https-web-ingress.yaml 
      [root@k8s-master ingress]# cat https-web-ingress.yaml 
      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: www-https
      spec:
        tls:
        - hosts:
          - www.scajy.cn   # 证书里面使用的域名
          secretName: www.scajy.cn   # 保存的Secret名称
        rules:
        - host: www.scajy.cn
          http:
            paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: web1
                  port:
                    number: 80
      
      
    • 启动配置文件

      [root@k8s-master ingress]# kubectl get ingress
      Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
      NAME        CLASS    HOSTS          ADDRESS   PORTS     AGE
      web1        <none>   web.scajy.cn             80        22h
      www-https   <none>   www.scajy.cn             80, 443   2m8s
      
    • 绑定hosts
      image

    • 浏览器访问测试
      image

  • 相关阅读:
    Git 分支[转]
    监听键盘的输入事件[转]
    github for windows的初步使用
    限制一个form被同时打开的数量 Limite The Number of Forms Opened at the same time
    android内存检测工具
    面试 9.26 总结
    canvas path paint 的使用(游戏必备)
    android知识点
    android查缺补漏
    AIDL的使用
  • 原文地址:https://www.cnblogs.com/scajy/p/15533359.html
Copyright © 2020-2023  润新知