在 Kubernetes(k8s)中部署一个应用的完整示例如下:

  1. 创建一个应用的 Docker 镜像,例如一个简单的 Python Web 应用。

  2. 创建一个 Kubernetes Deployment 对象,用于定义应用的副本数、容器镜像和其他相关配置。可以使用 YAML 或 JSON 文件来定义 Deployment 对象。以下是一个示例的 Deployment 文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: 'my-app'
spec:
  replicas: 3
  selector:
    matchLabels:
      app: 'my-app'
  template:
    metadata:
      labels:
        app: 'my-app'
    spec:
      containers:
      - name: 'my-app-container'
        image: '<Docker镜像的名称>'
        ports:
        - containerPort: 80

在上述示例中,我们定义了一个名为 'my-app' 的 Deployment 对象,副本数为 3,使用了一个名为 'my-app-container' 的容器,并且将容器的端口 80 暴露出来。

  1. 使用 kubectl 命令来创建 Deployment:
kubectl create -f deployment.yaml
  1. 验证 Deployment 是否成功创建:
kubectl get deployments

您应该能够看到 'my-app' Deployment 的状态为 'Running'。

  1. 创建一个 Kubernetes Service 对象,用于将外部流量路由到 Deployment 中的 Pod。可以使用 YAML 或 JSON 文件来定义 Service 对象。以下是一个示例的 Service 文件:
apiVersion: v1
kind: Service
metadata:
  name: 'my-app-service'
spec:
  selector:
    app: 'my-app'
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: LoadBalancer

在上述示例中,我们定义了一个名为 'my-app-service' 的 Service 对象,使用了与 Deployment 相同的标签选择器,并将端口 80 映射到 Deployment 中的容器端口 80。

  1. 使用 kubectl 命令来创建 Service:
kubectl create -f service.yaml
  1. 验证 Service 是否成功创建,并获取 Service 的外部 IP:
kubectl get services

您应该能够看到 'my-app-service' Service 的类型为 'LoadBalancer',并且有一个外部 IP 地址。

  1. 现在,您可以使用外部 IP 地址来访问部署的应用。在浏览器中输入外部 IP 地址,应该能够看到应用的页面。

这是一个基本的 k8s 应用部署示例。您可以根据您的需求进行更多的配置和调整。

Kubernetes (k8s) 应用部署完整示例

原文地址: https://www.cveoy.top/t/topic/l4Lm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录