分享一个k8syaml文件

创建一个Deployment对象,用于定义应用程序的副本集和更新策略

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
spec:
replicas: 3 # 副本集中的Pod副本数
selector:
matchLabels:
app: my-app # 用于选择Pod的标签
template:
metadata:
labels:
app: my-app # Pod的标签
spec:
containers:
- name: my-app-container
image: my-app:latest # 应用程序的镜像
ports:
- containerPort: 8080 # 应用程序容器监听的端口

创建一个Service对象,用于将流量转发到Pod副本

apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app # 匹配Pod的标签
ports:
- protocol: TCP
port: 80 # Service暴露的端口
targetPort: 8080 # 转发到Pod的端口

创建一个Ingress对象,用于将外部流量路由到Service

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app-ingress
spec:
rules:
- host: my-app.example.com # Ingress的域名
http:
paths:
- path: /api # 路径匹配规则
pathType: Prefix
backend:
service:
name: my-app-service
port:
number: 80

  • Deployment:用于定义应用程序的副本集和更新策略。在示例中,它指定了3个Pod副本,选择具有app: my-app标签的Pod模板,并使用名为my-app-container的容器运行应用程序镜像。

  • Service:将流量转发到Pod副本。该示例创建了一个名为my-app-service的Service,选择具有app: my-app标签的Pod,并将流量转发到Pod上的8080端口。

  • Ingress:用于将外部流量路由到Service。示例中创建了一个名为my-app-ingress的Ingress,它将请求从my-app.example.com/api路由到my-app-service的80端口。

猜你喜欢

转载自blog.csdn.net/qq_44370158/article/details/132288830
今日推荐