apiVersion: v1
kind: Service #资源类型 service deployment pod statfulset等等
metadata:
name: eaglenos-gateway-svc
namespace: default
spec:
type: ClusterIP #服务类型 ClusterIP 通过集群的内部 IP 暴露服务; NodePort 通过每个节点上的 IP 和静态端口(NodePort)暴露服务; LoadBalancer 使用云提供商的负载均衡器向外部暴露服务; ExternalName 通过返回 CNAME 记录和对应值,可以将服务映射到 externalName 字段的内容
selector: #标签选择器
app: eaglenos-gateway
ports: # 配置一个名称P8080的对外端口对象,把容器内部80端口映射到8080端口对外服务,走TCP协议
- name: p8080
port: 80
protocol: TCP
targetPort: 8080
internalTrafficPolicy: Cluster #内部流量策略,可设置的值有 Cluster 和 Local, 将字段设置为 Cluster 会将内部流量路由到所有就绪端点,设置为 Local 只会路由到当前节点上就绪的端点。
sessionAffinity: None
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: eaglenos-gateway
namespace: default
labels:
app: eaglenos-gateway
spec:
replicas: 1 #.spec.replicas 副本数量,默认值是1。
selector: #.spec.selector 标签选择算符的必需字段。 .spec.selector 必须匹配 .spec.template.metadata.labels,否则请求会被 API 拒绝。
matchLabels:
app: eaglenos-gateway
strategy: #更新策略
type: RollingUpdate # 策略类型 .spec.strategy.type 可以是 “Recreate” 或 “RollingUpdate”。“RollingUpdate” 是默认值。
rollingUpdate: #.spec.strategy 策略指定用于用新 Pod 替换旧 Pod 的策略。 .spec.strategy.type 可以是 “Recreate” 或 “RollingUpdate”。“RollingUpdate” 是默认值。
maxSurge: 25% #最大峰值
maxUnavailable: 25% #最大不可用
template: #容器模板
metadata:
labels:
app: eaglenos-gateway
spec:
containers:
- env:
- name: JAVA_HOME
value: /usr/local/openjdk-8
- name: LANG
value: C.UTF-8
- name: PARAMS
value: >-
--server.port=8080 --spring.profiles.active=dev
--spring.application.name=eaglenos-gateway
--spring.cloud.nacos.discovery.server-addr=mse-be41c0f0-nacos-ans.mse.aliyuncs.com:8848
--spring.cloud.nacos.discovery.namespace=eg_prod
--spring.cloud.nacos.discovery.group=public
--spring.cloud.nacos.config.server-addr=mse-be41c0f0-nacos-ans.mse.aliyuncs.com:8848
--spring.cloud.nacos.config.namespace=eg_prod
--spring.cloud.nacos.config.group=public
--spring.cloud.nacos.config.shared-configs[0].data-id=application-dev.yml
--spring.cloud.nacos.config.shared-configs[0].group=public
--spring.cloud.nacos.config.shared-configs[0].refresh=true
--spring.cloud.nacos.config.file-extension=yml
--spring.cloud.sentinel.transport.dashboard=mse-be41c0f0-nacos-ans.mse.aliyuncs.com:8718
--spring.cloud.sentinel.datasource.ds1.nacos.server-addr=mse-be41c0f0-nacos-ans.mse.aliyuncs.com:8848
image: 'harbor.eaglenos.com/eaglenoscloud/eaglenos-gateway:v1.0.3' #容器镜像
imagePullPolicy: Always #镜像拉去策略
name: eaglenos-gateway
ports:
- containerPort: 80
name: p8080
protocol: TCP
resources: #资源限制,非必填
requests:
cpu: 250m
memory: 512Mi
dnsPolicy: ClusterFirst #Pod 的 DNS 策略 "Default" "ClusterFirst" "ClusterFirstWithHostNet" "None"
imagePullSecrets: #拉取镜像的秘钥
- name: harbor
restartPolicy: Always #容器策略
schedulerName: default-scheduler
securityContext: {}
网友评论