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,那么还可以从集群外部访问它。

posted @   you_yu  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示