k8s环境,当我们需要在pod容器镜像中增加host解析时,可以利用HostAliases来进行配置
kind: Deployment
apiVersion: apps/v1
metadata:
name: demo-app-v1
namespace: scrm
labels:
app: demo-app
app.kubernetes.io/name: demo-app
app.kubernetes.io/version: v1
version: v1
annotations:
deployment.kubernetes.io/revision: '42'
kubesphere.io/creator: mingming
servicemesh.kubesphere.io/enabled: 'false'
spec:
replicas: 1
selector:
matchLabels:
app: demo-app
app.kubernetes.io/name: demo-app
app.kubernetes.io/version: v1
version: v1
template:
metadata:
creationTimestamp: null
labels:
app: demo-app
app.kubernetes.io/name: demo-app
app.kubernetes.io/version: v1
version: v1
annotations:
kubesphere.io/restartedAt: '2023-02-16T06:40:12.266Z'
logging.kubesphere.io/logsidecar-config: '{}'
sidecar.istio.io/inject: 'false'
spec:
volumes:
- name: host-time
hostPath:
path: /etc/localtime
type: ''
containers:
- name: scrm-api
image: 'nginx:latest'
ports:
- name: http-0
containerPort: 8001
protocol: TCP
resources: {}
volumeMounts:
- name: host-time
readOnly: true
mountPath: /etc/localtime
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
serviceAccountName: default
serviceAccount: default
securityContext: {}
imagePullSecrets:
- name: harbor
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app: demo-app
app.kubernetes.io/name: demo-app
app.kubernetes.io/version: v1
version: v1
topologyKey: kubernetes.io/hostname
schedulerName: default-scheduler
hostAliases:
- ip: 192.168.200.23
hostnames:
- demo.com
- test.com
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600