内容へ移動
fl8 Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
Dokuwiki.fl8.jp
»
06_virtualization
»
05_container
»
13 Kubernetes Nginxを立ててみる
トレース:
06_virtualization:05_container:13_kubernetes_create_nginx
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 13 Kubernetes Nginxを立ててみる ====== ===== 1.nginx pod ===== 3つのnginxを立ててみる <code|nginx.yaml> apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 3 selector: matchLabels: app: nginx-app template: metadata: labels: app: nginx-app spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 </code> ==== create ==== kubectl create -f nginx.yaml <code> # kubectl get deployments.apps -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx 3/3 3 3 24s nginx nginx:latest app=nginx-app # kubectl get pod NAME READY STATUS RESTARTS AGE nginx-59bc74c488-669ng 1/1 Running 0 9m34s nginx-59bc74c488-csj8x 1/1 Running 0 9m34s nginx-59bc74c488-dc2zq 1/1 Running 0 9m34s </code> ===== 2.確認用にNginxの表示変更 ===== ==== Podを確認 ==== <code> # kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-6c57499ddb-pjql2 1/1 Running 1 (17m ago) 55m 10.224.1.15 worker01 <none> <none> nginx-6c57499ddb-tfghq 1/1 Running 1 (17m ago) 55m 10.224.1.14 worker01 <none> <none> nginx-6c57499ddb-zg88c 1/1 Running 1 (17m ago) 55m 10.224.1.17 worker01 <none> <none> </code> ==== Podそれぞれ表示を変える ==== <code> kubectl exec -it nginx-6c57499ddb-pjql2 -- bash echo pod1 | tee /usr/share/nginx/html/index.html exit kubectl exec -it nginx-6c57499ddb-tfghq -- bash echo pod2 | tee /usr/share/nginx/html/index.html exit kubectl exec -it nginx-6c57499ddb-zg88c -- bash echo pod3 | tee /usr/share/nginx/html/index.html exit </code> ===== 3.workerノードで確認 ===== <code> root@worker01:~# curl 10.224.1.15 pod1 root@worker01:~# curl 10.224.1.14 pod2 root@worker01:~# curl 10.224.1.17 pod3 </code> ===== 4.cluster IP 作成 ===== cluster ipの8080にアクセスが来ると、nginx-appへ渡す <code|clusterIp.yaml> apiVersion: v1 kind: Service metadata: name: cluster-ip spec: type: ClusterIP ports: - name: cluster-port port: 8080 targetPort: 80 selector: app: nginx-app </code> <code> # kubectl create -f clusterIp.yaml # kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE cluster-ip ClusterIP 10.105.186.186 <none> 8080/TCP 10m kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 85m </code> ===== 5.再度workerノードで確認 ===== cluster ipの8080にアクセスすると、podどれかにアクセスする <code> root@worker01:~# curl 10.105.186.186:8080 pod3 root@worker01:~# curl 10.105.186.186:8080 pod2 root@worker01:~# curl 10.105.186.186:8080 pod1 root@worker01:~# curl 10.105.186.186:8080 pod2 root@worker01:~# curl 10.105.186.186:8080 pod1 root@worker01:~# curl 10.105.186.186:8080 pod2 root@worker01:~# curl 10.105.186.186:8080 pod1 root@worker01:~# curl 10.105.186.186:8080 pod2 root@worker01:~# curl 10.105.186.186:8080 pod1 </code> ===== 6. ExternalIP用意 ===== <code|externalIp.yaml> apiVersion: v1 kind: Service metadata: name: external-ip spec: type: ClusterIP externalIPs: - 172.16.0.159 ports: - name: cluster-port port: 8080 targetPort: 80 selector: app: nginx-app </code> <code> # kubectl create -f externalIp.yaml # kubectl get svc external-ip NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE external-ip ClusterIP 10.101.128.182 172.16.0.159 8080/TCP 83s </code> ===== 7.次は外部からアクセス可能 ===== <code> root@jump:~# curl 172.16.0.159:8080 pod3 root@jump:~# curl 172.16.0.159:8080 pod1 root@jump:~# curl 172.16.0.159:8080 pod1 root@jump:~# curl 172.16.0.159:8080 pod3 root@jump:~# curl 172.16.0.159:8080 pod2 </code> {{tag>Kubernetes}}
06_virtualization/05_container/13_kubernetes_create_nginx.txt
· 最終更新: 2022/04/15 10:39 by
matsui
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ