部署 Kubernetes 应用程序
本教程涵盖了在 Kubernetes 集群中部署应用程序所需的以下端到端任务
- 设置 Kubernetes 上下文
- 创建部署
- 创建服务
- 验证服务:端口转发
如果您有多个 Kubernetes 上下文,则必须设置要创建应用程序资源的正确上下文。在 Kubernetes 集群中,您可以通过其内部 IP 地址访问应用程序。但是,如果您希望从外部网络访问您的应用程序,则必须将包含应用程序的 pod 作为 Kubernetes 服务公开。要访问在 Kubernetes 集群上运行的服务,您可以使用以下选项之一
- 配置端口转发
- 创建 Ingress 控制器
准备工作
请确保您已具备:
- 已安装 Podman Desktop.
- 一个正在运行的 Podman machine.
- 一个正在运行的 Kubernetes 集群.
- 一个可访问的集群连接
- 转到 Settings > Kubernetes,然后在集群磁贴中点击 Connect。
- 开发者角色。
- 如果您的机器上没有,请使用以下代码创建一个
Deployment
文件
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 配置会创建一个名为 my-nginx
的部署,该部署运行两个 Nginx Pod。
- 如果您的机器上没有,请使用以下代码创建一个
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 上下文
- 转到 Settings > Kubernetes。
- 设置当前的 Kubernetes 上下文。例如,如果您想使用 Kind 集群,请在 UI 中使用 Set as Current Context 图标:
创建部署
- 从左侧导航窗格转到 Kubernetes 资源管理器。
- 转到 Deployments 并单击 Apply YAML。
- 选择 YAML 配置文件,然后单击 Open。将打开一个操作成功的通知。
- 点击 OK。
- 在同一页面上查看新创建的
my-nginx
部署。 - 在 Kubernetes 资源管理器中单击 Pods。
- 查看已创建的
my-nginx
pod。
创建服务
- 在 Kubernetes 资源管理器中,转到 Services。
- 单击 Apply YAML。
- 选择 YAML 配置文件,然后单击 Open。将打开一个操作成功的通知。
- 点击 OK。
- 在同一页面上查看新创建的服务。
验证服务:端口转发
- 在 Kubernetes 资源管理器中,转到 Services。
- 单击
my-nginx
服务的名称。 - 单击 Forward...。
- 单击 Open 以在 Web 浏览器中查看 Nginx 欢迎页面。