[英]How to deploy a simple Hello World program to local Kubernetes cluster
我有一个非常简单的 spring-boot Hello World 程序。 当我在本地运行应用程序时,我可以导航到http://localhost:8080/并看到页面上显示的“Hello World”问候语。 我还创建了一个 Dockerfile 并可以从中构建映像。
我的下一个目标是将其部署到本地 Kubernetes 集群。 我已经使用 Docker Desktop 创建了一个本地 kubernetes 集群。 我想为我的应用程序创建一个部署,在集群上本地托管它,然后从浏览器访问它。
我不确定从哪里开始这个部署。 我知道我需要创建图表,但我不知道如何最终将此图像推送到我的集群...
您需要分别创建 kubernetes deployment
和service
定义。
这些定义可以是 json 或 yaml 格式。 这是示例定义,您可以将这些定义用作部署模板。
apiVersion: apps/v1
kind: Deployment
metadata:
name: your-very-first-deployment
labels:
app: first-deployment
spec:
replicas: 1
selector:
matchLabels:
app: first-deployment
template:
metadata:
labels:
app: first-deployment
spec:
containers:
- name: your-app
image: your-image:with-version
ports:
- containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
name: your-service
spec:
type: NodePort
ports:
- port: 80
nodePort: 30180
targetPort: 8080
selector:
app: first-deployment
不要忘记使用您的image name
和image version
更新部署 yaml 中的图像行。 替换后,使用名称例如deployment.yaml
保存此文件,然后使用kubectl apply -f deployment.yml
命令apply
此定义。
请注意,您需要使用port 30180
来访问您的应用程序,因为它在service
定义中被声明为nodePort
值。 ( http://localhost:30180 )
链接:
Kubernetes 服务: https ://kubernetes.io/docs/concepts/services-networking/service/
Kubernetes 部署: https ://kubernetes.io/docs/concepts/workloads/controllers/deployment/
您需要先定义部署才能启动,在部署中定义docker镜像和所需的环境。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.