https://blog.csdn.net/u013286936/article/details/98457286
我这里创建的镜像名称为:demo-tomcat,tag为:1.0
注意:由于我没有搭建自己的镜像仓库,所有在k8s启动pod时,调度的工作节点拉取不到镜像。会出现以下错误:
可以采用离线导入的方式先将镜像拉取到所有node节点。
https://blog.csdn.net/u013286936/article/details/98456976
创建一个yaml文件:jvmdemo-tomcat.yml
yaml文件格式定义: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#creating-a-deployment
apiVersion: apps/v1kind: Deploymentmetadata: name: demo-tomcat labels: app: demospec: replicas: 1 selector: matchLabels: app: demo template: metadata: labels: app: demo spec: containers: - name: tomcat image: demo-tomcat:1.0 ports: - containerPort: 80
kubectl create -f jvmdemo-tomcat.yml
kubectl get pods
kubectl describe pod demo-tomcat-7f6bb4d7cd-fdbzw
如果pod状态为:CrashLoopBackOff,则可通过以下命令查看pod日志:
kubectl logs <podName>
当pod状态为running时,表示pod运行成功。
可以通过:
kubectl get pods -o wide查看到pod的ip地址。
然后在宿主机内,可以用过 curl测试tomat是否发布成功。
但是此时在宿主机外部还不能访问到tomcat。
将pod端口和node port绑定,这样就可以在宿主机外部,通过宿主机IP:port访问pod容器,以下示例,暴露的宿主机端口为:30880。 注意selector.app为上面yml文件中的metadata.lables.name:
apiVersion: v1kind: Servicemetadata: name: jvmdemo-servicespec: type: NodePort ports: - port: 8080 targetPort: 8080 nodePort: 30080 selector: app: demo
kubectl create -f jvmdemo-service.yml
查看service:
kubectl get srv
联系客服