1. <dd id="erndk"></dd>
                1. k8s入門之pod(四)

                  互聯網 2022/4/19 23:15:57

                  pod是k8s項目中的最小編排單位,它是運行中的一組(一個或多個)容器,這些容器共享存儲、網絡、調度等資源,pod是一個邏輯概念,同一個名稱空間下不同pod可以通過ip互相訪問。一、通過命令行方式管理 1.創建 在dev名稱空間下創建名稱為mynginx的pod,如果不指定-n參數,…

                  pod是k8s項目中的最小編排單位,它是運行中的一組(一個或多個)容器,這些容器共享存儲、網絡、調度等資源,pod是一個邏輯概念,同一個名稱空間下不同pod可以通過ip互相訪問。

                  一、通過命令行方式管理

                  1.創建

                  在dev名稱空間下創建名稱為mynginx的pod,如果不指定-n參數,則默認創建在default名稱空間下

                  kubectl run mynginx --image=nginx -n dev
                  

                  2.查看dev名稱空間下所有pod的簡單信息

                  kubectl get pod -n dev
                  

                  創建pod需要時間,尤其是節點上沒有該鏡像時,還需要下載鏡像,可以看到pod的Status狀態會隨著時間而改變,最后變成Running表示pod啟動成功

                  3.查看dev名稱空間下所有pod的詳細信息

                  kubectl get pod -n dev -owide --show-labels
                  

                  結果截圖如下

                  NODE:表示該pod被調度了哪個worker節點上

                  IP:k8s會為每個pod分配一個ip,集群中的任意一個機器以及任意的應用都能通過此ip來訪問這個Pod

                  在master節點上可以通過curl ip訪問pod

                  # 默認是80端口,所以訪問的是pod中的nginx容器
                  curl 10.244.218.1
                  

                  4.根據標簽檢索pod

                  kubectl get pod -n dev -owide --show-labels -l app=nginx
                  

                  5.查看pod的描述信息

                  kubectl describe pod mynginx -n dev
                  

                  其中Events事件可以查看到pod被創建的詳細過程

                  6.查看Pod的運行日志

                  kubectl logs mynginx -n dev
                  

                  7.進入pod容器

                  kubectl exec -it mynginx /bin/bash -n dev
                  

                  更改nginx容器的index.html內容

                  echo "hello,pod" >> /usr/share/nginx/html/index.html
                  

                  再次訪問mynginx

                  curl 10.244.218.1
                  

                  可以看到index.html首頁內容已經發生了變化

                  8.監控pod狀態命令

                  使用k8s的-w參數

                  kubect get pod -n dev -w
                  

                  使用linux命令

                  watch -n 1 kubectl get pod -n dev
                  

                  9.刪除pod

                  kubectl delete pod mynginx -n dev
                  

                  二、使用yaml管理

                  1.在pod里部署兩個容器

                  一個pod里面不能部署相同鏡像的容器,端口沖突

                  (1)創建yaml文件

                  vi pod-nginx-tomcat.yaml
                  

                  (2)編寫pod文件內容,定義兩個容器,一個為nginx,一個為tomcat

                  apiVersion: v1
                  kind: Pod
                  metadata:
                    labels:
                      web: server
                    name: web-server
                    namespace: dev
                  spec:
                    containers:
                    - image: nginx
                      name: nginx
                    - image: tomcat:9.0
                  

                  (3)使用kubectl apply創建pod

                  kubectl apply -f pod-nginx-tomcat.yaml
                  

                  (4)自動監控創建過程

                  kubectl get pod -n dev -w
                  

                  2.查看pod描述

                  kubectl describe pod web-server -n dev
                  

                  3.在節點上訪問pod

                  (1)查看pod的ip

                  kubectl get pod -n dev -owide
                  

                  (2)通過此ip訪問pod中的nginx容器

                  curl 10.244.218.2
                  

                  (3)通過此ip訪問pod中的tomcat容器

                  curl 10.244.218.2:8080
                  

                  4.進入pod里面訪問服務

                  (1)進入pod里面的nginx容器

                  kubectl exec web-server --container nginx -it /bin/bash -n dev
                  

                  (2)在容器內,以下命令均可訪問,證明了pod里網絡共享

                  curl localhost
                  curl localhost:8080
                  curl 10.244.218.2
                  curl 10.244.218.2:8080
                  
                  隨時隨地學軟件編程-關注百度小程序和微信小程序
                  關于找一找教程網

                  本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
                  本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。
                  [k8s入門之pod(四)]http://www.yachtsalesaustralia.com/tech/detail-315527.html

                  贊(0)
                  關注微信小程序
                  程序員編程王-隨時隨地學編程

                  掃描二維碼或查找【程序員編程王】

                  可以隨時隨地學編程啦!

                  技術文章導航 更多>
                  国产在线拍揄自揄视频菠萝

                        1. <dd id="erndk"></dd>