https://github.com/kubernetes/kubernetes/pull/35652 Π½Π°ΡΡΡΠΈΠ» ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠΌΠΎΠ² nfs Π² ΠΏΠΎΠ΄Π°Ρ :
apiVersion: v1
kind: Pod
metadata:
name: demo
spec:
containers:
- image: fedora:24
name: fedora
imagePullPolicy: Always
command:
- /usr/bin/sleep
- "3600"
volumeMounts:
- name: myvol
mountPath: /mnt
volumes:
- name: myvol
nfs:
path: /srv/share
server: localhost
terminationGracePeriodSeconds: 5
kubectl create -f nfspod.yaml
ΠΠ°ΡΡΡΡΠ» Π² ContainerCreating
kubectl describe pod demo
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
14s 14s 1 {default-scheduler } Normal Scheduled Successfully assigned demo to 127.0.0.1
14s 6s 5 {kubelet 127.0.0.1} Warning FailedMount MountVolume.SetUp failed for volume "kubernetes.io/nfs/3cc8bac7-9c77-11e6-ae11-fa163e815edd-myvol" (spec.Name: "myvol") pod "3cc8bac7-9c77-11e6-ae11-fa163e815edd" (UID: "3cc8bac7-9c77-11e6-ae11-fa163e815edd") with: mount failed: exit status 32
Mounting command: mount
Mounting arguments: /localhost:/srv/share /var/lib/kubelet/pods/3cc8bac7-9c77-11e6-ae11-fa163e815edd/volumes/kubernetes.io~nfs/myvol nfs []
Output: mount.nfs: Failed to resolve server /localhost: Name or service not known
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°ΡΠ°Π»ΠΎ /
Π² ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° nfs.
@vishh @derekwaynecarr
https://github.com/kubernetes/kubernetes/pull/35349/commit/7fd03c4b6e132347cfa591abb263b92a53d004b1 Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ. ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ.
@vishh Π°Ρ
Π΄Π°, Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ» PR Ρ ΡΡΠΈΠΌ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ ΡΡ ΠΌΠ΅Π½Ρ ΠΎΠΏΠ΅ΡΠ΅Π΄ΠΈΠ». ΠΠΈΠ½ΡΡ Π²Π΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡ else
ΡΠ°ΠΊ ΠΊΠ°ΠΊ if
ΠΏΠ΅ΡΠ΅Π΄ Π½ΠΈΠΌ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° return
. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ! Π― Π·Π°ΠΊΡΠΎΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΠΎΠ»ΡΠ΅ΡΡΡ
ΠΡΠΈΠ²Π΅Ρ,
NFS Mount ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π° Ρ
ΠΎΡΡΠΎΠ² ΡΠ»ΡΠΆΠ± (service.namespace) Π½Π° GCE.
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΡΠ°Π½Π΅Π½Π° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° ΠΈΠ»ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π² GCE?
MountVolume.SetUp failed for volume "kubernetes.io/nfs/***" (spec.Name: "***") pod "***" (UID: "***") with: mount failed: exit status 32 Mounting command: mount Mounting arguments: nfs-server:/exports/jenkins-master /var/lib/kubelet/pods/***/volumes/kubernetes.io~nfs/jenkins-master nfs [] Output: mount.nfs: Failed to resolve server nfs-server.storage: Name or service not known
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ DNS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΈΠΌΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IP, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ²Π΅Ρ,
NFS Mount ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π° Ρ ΠΎΡΡΠΎΠ² ΡΠ»ΡΠΆΠ± (service.namespace) Π½Π° GCE.
ΠΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΡΡΠ°Π½Π΅Π½Π° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π° ΠΈΠ»ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π² GCE?
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ DNS ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΈΠΌΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ IP, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.