k8s入門之pod(四)
互聯網 2022/4/19 23:15:57
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
- 2022-05-1938 k8s-19.Ingress入門使用
- 2022-05-18k8s系列--node(k8s節點介紹,新增節點,移除節點)
- 2022-05-15k8s源碼閱讀基礎 flag標準庫
- 2022-05-13k8s 使用ceph
- 2022-05-1338 k8s-18.service
- 2022-05-11k8s工作節點組件狀態報ContainerCreating,未獲取到ip地址
- 2022-05-05Kubernetes版本離線升級(服務器不能訪問互聯網)
- 2022-05-05二進制安裝k8s-1.20.4之搭建etcd集群
- 2022-05-0538 k8s-Deployment 20220505
- 2022-05-03ubuntu 二進制部署k8s