рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рд╣реИ? (рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдФрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рд╣рд╛рдпрддрд╛ рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, http://kubernetes.io/docs/troubleshooting/ рджреЗрдЦреЗрдВред): рдирд╣реАрдВ
рдЗрд╕реЗ рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдиреЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореБрджреНрджреЛрдВ рдореЗрдВ рдХреМрди рд╕реЗ рдХреАрд╡рд░реНрдб рдЦреЛрдЬреЗ? (рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╡рд╣рд╛рдВ рдЙрддреНрддрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред): рдХрдорд╛рдВрдб рдирд╣реАрдВ рдорд┐рд▓рд╛ configmap Kubernetes
рдХреНрдпрд╛ рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╛ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ? (рдПрдХ рдЪреБрдиреЗрдВ): рдмрдЧ
рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рд╕рдВрд╕реНрдХрд░рдг ( kubectl version
):
рдЧреНрд░рд╛рд╣рдХ рд╕рдВрд╕реНрдХрд░рдг: v1.6.1 GitCommit: "b0b7a323cc5a4a2019b2e9520c21c7830b7f708e"
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: v1.6.0 GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37
рдкрд░реНрдпрд╛рд╡рд░рдг :
uname -a
): рд╣реЛрд╕реНрдЯ Linux dev1 4.4.0-72-рдЬреЗрдиреЗрд░рд┐рдХ #93-Ubuntu SMP рд╢реБрдХреНрд░ 31 рдорд╛рд░реНрдЪ 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux рд╣реИрдХреНрдпрд╛ рд╣реБрдЖ :
рдЬрдм рдореИрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрдВрдЯреЗрдирд░ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
"рдбреЗрдореЙрди рд╕реЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдХрдВрдЯреЗрдирд░ рдХрдорд╛рдВрдб '/app/app.sh' рдирд╣реАрдВ рдорд┐рд▓рд╛ рдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред"
рдкреЙрдб рд╕реНрдкреЗрдХ рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛ рдЧрдИ рд╣реИ
рдЕрдЧрд░ рдореИрдВ configmap рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрдк рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рд╕рднреА рдЕрдкреЗрдХреНрд╖рд┐рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЖрдкрдХреЛ рдХреНрдпрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдереА :
рдореБрдЭреЗ рдЙрдореНрдореАрдж рдереА рдХрд┐ рдореМрдЬреВрджрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧ рдореИрдк рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ
рдЗрд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░реЗрдВ (рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдиреНрдпреВрдирддрдо рдФрд░ рд╕рдЯреАрдХ):
рдбреЙрдХрд░ рдлрд╝рд╛рдЗрд▓ - рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ
FROM busybox:latest
RUN mkdir /app
COPY app.sh /app
ENTRYPOINT ["/app/app.sh"]
рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ - рдЕрдирдВрдд рд▓реВрдк
#!/bin/sh
seq=1
while [[ true ]]; do
echo "${seq} $(date) working"
sleep .5s
let seq=$((seq + 1))
done
k8s рдХреЙрдиреНрдлрд┐рдЧрдореИрдк рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдлрд╝рд╛рдЗрд▓
apiVersion: v1
kind: ConfigMap
metadata:
labels:
product: k8s-demo
name: demo
data:
settings.json: |
{
"store": {
"type": "InMemory",
}
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
labels:
product: k8s-demo
name: demo
spec:
replicas: 1
template:
metadata:
labels:
app: demo
product: k8s-demo
spec:
containers:
- name: demo
image: pmcgrath/shellloop:1
imagePullPolicy: Always
volumeMounts:
- name: demo-config
mountPath: /app
volumes:
- name: demo-config
configMap:
name: demo
items:
- key: settings.json
path: settings.json
рдЬрдм рдореИрдВ kubectl рд▓рд╛рдЧреВ -d k8s.yaml рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдкреЙрдб рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддреА рд╣реИ
рдЖрд░рдкреАрд╕реА рддреНрд░реБрдЯрд┐: рдХреЛрдб = 2 desc = рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ "f9e0112c80ebba568d4b508f99ffb053bf1ae5a4f095ce7f45bff5f38900b617": рдбреЗрдореЙрди рд╕реЗ рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛: рдХрдВрдЯреЗрдирд░ рдХрдорд╛рдВрдб '/app/app.sh' рдирд╣реАрдВ рдорд┐рд▓рд╛ рдпрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
рд╣рдореЗрдВ рдФрд░ рдХреБрдЫ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ :
рдЕрдЧрд░ рдореИрдВ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП рдорд╛рдЙрдВрдЯрдкрд╛рде рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рди (резрен.режрей.реж-рд╕реАрдИ) рдкрд░ рд╕реАрдзреЗ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд┐рдпрд╛
touch settings.json
docker container run -ti -v $(pwd)/settings.json:/app/settings.json pmcgrath/shellloop:1
@pmcgrath
рдпрд╣рд╛рдВ рдЪреЗрдХрдЖрдЙрдЯ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рднреА рдпрд╣реА рдкреНрд░рд╢реНрди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдЙрддреНрддрд░ рд╣реИред
рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ configmap( settings.json: blahblah
) рд╣реИ, рдФрд░ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ /app
ред рдлрд┐рд░ рдиреАрдЪреЗ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
mountPath
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, /app
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЗрд╡рд▓ settings.json
редmountPath: /app/settings.json
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣, /app
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАредрдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдорд┐рд▓реЗрдЧрд╛:
containers:
- volumeMounts:
- name: demo-config
mountPath: /app/settings.json
subPath: settings.json
volumes:
- name: demo-config
configMap:
name: demo
@ рдЭреЛрд╣рд╛рдИрдмрд┐рдВрдЧ089
рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ
рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реБрдП рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ
рдердкрдердкрд╛рдирд╛
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдореВрд▓ рдЙрд▓реНрд▓реЗрдЦ рдпрд╣рд╛рдБ рд╣реИ: https://github.com/kubernetes/kubernetes/issues/23748#issuecomment -230390309
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдЧрд╛рдпрдм рд╣реИ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдХрд╛рдлреА рднреНрд░рдорд┐рдд/рднреНрд░рд╛рдордХ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрд╢рди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЗрд╕реЗ рдФрд░ рднреА рднреНрд░рд╛рдордХ рдмрдирд╛рддреЗ рд╣реИрдВ - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЧреБрдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдСрдЯреЛ рдЕрдкрдбреЗрдЯ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ mountPath
рдФрд░ subPath
рджреЛрдиреЛрдВ рдХреЗ рддрд╣рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
@ zhouhaibing089 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА subPath
рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рд╕рджреГрд╢ ConfigMap рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
IMO, рдпрд╣ _really_ рд╣рд▓ рдирд╣реАрдВ рд╣реИред рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
kind: ConfigMap
apiVersion: v1
metadata:
name: nginx-conf
data:
example1.conf: |
server {
server_name example1.com;
# config here...
}
example2.conf: |
server {
server_name example2.com;
# config here...
}
рддрд╛рдХрд┐...
- name: nginx-conf
mountPath: /etc/nginx/conf.d
append: true
... рдореМрдЬреВрджрд╛ default.conf
рдФрд░ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд░рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди example*.conf
рд╕рд╛рде рдмрдврд╝рд╛рддрд╛ рд╣реИ
рд╕рдмрдкрд╛рде рдореЗрдВ рдПрдХ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЛрд╣рд░рд╛рдирд╛ рд╕рд┐рд░реНрдл _icky_ рд╣реИред
@leebenson рдХреЗ append: true
рд╡рд┐рдХрд▓реНрдк рдкрд░ +1ред
@leebenson рдЙрддреНрддрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░: рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ append: true
рд╡рд┐рдХрд▓реНрдк рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ ??
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдорд┐рд▓рд╛:
error: error validating "hdfs/21-namenode-statefulset.yaml": error validating data: ValidationError(StatefulSet.spec.template.spec.containers[1].volumeMounts[1]): unknown field "append" in io.k8s.api.core.v1.VolumeMount; if you choose to ignore these errors, turn validation off with --validate=false
рд╕рд╛рде рд╣реА, рдпрд╣ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ:
https://k8smeetup.github.io/docs/api-reference/v1.9/#volumemount -v1-core
@leebenson рдЙрддреНрддрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░: рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐
append: true
рд╡рд┐рдХрд▓реНрдк рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ ??рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдорд┐рд▓рд╛:
error: error validating "hdfs/21-namenode-statefulset.yaml": error validating data: ValidationError(StatefulSet.spec.template.spec.containers[1].volumeMounts[1]): unknown field "append" in io.k8s.api.core.v1.VolumeMount; if you choose to ignore these errors, turn validation off with --validate=false
рд╕рд╛рде рд╣реА, рдпрд╣ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ:
https://k8smeetup.github.io/docs/api-reference/v1.9/#volumemount -v1-core
рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕реБрдЭрд╛рд╡ рд╣реИред рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рд╕реНрдЯреЗрдЯрдлреБрд▓рд╕реЗрдЯ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐ рдорд┐рд▓реАред рдХреНрдпрд╛ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП?
(рдореИрдВ рдПрдХ рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЬрд┐рд╕рдореЗрдВ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ -> /usr/share/elasticsearch/bin/run.sh: line 28: ./config/elasticsearch.yml: Read-only file system
)
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@pmcgrath
рдпрд╣рд╛рдВ рдЪреЗрдХрдЖрдЙрдЯ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рднреА рдпрд╣реА рдкреНрд░рд╢реНрди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдЙрддреНрддрд░ рд╣реИред
рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ configmap(
settings.json: blahblah
) рд╣реИ, рдФрд░ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ/app
ред рдлрд┐рд░ рдиреАрдЪреЗ рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:mountPath
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ,/app
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЗрд╡рд▓settings.json
редmountPath: /app/settings.json
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣,/app
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреАредрдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдВрддрддрдГ рдорд┐рд▓реЗрдЧрд╛: