Kubernetes (k8s) 应用部署完整示例
在 Kubernetes(k8s)中部署一个应用的完整示例如下:
-
创建一个应用的 Docker 镜像,例如一个简单的 Python Web 应用。
-
创建一个 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 暴露出来。
- 使用 kubectl 命令来创建 Deployment:
kubectl create -f deployment.yaml
- 验证 Deployment 是否成功创建:
kubectl get deployments
您应该能够看到 'my-app' Deployment 的状态为 'Running'。
- 创建一个 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。
- 使用 kubectl 命令来创建 Service:
kubectl create -f service.yaml
- 验证 Service 是否成功创建,并获取 Service 的外部 IP:
kubectl get services
您应该能够看到 'my-app-service' Service 的类型为 'LoadBalancer',并且有一个外部 IP 地址。
- 现在,您可以使用外部 IP 地址来访问部署的应用。在浏览器中输入外部 IP 地址,应该能够看到应用的页面。
这是一个基本的 k8s 应用部署示例。您可以根据您的需求进行更多的配置和调整。
原文地址: https://www.cveoy.top/t/topic/l4Lm 著作权归作者所有。请勿转载和采集!