k8s如何部署服务
在Kubernetes中,配置文件通常以YAML格式编写,用于定义各种资源,如Deployments、Services、Pods等。以下是一个简单的示例,展示了如何编写一个Deployment和一个Service的配置文件。
1.Deployment 配置文件
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-deployment
labels:
app: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app-container
image: my-registry/my-app:latest
ports:
- containerPort: 80
resources:
requests:
memory: "64Mi"
cpu: "250m"
limits:
memory: "128Mi"
cpu: "500m"
这个Deployment配置文件定义了一个名为my-app-deployment的Deployment,它指定了:
- 使用
my-registry/my-app:latest作为容器的镜像。 - 容器内部监听的端口是80。
- 请求和限制的资源分别是64Mi内存和250m CPU,以及128Mi内存和500m CPU的限制。
- 副本数量为3。
2.Service 配置文件
service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
type: ClusterIP
selector:
app: my-app
ports:
- port: 80
targetPort: 80
这个Service配置文件定义了一个名为my-app-service的Service,它指定了:
- 使用
ClusterIP类型,这意味着Service只能在集群内部访问。 - 选择标签为
app: my-app的Pods作为服务的后端。 - 将Service的80端口映射到Pods的80端口上。
3.部署到Kubernetes集群
要将这些配置文件应用到Kubernetes集群中,您可以使用kubectl命令行工具。首先,确保您已经连接到集群。然后,使用以下命令:
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
这些命令会读取YAML文件,并创建或更新Kubernetes集群中的Deployment和Service资源。之后,您可以通过集群内部的其他服务或Pod来访问这个Service,或者如果您配置了Ingress,那么还可以从集群外部访问它。

浙公网安备 33010602011771号