在k8s上配置ingress並啟用HTTPS證書


第一步,定義Secret文件

該文件設置tls的證書私鑰和公鑰內容,通過base64編碼的內容
tls.crt: 證書公鑰
tls.key: 證書私鑰
示例

apiVersion: v1
kind: Secret
metadata:
  name: secret-tls
data:
  tls.crt: xxxxx cat xxx.crt | base64 -w 0
  tls.key: xxxxx cat xxx.pem | base64 -w 0
type: kubernetes.io/tls

第二步,定義ingress文件

如果希望http的強制轉到https,把ingress.kubernetes.io/ssl-redirect設為true
hosts:如果是泛域名*,則需要添加該泛域名的定義
secretName:上一步的secret名稱
backend:對應后端的service名稱和端口
示例

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: secret-tls-ingress
  annotations:
    ingress.kubernetes.io/ssl-redirect: "False"
spec:
  tls:
  - hosts:
    - aaa.com
    - "*.aaa.com"
    secretName: secret-tls
  rules:
  - host: aaa.com
    http:
      paths:
      - backend:
          serviceName: jira-svc
          servicePort: 9000
        path: /

第三步,部署secret,ingress文件

kubectl create -f xxx.yml

第四步,重啟ingress-controller組件

由於目前的ingress-controller版本對tls證書的bug,需要重新啟動才能生效


免責聲明!

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



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