藏茗山學院
安全可靠、性能穩定、追求極致的用戶體驗
k8s-minikube pod的創建
Pod是K8s中的工作節點,是K8s管理的最小單元,K8s中Pod節點的資源可以使用Yaml、Json文件來描述,下面我們來演示如何在K8s上創建一個名為k8s-test-pod的Pod,并在k8s-test-pod中啟動k8s-container的容器。
首先,我們準備一個dangerzhu/hello-k8s-pod的鏡像,并將其推送到鏡像倉庫。
我們用Idea創建一個名為k8s的springboot項目,對外暴露一個接口,輸出:hello-k8s,this is my first k8s pod,如圖所示:
使用maven打包k8s項目,如圖所示:
創建Dockerfile文件,如圖所示:
內容如下:
#基礎鏡像
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 . 命令構建一個dangerzhu/hello-k8s-pod 鏡像,如圖所示:
使用dangerzhu賬戶登錄docker,并使用命令docker push dangerzhu/hello-k8s-pod 將dangerzhu/hello-k8s-pod鏡像推送到鏡像倉庫,如圖所示:
其次,使用Minikube通過Yaml文件創建Pod
我們先創建hello-k8s-pod.yaml文件,如圖所示:
內容如下:
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 創建Pod,如圖所示:
使用命令kubectl get pods 查看k8s-test-pod是否創建成功,以及k8s-container容器是否啟動成功,如圖所示:
由此可知k8s-test-pod已經創建,根據狀態STATUS:ContainerCreating,可以知道容器正在創建,使用命令kubectl describe pod k8s-test-pod查看pod中k8s-container容器創建的具體信息,如圖所示:
根據信息可知容器已經啟動完成,再次使用命令kubectl get pods 查看結果,如圖所示:
使用命令kubectl logs k8s-test-pod -c k8s-container 查看容器運行日志,如圖所示:
至此,在K8s上創建一個名為k8s-test-pod的Pod,并在k8s-test-pod中啟動k8s-container的容器(dangerzhu/hello-k8s-pod鏡像),已結束。