藏茗山学院
安全可靠、性能稳定、追求极致的用户体验
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镜像),已结束。