云原生Kubernetes初始化容器Init使用教程
一、基本介紹
Kubernetes 中 Init 容器,也叫做初始化容器,是 K8s 官方為我們提供的一個(gè) 可以用來判斷我們的環(huán)境是否已經(jīng)滿足運(yùn)行 Pod 應(yīng)用前所需要的條件。 比如,我們有一個(gè)應(yīng)用是 Tomcat,但是需要向 ZooKeeper 中進(jìn)行注冊(cè)。
而恰好我們?cè)谶\(yùn)行 Tomcat 時(shí),ZooKeeper 出現(xiàn)了故障,從而導(dǎo)致我們的 Tomcat 因?yàn)樽?cè)不上數(shù)據(jù)而導(dǎo)致系統(tǒng)報(bào)錯(cuò)。
但是當(dāng)我們給 Tomcat 配置上 Init 容器后,效果便不再如上;因?yàn)槲覀兛梢宰?Init 容器運(yùn)行 until
命令進(jìn)行判斷,判斷是否滿足我們應(yīng)用運(yùn)行的要求,成功便會(huì)退出,否則將會(huì)一直進(jìn)行循環(huán)操作,直到條件成功。
使用 Init 容器的作用:
不需要在應(yīng)用容器中安裝一些輔助工具(如:nslookup
nc
)
可以通過配置 Init 容器來判斷是否滿足應(yīng)用容器的啟動(dòng)條件,并且 Init 容器可以訪問到應(yīng)用容器不能訪問的 Secret 權(quán)限。
二、Init 容器使用介紹
1)創(chuàng)建 Pod 的 yaml 文件
[root@k8s-master01 ~]# vim busybox-init.yaml apiVersion: v1 kind: Pod metadata: name: busybox labels: app: test spec: initContainers: - name: init-1 image: busybox:1.28.4 command: ['sh','-c','until nslookup kubernetes;do echo Waiting for K8s...;sleep 3;done;'] - name: init-2 image: busybox:1.28.4 command: ['sh','-c','until nslookup tomcat;do echo Waiting for Tomcat...;sleep 3;done;'] containers: - name: busybox image: busybox:1.28.4 command: ['sh','-c','echo Hello World && sleep 3600']
當(dāng)我們定義的初始化容器運(yùn)行成功后,便會(huì)進(jìn)行退出操作,緊接著啟動(dòng)下一個(gè)容器。
2)通過 yaml 文件啟動(dòng) Pod
[root@k8s-master01 ~]# kubectl create -f busybox-init.yaml
3)創(chuàng)建 Service 服務(wù)
[root@k8s-master01 ~]# kubectl create service clusterip tomcat --tcp=8080
4)驗(yàn)證
以上就是云原生Kubernetes中Init 容器使用介紹的詳細(xì)內(nèi)容,更多關(guān)于Kubernetes Init 容器使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Kubernetes k8s configmap 容器技術(shù)解析
- 云原生技術(shù)kubernetes之volumes容器的使用
- 一文解析Kubernetes使用PVC后數(shù)據(jù)丟失
- Kubernetes上使用Jaeger分布式追蹤基礎(chǔ)設(shè)施詳解
- 一文詳解基于Kubescape進(jìn)行Kubernetes安全加固
- kubernetes數(shù)據(jù)持久化StorageClass動(dòng)態(tài)供給實(shí)現(xiàn)詳解
- Kubernetes?controller?manager運(yùn)行機(jī)制源碼解析
- 詳解Kubernetes 中容器跨主機(jī)網(wǎng)絡(luò)
相關(guān)文章
kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記
這篇文章主要為大家介紹了kubernetes?Volume存儲(chǔ)卷configMap學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05阿里云kubernetes查找鏡像中jar包的方法(docker查看鏡像中的jar)
這篇文章主要給大家介紹了關(guān)于阿里云kubernetes查找鏡像中jar包的方法,也就是在docker查看鏡像中的jar,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09云原生技術(shù)kubernetes之volumes容器的使用
這篇文章主要為大家介紹了云原生技術(shù)kubernetes之volumes容器使用方式,?有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03K8s準(zhǔn)入控制Admission?Controller深入介紹
本篇我們將聚焦于?kube-apiserver?請(qǐng)求處理過程中一個(gè)很重要的部分?--?準(zhǔn)入控制器(Admission?Controller)深入講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04一文解析Kubernetes使用PVC后數(shù)據(jù)丟失
這篇文章主要為大家介紹了Kubernetes使用PVC后數(shù)據(jù)丟失原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Kubernetes k8s configmap 容器技術(shù)解析
這篇文章主要為大家介紹了k8s configmap 容器技術(shù)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08玩客云內(nèi)置EMMC存儲(chǔ)刷入Armbian系統(tǒng)(圖文詳解)
Armbian是其他項(xiàng)目可以信賴的單板計(jì)算機(jī)(SBC)的基本操作系統(tǒng)平臺(tái),接下來通過本文給大家介紹玩客云內(nèi)置EMMC存儲(chǔ)刷入Armbian系統(tǒng),需要的朋友可以參考下2022-05-05