完整的www部署YAMl文件

以下是生产环境下部署一个 WWW 服务 的 YAML 模板:

对于 Deployment,它可以控制 Pod 的生成和更新。为了保证外部可以访问 80 或 443 端口,您可以在 Deployment 中指定容器需要映射到的端口。举个示例:

 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-web
  template:
    metadata:
      labels:
        app: nginx-web
    spec:
      containers:
      - name: nginx-web
        image: nginx:latest
        ports:
        - name: http
          containerPort: 80
        - name: https
          containerPort: 443

然后再为该 Deployment 配对一个 Service,它可以将内部的 Pod IP 和端口与外部的访问路径进行映射。


apiVersion: v1
kind: Service
metadata:
  name: nginx-web
spec:
  selector:
    app: nginx-web
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443
  type: NodePort

使用 NodePort 类型可以在集群中任意节点的固定端口(例如 30443)上提供访问服务,您可以将该固定端口映射到 443,这样就可以通过外部的 443 端口访问服务了



  - name: https
    port: 443
    targetPort: 443
  type: NodePort
  
   port: 443
    targetPort: 443
    nodePort: 443、
	```
类似一样

其它:
80配置:

apiVersion: apps/v1 kind: Deployment metadata: name: www-deployment spec: selector: matchLabels: app: www replicas: 1 template: metadata: labels: app: www spec: containers: - name: www image: nginx:1.15 ports: - name: http containerPort: 80

		
443

apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx type: NodePort ports:

  • name: https port: 443 targetPort: 443 nodePort: 443

随机文章