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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM