はじめに
以前の記事で、WSL2のDebianでK3sを起動してみました。本記事ではNGINXのPodをK3sで動かしてみました。
構成図
+-----------------------+
| +-------------------+ |
| | +---------------+ | |
| | | +-----------+ | | |
| | | | +-------+ | | | |
| | | | | NGINX | | | | |
| | | | +-------+ | | | |
| | | | K3s | | | |
| | | +-----------+ | | |
| | | Debian 12 | | |
| | +---------------+ | |
| | WSL2 | |
| +-------------------+ |
| Windows 10 |
+-----------------------+
マニフェストファイルを作成する
- nginx.yamlファイルを作成してください。
touch nginx.yaml
- viなどで以下のように編集してください。
apiVersion: v1 kind: Pod metadata: name: nginx labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: nginx spec: type: NodePort ports: - name: nginx protocol: TCP port: 80 targetPort: 80 nodePort: 30080 selector: app: nginx
- 上記ファイルを適用してください。
sudo k3s kubectl apply -f nginx.yaml
- PodおよびServiceが作成されていることを確認してください。
$ sudo k3s kubectl get pod,svc NAME READY STATUS RESTARTS AGE pod/nginx 1/1 Running 0 18s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 13h service/nginx NodePort 10.43.73.97 <none> 80:30080/TCP 18s
- NGINXにアクセスできることを確認してください。
curl 127.0.0.1:30080
- Windowsから実行する場合は、DebianのIPアドレス (e.g., 172.23.210.56) を
ip a
コマンドなどで確認してください。curl 172.23.210.56:30080
PS C:\> curl 172.23.210.56:30080 <!DOCTYPE html> <html> (snip) <body> <h1>Welcome to nginx!</h1> (snip)
- Windowsから実行する場合は、DebianのIPアドレス (e.g., 172.23.210.56) を
- ついでに、
kubectl top
コマンドも実行してください。$ sudo k3s kubectl top pod NAME CPU(cores) MEMORY(bytes) nginx 0m 4Mi
さいごに
K3sでNGINXを動かすことに成功しました。せっかく作ったK3s環境なのでいろいろ試してみたいと思います。