Kubernetes上にデプロイされたNginxの中身をいじりたいとき
はじめに
この記事は既に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
$ 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/
等に変更した場合はリロードをする必要がありますがsystemctl
やservice
コマンドが使えないので下記コマンドでリロードできます.
/ # nginx -s reload
ページにアクセスしてみる
http://localhost:xxx/
(アドレスやポートは各々によって変更してください)
デフォルトでこのような画面が見れればOKですね
終わりに
本当はデプロイする際に設定を変更するのがいいらしいですが,ひとまずこの方法で色々できるんだとわかりました.
Author And Source
この問題について(Kubernetes上にデプロイされたNginxの中身をいじりたいとき), 我々は、より多くの情報をここで見つけました https://qiita.com/sirius1000/items/155cac011e01c8bdc894著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .