概要
証明書を登録しそれを Ingress の定義ファイルで参照するだけで有効にできます
環境
- Ubuntu18.04
- kubernetes v1.20.4
証明書作成
何でも OK です
LetsEncrypt などで作成する場合はこちらを参考に取得してください
証明書登録
k8s の secret リソースに登録します
例えば証明書と鍵を ~/certs/tls.crt
と ~/certs/tls.key
に配置した場合は以下のコマンドで登録できます
kubectl create secret tls my-tls --key ~/certs/tls.key --cert ~/certs/tls.crt
確認は get を使いましょう
また yaml に保存したい場合は -o yaml
を使います
kubectl get secret
kubectl get secret my-tls -o yaml
Ingress 定義作成
Ingress を定義する際は tls を使って SSL で受けるホストを指定します
また登録した証明書は secretName: my-tls
という感じで参照します
vim ingress.yml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: registry-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
tls:
- hosts:
- foo.bar.com
secretName: my-tls
rules:
- host: foo.bar.com
http:
paths:
- path: /
backend:
serviceName: web
servicePort: 80
0 件のコメント:
コメントを投稿