跳转至主要内容

部署 Kubernetes 应用程序

本教程涵盖在 Kubernetes 集群中部署应用程序所需的以下端到端任务

  • 设置 Kubernetes 上下文
  • 创建部署
  • 创建服务
  • 验证服务:端口转发

如果您有多个 Kubernetes 上下文,则必须设置要在其中创建应用程序资源的正确上下文。在 Kubernetes 集群中,您可以通过其内部 IP 地址访问应用程序。但是,如果要使应用程序可以从外部网络访问,则必须将包含应用程序的 Pod 暴露为 Kubernetes 服务。要访问 Kubernetes 集群上运行的服务,您可以使用以下选项之一

准备工作

确保您已

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
selector:
matchLabels:
run: my-nginx
replicas: 2
template:
metadata:
labels:
run: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80

此 YAML 配置创建了一个运行两个 Nginx Pod 的`my-nginx`部署。

  • 如果您计算机上没有`Service`文件,请使用以下代码创建一个:
apiVersion: v1
kind: Service
metadata:
name: my-nginx
labels:
run: my-nginx
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
run: my-nginx

此 YAML 配置创建一个名为`my-nginx`的服务,以将 Nginx 部署暴露到 Kubernetes 集群外部。该服务侦听端口`80`上的客户端请求,然后将其转发到容器上的目标端口`80`。

设置 Kubernetes 上下文

  1. 转到**设置 > Kubernetes**。
  2. 设置当前 Kubernetes 上下文。例如,如果要使用 Kind 集群,请使用 UI 中的**设为当前上下文**图标:设置上下文

创建部署

  1. 从左侧导航窗格转到 Kubernetes 资源管理器。
  2. 转到**部署**并单击**应用 YAML**。 应用部署 YAML
  3. 选择 YAML 配置文件,然后单击**打开**。操作成功通知将打开。通知
  4. 单击**确定**。
  5. 在同一页面上查看新创建的 `my-nginx` 部署。新部署
  6. 重新启动 Podman Desktop 应用程序。
  7. 从左侧导航窗格转到**Pod**。
  8. 查看两个新创建的 `my-nginx` pod。新的运行中 pod

创建服务

  1. 在 Kubernetes 资源管理器中,转到**服务**。
  2. 单击**应用 YAML**。
  3. 选择 YAML 配置文件,然后单击**打开**。操作成功通知将打开。
  4. 单击**确定**。
  5. 在同一页面上查看新创建的服务。新服务对象

验证服务:端口转发

  1. 使用 `kubectl port-forward` 命令将本地端口转发到服务。以下示例使用本地端口 `20000`。
$ kubectl port-forward service/my-nginx 20000:80
  1. 打开 Web 浏览器。
  2. 输入本地主机地址,例如, *https://127.0.0.1:20000*。
  3. 查看 Nginx 欢迎页面。欢迎页面