GKEのtraefikルーティングを編集してアプリケーションを追加する

前回、Ingress を使用せずにブログを GKE に載せました。
ここで使用した traefik に別のホストのアプリケーションを載せます。

方法は簡単です。traefik はルーティングの条件にホストを指定できるので、match に Host の条件を追加するだけです。

route-kujilabo-blog.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kujilabo-blog
namespace: kujilabo-blog
spec:
entryPoints:
- web
routes:
- match: Host(`www.kujilabo.com`) && PathPrefix(`/`)
kind: Rule
services:
- name: kujilabo-blog
port: 80
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: kujilabo-blog-tls
namespace: kujilabo-blog
spec:
entryPoints:
- websecure
routes:
- match: Host(`www.kujilabo.com`) && PathPrefix(`/`)
kind: Rule
services:
- name: kujilabo-blog
port: 80
tls:
secretName: kujilabo-com-tls

続いて、アプリケーションの設定ファイルです。

route-cocotola-api.yaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: cocotola-api
namespace: cocotola
spec:
entryPoints:
- web
routes:
- match: Host(`api.cocotola.com`) && PathPrefix(`/`)
kind: Rule
services:
- name: cocotola-api
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: cocotola-api-tls
namespace: cocotola
spec:
entryPoints:
- websecure
routes:
- match: Host(`api.cocotola.com`) && PathPrefix(`/`)
kind: Rule
services:
- name: cocotola-api
port: 8080
tls:
secretName: cocotola-com-tls

事前に証明書を取得しています。取得方法は前回の記事を参照してください。