mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-17 11:50:18 +00:00
ci: pass target filename of /etc/resolv.conf in case it is a symlink
In some Linux distributions the /etc/resolv.conf file is a symlink. This file gets included in the Kubernetes containers and will be used for resolving hostnames. By including the symlink, it is possible that that target file is not available in the container(s). This will cause problems when resolving hostnames, and Kubernetes will not get deployed. The default minikube VM provides /run/systemd/resolve/resolv.conf, with /etc/resolv.conf being a symlink. Therefor, it is needed to pass the `--extra-config=kubelet.resolv-conf=..` parameter to `kubeadm`. In case minikube is started with `--vm-driver=none` and /run/systemd/resolve/resolv.conf does not exist, the local /etc/resolv.conf will be used for inclusion in the Kubelet container. If this is a symlink, the final destination should get passed with `--extra-config=kubelet.resolv-conf=..` so that a working hostname resolution configuration is available in the container. Updates: #1121 Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
parent
365fbd1ca0
commit
81b17c5157
@ -78,8 +78,19 @@ fi
|
|||||||
K8S_FEATURE_GATES=${K8S_FEATURE_GATES:-"BlockVolume=true,CSIBlockVolume=true,VolumeSnapshotDataSource=true,ExpandCSIVolumes=true"}
|
K8S_FEATURE_GATES=${K8S_FEATURE_GATES:-"BlockVolume=true,CSIBlockVolume=true,VolumeSnapshotDataSource=true,ExpandCSIVolumes=true"}
|
||||||
|
|
||||||
#extra-config for kube https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/
|
#extra-config for kube https://minikube.sigs.k8s.io/docs/reference/configuration/kubernetes/
|
||||||
EXTRA_CONFIG=${EXTRA_CONFIG:-"--extra-config=apiserver.enable-admission-plugins=PodSecurityPolicy \
|
EXTRA_CONFIG=${EXTRA_CONFIG:-"--extra-config=apiserver.enable-admission-plugins=PodSecurityPolicy"}
|
||||||
--extra-config=kubelet.resolv-conf=/run/systemd/resolve/resolv.conf"}
|
|
||||||
|
# kubelet.resolv-conf needs to point to a file, not a symlink
|
||||||
|
# the default minikube VM has /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
|
||||||
|
RESOLV_CONF='/run/systemd/resolve/resolv.conf'
|
||||||
|
if [[ "${VM_DRIVER}" == "none" ]] && [[ ! -e "${RESOLV_CONF}" ]]; then
|
||||||
|
# in case /run/systemd/resolve/resolv.conf does not exist, use the
|
||||||
|
# standard /etc/resolv.conf (with symlink resolved)
|
||||||
|
RESOLV_CONF="$(readlink -f /etc/resolv.conf)"
|
||||||
|
fi
|
||||||
|
# TODO: this might overload --extra-config=kubelet.resolv-conf in case the
|
||||||
|
# caller did set EXTRA_CONFIG in the environment
|
||||||
|
EXTRA_CONFIG="${EXTRA_CONFIG} --extra-config=kubelet.resolv-conf=${RESOLV_CONF}"
|
||||||
|
|
||||||
#extra Rook configuration
|
#extra Rook configuration
|
||||||
ROOK_BLOCK_POOL_NAME=${ROOK_BLOCK_POOL_NAME:-"newrbdpool"}
|
ROOK_BLOCK_POOL_NAME=${ROOK_BLOCK_POOL_NAME:-"newrbdpool"}
|
||||||
|
Loading…
Reference in New Issue
Block a user