1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

alpineLinuxを用いたk8s構築(web/ap/dbサーバ)~外部公開用Ingressの作成編~

Last updated at Posted at 2023-04-29

目的

Kubernetes内部のアプリケーションを外部から疎通確認可能にするため、
外部公開用Ingressの作成します。
疎通時、ポート番号をHTTPのデフォルトポートとする場合、
デフォルトポートをターゲットとしたセキュリティ攻撃になりうるため、
HTTP、HTTPSのデフォルトポートを使わないサービスの構成にします。
(後述では、ポート番号の記載は非公開とさせていただきます。)

参考:https://bs-square.jp/blog/index.php/2022/05/26/what-is-an-open-port-what-are-the-security-implications/

構築準備・事前作業

ポートを定義します。

  • port:★httpdのDockerで起動するhttpdのリッスンポート★
  • targetPort: ★デフォルトでは利便性のため、portに書き換わる★
    ※特段なんでもいいのですが、変えてもいいと思います。
  • nodePort: ★コンテナホスト側のポート★

参考:https://kubernetes.io/ja/docs/concepts/services-networking/service/
つまり仕組みとしては、ノードIP:nodePort→Kubernetesの内部では、portを宛先に接続します。

  • apache-deployment.yml
apiVersion: v1
kind: Service
metadata:
  name: apache-service
spec:
  selector:
    app: apache
  ports:
  - name: http
    port: ★適当★
    targetPort: ★httpdのDockerで解放しているポート★
    nodePort: ★コンテナホスト側のポート★
  type: LoadBalancer

実行内容

実行結果は結構シンプルです。

[root@t_kyn029 apachedocker]# kubectl apply -f apache-deployment.yml
service/apache-service created
[root@t_kyn029 apachedocker]# 

疎通確認

ここでは疎通確認はできないため、割愛しますが、確認すると、serviceが起動していることがわかります。

[root@t_kyn029 apachedocker]# kubectl get svc
NAME             TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)           AGE
apache-service   LoadBalancer   10.98.214.9   <pending>     【nodePort★コンテナホスト側のポート★】:【port★適当★】/TCP   114s
kubernetes       ClusterIP      10.96.0.1     <none>        443/TCP           77d
[root@t_kyn029 apachedocker]# 

(alphineLinuxを用いたk8s構築(web/ap/dbサーバ)~Apacheのイメージビルド・DeploymentPod作成編~で記載します。)

事後作業

どっちでもよいですが、削除するのであれば、
kubectl delete -f apache-deployment.yml
を実行します。

[root@t_kyn029 apachedocker]# kubectl delete -f apache-deployment.yml
service "apache-service" deleted
[root@t_kyn029 apachedocker]# 

以上です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?