1Pod的含義?
官方解釋:在Kubernetes集群中,Pod是所有業(yè)務(wù)類型的基礎(chǔ),它是一個(gè)或多個(gè)容器的組合。這些容器共享存儲(chǔ)、網(wǎng)絡(luò)和命名空間,以及如何運(yùn)行的規(guī)范。在Pod中,所有容器都被同一安排和調(diào)度,并運(yùn)行在共享的上下文中。對(duì)于具體應(yīng)用而言,Pod是它們的邏輯主機(jī),Pod包含業(yè)務(wù)相關(guān)的多個(gè)應(yīng)用容器。Kubernetes不只是支持Docker容器,它也支持其他容器。
個(gè)人理解:Pod是容器組的一個(gè)抽象,類似于一棟出租樓里面的房子,房子的其他小房間像容器,房間里的水,電充當(dāng)應(yīng)用服務(wù)。出租屋內(nèi)的小房間門跟容器端口差不多,出租屋大門像pod上的端口,整棟樓大門像service對(duì)外暴露的端口。
2使用Pod的原因?
pod是K8s最小的運(yùn)行,部署單位。用K8s作容器管理,比如Mysql,Redis等服務(wù)運(yùn)行需要?jiǎng)?chuàng)建Pod,才能對(duì)外提供服務(wù)。
3Pod操作相關(guān)命令
3.0 pod創(chuàng)建
kubectl run httpd--image=httpd -n 空間名
3.1 查看所有空間上的pod節(jié)點(diǎn)
kubectlget pods --all-namespaces
3.2 查看指定空間上的pod
kubectlgetpod -n 空間名
3.3 查看pod詳情
kubectlget pod -o wide -n? 空間名kubectldescribe pod name
3.4 指定變更pod空間清單腳本
kubectledit pod? pod名 -n 空間名
3.5 刪除pod
刪除某個(gè)空間下pod
kubectldeleteall--all -n? ?空間名
刪除默認(rèn)空間 pod
kubectldeletepodsname
刪除指定空間下pod
kubectldeletepodsname-n 空間名
3.6 登錄Pod里面容器(container-name 通過3.3 可以獲取)
kubectl exec -ti-c/bin/bash? ? container-name 有多個(gè)是要指定 只有一個(gè)去掉
kubectl exec-cdate??? ? ? container-name 有多個(gè)是要指定 只有一個(gè)去掉? ? ? 指定pod里面某個(gè)容器執(zhí)行命令
3.7 查看Pod里面容器日志
kubectl logs -f-c
4腳本創(chuàng)建Pod
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
? - image: tomcat:8.0
? ? name: test-container
? ? ports:
? - containerPort: 8080
? ? protocol: TCP