K8s_Deploy:
環境變量:
spec.template.spec.containers.env
常量定義,比如灰度環境定義:
- name: APP_ENV
value: GRAY
有時需要獲取容器的一些信息,參數名自定義,則可參數引用:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
requests And limits
resources:
requests:
cpu: "1"
memory: "2Gi"
limits:
cpu: "2"
memory: "4Gi"
requests表示必須最小需要配置,limits表示最大可占用配置。
設置limits不設置requests默認,requests和limits一樣。
設置requests不設置limits,則資源可在充沛條件下無限擴張,建議設置limits.
Ingress暴露(可通過Rancher配置):
要在原有的配置文件上添加以下信息:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-app-name
namespace: my-namespace
spec:
rules:
- host: my-app.ingress.local
http:
paths:
- backend:
serviceName: my-serviceName
servicePort: 80
path: /
---
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app-name
name: my-app-name
namespace: my-namespace
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: my-app-name
type: ClusterIP
---
※注意:“---”要保留用于區分不同部分,my[***]要替換為真實信息
PORT暴露(可通過Rancher配置)
apiVersion: v1
kind: Service
metadata:
labels:
app: my-appname
name: my-appname
namespace: my-namespace
spec:
ports:
- port: 8080
protocol: TCP
targetPort: http
name: http
selector:
app: vmagent-k8s
type: NodePort
---
※注意:“---”要保留用于區分不同部分,my[***]要替換為真實信息
Host綁定
spec:
template:
spec:
hostAliases:
- hostnames:
- www.example.local
ip: 172.00.00.00
浙公網安備 33010602011771號