藏茗山學(xué)院
安全可靠、性能穩(wěn)定、追求極致的用戶體驗(yàn)
k8s-minikube pod的創(chuàng)建
Pod是K8s中的工作節(jié)點(diǎn),是K8s管理的最小單元,K8s中Pod節(jié)點(diǎn)的資源可以使用Yaml、Json文件來描述,下面我們來演示如何在K8s上創(chuàng)建一個(gè)名為k8s-test-pod的Pod,并在k8s-test-pod中啟動(dòng)k8s-container的容器。
首先,我們準(zhǔn)備一個(gè)dangerzhu/hello-k8s-pod的鏡像,并將其推送到鏡像倉庫。
我們用Idea創(chuàng)建一個(gè)名為k8s的springboot項(xiàng)目,對(duì)外暴露一個(gè)接口,輸出:hello-k8s,this is my first k8s pod,如圖所示:

使用maven打包k8s項(xiàng)目,如圖所示:

創(chuàng)建Dockerfile文件,如圖所示:

內(nèi)容如下:
#基礎(chǔ)鏡像
FROM java:8
#作者
MAINTAINER dangerzhu
COPY ./target/k8s-0.0.1-SNAPSHOT.jar hello-k8s-pod.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","hello-k8s-pod.jar"]
使用docker build -t dangerzhu/hello-k8s-pod . 命令構(gòu)建一個(gè)dangerzhu/hello-k8s-pod 鏡像,如圖所示:

使用dangerzhu賬戶登錄docker,并使用命令docker push dangerzhu/hello-k8s-pod 將dangerzhu/hello-k8s-pod鏡像推送到鏡像倉庫,如圖所示:

其次,使用Minikube通過Yaml文件創(chuàng)建Pod
我們先創(chuàng)建hello-k8s-pod.yaml文件,如圖所示:

內(nèi)容如下:
apiVersion: v1
kind: Pod
metadata:
name: k8s-test-pod
spec:
containers:
- image: dangerzhu/hello-k8s-pod
imagePullPolicy: IfNotPresent
name: k8s-container
ports:
- containerPort: 8080
protocol: TCP
使用命令 kubectl create -f hello-k8s-pod.yaml 創(chuàng)建Pod,如圖所示:

使用命令kubectl get pods 查看k8s-test-pod是否創(chuàng)建成功,以及k8s-container容器是否啟動(dòng)成功,如圖所示:

由此可知k8s-test-pod已經(jīng)創(chuàng)建,根據(jù)狀態(tài)STATUS:ContainerCreating,可以知道容器正在創(chuàng)建,使用命令kubectl describe pod k8s-test-pod查看pod中k8s-container容器創(chuàng)建的具體信息,如圖所示:

根據(jù)信息可知容器已經(jīng)啟動(dòng)完成,再次使用命令kubectl get pods 查看結(jié)果,如圖所示:

使用命令kubectl logs k8s-test-pod -c k8s-container 查看容器運(yùn)行日志,如圖所示:

至此,在K8s上創(chuàng)建一個(gè)名為k8s-test-pod的Pod,并在k8s-test-pod中啟動(dòng)k8s-container的容器(dangerzhu/hello-k8s-pod鏡像),已結(jié)束。