LoginSignup
0
0

More than 1 year has passed since last update.

WSL上のKubernetesクラスタで動作するnginxに接続する

Posted at

はじめに

WSL(Ubuntu)上に構築したKubernetesのnginxサービスを立ち上げ、ホスト(Windows)側からブラウザアクセスする方法をまとめます。

動作環境

WSL上にminikubeとkubectlをインストールした環境を用意します。
今回の動作を確認した環境は下の表のとおりです。

ターゲット OS
ホスト Windows 11 Home 21H2
WSL Ubuntu 20.04

nginxの起動

minikubeを起動します。

minikube start

nginx用のマニフェストを作成します。(こちらの記事の内容を使わせていただきました)

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

nginxサービスをデプロイします。

kubectl apply -f nginx.yaml
kubectl expose deploy/nginx --port=80

以下のコマンドを実行し、8080番ポートのアクセスをnginxの80番ポートにポートフォワードします。

kubectl port-forward svc/nginx 8080:80

ゲスト側のターミナルでcurlを実行し、nginxが動作していることを確認します。

$ curl localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
~(略)~

ブラウザからのアクセス

ホスト側のブラウザを立ち上げ、アドレスバーにlocalhost:8080を入力することで、nginxにアクセスすることができます。以前はこちらの記事に書かれている設定が必要のようでしたが、今回は特に設定せずにブラウザからアクセスすることができました。

image.png

おわりに

結論としてはシンプルなのですが、WSLとKubernetesの知識が必要で試行錯誤しました。この記事の内容が誰かの参考になればうれしいです。

0
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
0
0