k8s的最小管理單元
一組容器的集合
一個(gè)Pod中的容器共享網(wǎng)絡(luò)命令空間
Pod是短暫的
1.infrastructure container 基礎(chǔ)容器(維護(hù)整個(gè)Pod網(wǎng)絡(luò)空間)
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)思茅,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575#查看容器的網(wǎng)絡(luò)
cat /opt/kubernetes/cfg/kubelet
#每次創(chuàng)建Pod時(shí)候就會(huì)創(chuàng)建,與Pod對(duì)應(yīng)的,對(duì)于用戶是透明的,網(wǎng)絡(luò)組件會(huì)被自動(dòng)加載成一個(gè)組件提供出去
docker ps
2.initcontainers 初始化容器
pod在進(jìn)行創(chuàng)建時(shí)一定會(huì)被執(zhí)行當(dāng)中的初始化initcontainers,
在老版本中執(zhí)行時(shí)不會(huì)區(qū)分前后順序(在系統(tǒng)進(jìn)行加載時(shí)PID號(hào)數(shù)字越小,優(yōu)先級(jí)別越高,越先被啟動(dòng)),
隨著云平臺(tái)的改進(jìn),啟動(dòng)模式改為主機(jī)形式,分隔出的初始化容器會(huì)被優(yōu)先加載,
在初始化容器加載完成之后后面的業(yè)務(wù)容器才能正常接著運(yùn)行
3.container 業(yè)務(wù)容器,并行啟動(dòng)
示例:
Init containers in use
This example defines a simple Pod that has two init containers.
The first waits for myservice, and the second waits for mydb.
Once both init containers complete, the Pod runs the app container from its spec section.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: busybox:1.28
command: ['sh', '-c', 'echo The app is running! && sleep 3600']
initContainers:
- name: init-myservice
image: busybox:1.28
command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
- name: init-mydb
image: busybox:1.28
command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;']
IfNotPresent:默認(rèn)值,鏡像在宿主機(jī)上不存在時(shí)才拉取
Always:每次創(chuàng)建Pod都會(huì)重新拉取一次鏡像
Never:Pod永遠(yuǎn)不會(huì)主動(dòng)拉取這個(gè)鏡像
示例:
Verify by creating a pod that uses a private image, e.g.:
kubectl apply -f - <
kubectl get pods
kubectl edit deployment/nginx
cd demo/
vim pod1.yaml
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: Always
command: [ "echo", "SUCCESS" ]
kubectl create -f pod1.yaml
kubectl get pods
#此時(shí)會(huì)出現(xiàn)CrashLoopBackOff創(chuàng)建之后又關(guān)閉的狀態(tài)提示
#失敗的狀態(tài)的原因是因?yàn)槊顔?dòng)沖突
#刪除 command: [ "echo", "SUCCESS" ]
#同時(shí)更改一下版本
image: nginx:1.14
#刪除原有的資源
kubectl delete -f pod1.yaml
#更新資源
kubectl apply -f pod1.yaml
#查看分配節(jié)點(diǎn)
kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
mypod 1/1 Running 0 1m42s 172.17.56.3 192.168.142.130
#在任意node節(jié)點(diǎn)使用curl查看頭部信息
curl -I 172.17.56.3
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Sat, 18 Feb 2020 19:32:55 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 04 Dec 2018 14:44:49 GMT
Connection: keep-alive
ETag: "5c0692e1-264"
Accept-Ranges: bytes
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。