更新时间:2022-05-07 GMT+08:00
参考:发布https类型的ingress到ELB
获取弹性负载均衡ELB的证书并加密
- 获取客户证书和私钥,本例使用ELB的样例证书。
登录控制台,单击左上角的
,在服务列表中单击“网路 > 弹性负载均衡 ELB”进入网络控制台,单击左侧栏目树中的“弹性负载均衡 > 证书管理”,单击右上角的“创建证书”。
在弹出的创建证书窗口中配置证书内容和私钥,本例使用ELB的样例参考(单击“样例参考”后的可自动填充样例),如下图:
图1 获取客户证书和私钥 - 将证书和私钥分别写到两个文件中,然后使用cat xxx | base64 | tr -d '\n' 进行base64位加密,获取加密后的字段。图2 获取加密后的字段
生成secret文件
生成secret文件如下:
apiVersion: v1 data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0******dDOTlIV3A2S3czN1JMOFdvQjhHV0ZVMFE0dEhMT2pCSXhrWlJPUFJoSCt6TUlycVVleHY2ZnNiM05XS2hubGZoMU1qNXdRRTRMZG89Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRV*******SGp5YTRJa2trZ3Q0MHExTXJVc2dJWWJGWU1mMgotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= kind: Secret metadata: annotations: description: test for ingressTLS secrets name: elb-https-secret namespace: default type: IngressTLS
创建该Secret:
kubectl create –f xxx.yml
创建ingress并使用该secret
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/elb.ip: 192.168.0.244 kubernetes.io/elb.port: "7777" name: https-ing namespace: default spec: rules: - http: paths: - backend: serviceName: jenkinstest servicePort: 8080 path: /test-https property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH tls: - secretName: elb-https-secret
创建ingress:
kubectl create –f xxx.yml
