LoginSignup
0
0

More than 3 years have passed since last update.

Kubernetes上にデプロイされたNginxの中身をいじりたいとき

Posted at

はじめに

この記事は既にNginxをKubernetes上にデプロイしている前提でスタートします.
Kubernetesの構築方法やNginxのデプロイ方法については他記事(※今後記事を追加するかもしれません)をご参照ください.

クラスターのサーバーバージョン:v1.20.5-34+40f5951bd9888a

Nginxの中身を見る

現在立っているpodを確認

$ kubectl get pods -A
NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
default                nginx-pod                                    1/1     Running   0          4h22m

私の場合はNamaspace:default(指定なし), サービス名:nginx-podと設定しています.

podへアクセス

下記コマンドを使ってpodへアクセスする

$ kubectl exec -it nginx-pod(サービス名) /bin/bash

もしstat /bin/bash: no such file or directory: unknownのようなエラーが発生した場合は

$ kubectl exec -it nginx-pod(サービス名) /bin/ash

/bin/bash を /bin/ash へ変更して実行してください.

上記コマンドを実行すると

/ #

のように出力されていればOKです.

試しにlsコマンドを使ってみます.

/ # ls
bin    dev    etc    home   lib    media  mnt    proc   root   run    sbin   srv    sys    tmp    usr    var

フォルダが見れました

nginxのデフォルトのコンフィグファイルを確認

nginxのデフォルトのコンフィグファイルを確認したい場合は下記.

/ # cat /etc/nginx/conf.d/hello.conf
server {
    listen 80;

    root /usr/share/nginx/html;
    try_files /index.html =404;

    expires -1;

    sub_filter_once off;
    sub_filter 'server_hostname' '$hostname';
    sub_filter 'server_address' '$server_addr:$server_port';
    sub_filter 'server_url' '$request_uri';
    sub_filter 'server_date' '$time_local';
    sub_filter 'request_id' '$request_id';
}

ちゃんと確認できています.

もしrootを/var/www/html/等に変更した場合はリロードをする必要がありますがsystemctlserviceコマンドが使えないので下記コマンドでリロードできます.

/ # nginx -s reload

ページにアクセスしてみる

http://localhost:xxx/(アドレスやポートは各々によって変更してください)

スクリーンショット 2021-04-15 18.58.53.png

デフォルトでこのような画面が見れればOKですね

終わりに

本当はデプロイする際に設定を変更するのがいいらしいですが,ひとまずこの方法で色々できるんだとわかりました.

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