外部サービスをIngress backendとして使用する


1 min read
外部サービスをIngress backendとして使用する

TL;DR

  • Service type: ExternalNameを使用する

External Service

Kubernetesでは、Ingressを使用することで、ホスト名ベースのロードバランシング/リバースプロキシを行うことが出来ます。その際、プロキシ先としてKubernetes上のServiceを指定するのですが、場合によってはKubernetesクラスタ外のサービスをプロキシ先としたい場合があります。例えば、弊宅の環境では、次の様にプロキシしています。

arch-1

基盤であるOpenNebulaのダッシュボード以外は*.web-apps.techとして、Kubernetesへとルーティングしています。

ところで、本ブログは現在Kubernetes上へ移行作業中です。今のところはまだ、Kubernetes上へ載せていません。しかし、折角プロキシの設定が減っているので、blog.web-apps.techIngressリソースとして管理したいです。

そこで使用できるのがService type: ExternalNameです。ExternalNameとして外部サービスを登録することで、Ingressのバックエンドとして使用できるようになります。

設定

設定はごく簡単で、次の様にします。

---
apiVersion: v1
kind: Namespace
metadata:
  name: external-services
---
apiVersion: v1
kind: Service
metadata:
  name: ghost
  namespace: external-services
spec:
  type: ExternalName
  externalName: 192.168.1.41 # 本ブログのローカルIP

今後も何かの拍子でKubernetesに載せたくないサービスが増える可能性もあるため、external-servicesとして名前空間を分離しました。このように設定すると、kubectlからは次の様に見えます。

$ kubectl get svc --name external-services
NAME      TYPE           CLUSTER-IP   EXTERNAL-IP    PORT(S)   AGE
ghost     ExternalName   <none>       192.168.1.41   <none>    54m

後は、普通にIngressの設定をするだけです。

---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ghost
  namespace: external-services
spec:
  rules:
    - host: blog.web-apps.tech
      paths:
        - path: /
          backend:
            serviceName: ghost
            servicePort: 2368

これで無事、Ingressリソースとして管理されたサブドメインblog.web-apps.techでクラスタ外のブログサービスへアクセスできるようになりました。


ingress-nginxを使用してオンプレでもIngressを使用する
Previous article

ingress-nginxを使用してオンプレでもIngressを使用する

TL;DR ingress-nginxを使用するとオンプレでもIngressを使用出来る MetalLBと組み合わせる Ingress IngressはKubernetesの機能の一つで、L7 LoadBalancerの機能を持ちます。先日紹介したtype LoadBalancerは、L4 LoadBalancerで、クラスタ内のDNSで名前解決をし、IP制限などをすることが出来ます。それに対し、Ingressでは、HTTPSの終端となることが出来、ホスト名ベース・パスベースのルーティングを行うことが出来ます。 通常、オンプレでKubernetesを構築した場合、Ingress Controllerと呼ばれる、Ingressを作成する機能が無いためにIngressを使用することが出来ません。 しかし、

ファイナルカツカレーをつくった
Next article

ファイナルカツカレーをつくった

連休も終わりで、明日から出社するのがつらいのでファイナルカツカレーを作りました。 ファイナルカツカレーは要するに、ファイナルカレーにカツを乗せたものです。 ファイナルカレーはいちばんおいしい家カレーをつくるに書かれているカレーで、我らがバイブルであるめしにしましょう(4)で紹介されています。 素晴らしいカレーであるとのことなので、やはりカツは素晴らしいカツを乗せたいものと思いますので、超級カツ丼の時にもやった、低温調理カツでやっていきます。 まずはタマネギを炒めていきます。これは一個分です。結構大きめのタマネギを買ってきました。 割とざっくりした粗みじん切りです。昨日包丁を研いだので目が痛くない。 強火で炒めて、焦げ付きそうになったら少し水を足す、という作業を繰り返します。 良い感じになったら香味野菜類を追加します。にんじん・セロリ・ニンニク・ショウガ・


Related Articles

バックアップはちゃんと取りましょう、という話

諸般の事情・・・というか単純に本ブログを動かしていたサーバーがどうやら壊れたようで(すぐに作業できる場所に置いてない)、とりあえずクラウド上に同じような環境を作ってバックアップからリストアしたんですが、最後にバックアップ取ってから何本か記事を書いていた物が消失しました。 皆さんちゃんとバックアップは定期的にとりましょう。 以上です。

1 min read
ingress-nginxで諸々設定する
1 min read

GO TOP

🎉 You've successfully subscribed to something tech.!
OK