云原生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 k8s configmap 容器技術(shù)解析
這篇文章主要為大家介紹了k8s configmap 容器技術(shù)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
k8s部署Pyroscope并分析golang性能瓶頸(最新推薦)
這篇文章主要介紹了k8s部署Pyroscope并分析golang性能瓶頸,Pyroscope支持多種編程語言并提供了豐富的性能數(shù)據(jù),可以幫助我們跟蹤應(yīng)用程序的執(zhí)行情況,并根據(jù)收集到的數(shù)據(jù)來識(shí)別性能瓶頸,需要的朋友可以參考下2023-04-04
Podman開機(jī)自啟容器實(shí)現(xiàn)過程及與Docker對(duì)比
這篇文章主要為大家介紹了Podman開機(jī)自啟容器實(shí)現(xiàn)過程,通過示例代碼的形式進(jìn)行演繹過程,有需要的朋友可以參考下,希望可以有所幫助2021-09-09
kubernetes部署dashboard及應(yīng)用小結(jié)
Dashboard?是基于網(wǎng)頁的?Kubernetes?用戶界面,可以對(duì)?Deployment?實(shí)現(xiàn)彈性伸縮、發(fā)起滾動(dòng)升級(jí)、重啟?Pod?或者使用向?qū)?chuàng)建新的應(yīng)用,這篇文章主要介紹了kubernetes部署dashboard,需要的朋友可以參考下2024-06-06
Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解
這篇文章主要為大家介紹了Kubernetes有狀態(tài)應(yīng)用管理StatefulSet使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
CentOS?8.2?k8s?基礎(chǔ)環(huán)境配置
這篇文章主要介紹了CentOS?8.2?k8s?基礎(chǔ)環(huán)境配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-10-10

