繁体   English   中英

如何将一个简单的 Hello World 程序部署到本地 Kubernetes 集群

[英]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 deploymentservice定义。

这些定义可以是 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 nameimage 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM