mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
parent
4a3c7aecdb
commit
80f2e58ccc
@ -100,10 +100,10 @@ function split-commas {
|
||||
|
||||
function install-gci-mounter-tools {
|
||||
local -r rkt_version="v1.18.0"
|
||||
local -r gci_mounter_version="v2"
|
||||
local -r gci_mounter_version="v3"
|
||||
local -r rkt_binary_sha1="75fc8f29c79bc9e505f3e7f6e8fadf2425c21967"
|
||||
local -r rkt_stage1_fly_sha1="474df5a1f934960ba669b360ab713d0a54283091"
|
||||
local -r gci_mounter_sha1="851e841d8640d6a05e64e22c493f5ac3c4cba561"
|
||||
local -r gci_mounter_sha1="6ae71998bf9deba06468b036c2ba126626e0050d"
|
||||
download-or-bust "${rkt_binary_sha1}" "https://storage.googleapis.com/kubernetes-release/rkt/${rkt_version}/rkt"
|
||||
download-or-bust "${rkt_stage1_fly_sha1}" "https://storage.googleapis.com/kubernetes-release/rkt/${rkt_version}/stage1-fly.aci"
|
||||
download-or-bust "${gci_mounter_sha1}" "https://storage.googleapis.com/kubernetes-release/gci-mounter/gci-mounter-${gci_mounter_version}.aci"
|
||||
|
@ -5,3 +5,7 @@
|
||||
## v2 (Fri Oct 28 2016 Vishnu Kannan <vishh@google.com>)
|
||||
- Adding netbase package.
|
||||
- Digest: sha256:c7dfe059fbbf976fc4284a87eb18adf0f8e0c4cf30a30f5a852842c772a64c2d
|
||||
|
||||
## v3 (Fri Nov 11 2016 Jing Xu <jinxu@google.com>)
|
||||
- Add startmounter.sh script to start rpcbind before mounting for NFSv3
|
||||
- Digest: sha256:35bc48a1ca97c3971611dc4662d08d131869daa692acb281c7e9e052924e38b1
|
||||
|
@ -16,5 +16,5 @@ FROM ubuntu:xenial
|
||||
MAINTAINER vishh@google.com
|
||||
|
||||
RUN apt-get update && apt-get install -y netbase nfs-common=1:1.2.8-9ubuntu12 glusterfs-client=3.7.6-1ubuntu1
|
||||
|
||||
ENTRYPOINT ["/bin/mount"]
|
||||
ADD startmounter.sh /startmounter.sh
|
||||
ENTRYPOINT ["/startmounter.sh"]
|
||||
|
@ -12,7 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
TAG=v2
|
||||
TAG=v3
|
||||
REGISTRY=gcr.io/google_containers
|
||||
IMAGE=gci-mounter
|
||||
|
||||
|
@ -18,7 +18,7 @@ set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
MOUNTER_VERSION=v2
|
||||
MOUNTER_VERSION=v3
|
||||
MOUNTER_USER=root
|
||||
ROOT_DIR=/home/kubernetes/bin
|
||||
RKT_BINARY=${ROOT_DIR}/rkt
|
||||
@ -46,10 +46,18 @@ fi
|
||||
|
||||
echo "Running mount using a rkt fly container"
|
||||
|
||||
${RKT_BINARY} run --stage1-path=${STAGE1_ACI} \
|
||||
--insecure-options=image \
|
||||
--volume=kubelet,kind=host,source=/var/lib/kubelet,readOnly=false,recursive=true \
|
||||
--mount volume=kubelet,target=/var/lib/kubelet \
|
||||
${MOUNTER_IMAGE} --user=${MOUNTER_USER} --exec /bin/mount -- "$@"
|
||||
if [ "$#" -eq 0 ]; then
|
||||
${RKT_BINARY} run --stage1-path=${STAGE1_ACI} \
|
||||
--insecure-options=image \
|
||||
--volume=kubelet,kind=host,source=/var/lib/kubelet,readOnly=false,recursive=true \
|
||||
--mount volume=kubelet,target=/var/lib/kubelet \
|
||||
${MOUNTER_IMAGE} --user=${MOUNTER_USER} --exec /bin/mount
|
||||
else
|
||||
${RKT_BINARY} run --stage1-path=${STAGE1_ACI} \
|
||||
--insecure-options=image \
|
||||
--volume=kubelet,kind=host,source=/var/lib/kubelet,readOnly=false,recursive=true \
|
||||
--mount volume=kubelet,target=/var/lib/kubelet \
|
||||
${MOUNTER_IMAGE} --user=${MOUNTER_USER} --exec /startmounter.sh -- "$@"
|
||||
fi
|
||||
|
||||
echo "Successfully ran mount using a rkt fly container"
|
||||
|
26
cluster/gce/gci/mounter/startmounter.sh
Normal file
26
cluster/gce/gci/mounter/startmounter.sh
Normal file
@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright 2016 The Kubernetes Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# start rpcbind if it is not started yet
|
||||
s=`/etc/init.d/rpcbind status`
|
||||
if [[ $s == *"not running"* ]]; then
|
||||
echo "Starting rpcbind: /sbin/rpcbind -w"
|
||||
/sbin/rpcbind -w
|
||||
fi
|
||||
echo `/etc/init.d/rpcbind status`
|
||||
|
||||
# mount with passing paramaters
|
||||
/bin/mount "${@}"
|
@ -393,6 +393,40 @@ var _ = framework.KubeDescribe("GCP Volumes", func() {
|
||||
})
|
||||
})
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// NFSv3
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
||||
framework.KubeDescribe("NFSv3", func() {
|
||||
It("should be mountable for NFSv3", func() {
|
||||
config := VolumeTestConfig{
|
||||
namespace: namespace.Name,
|
||||
prefix: "nfs",
|
||||
serverImage: "gcr.io/google_containers/volume-nfs:0.8",
|
||||
serverPorts: []int{2049, 20048},
|
||||
}
|
||||
|
||||
defer func() {
|
||||
if clean {
|
||||
volumeTestCleanup(f, config)
|
||||
}
|
||||
}()
|
||||
pod := startVolumeServer(f, config)
|
||||
serverIP := pod.Status.PodIP
|
||||
framework.Logf("NFS server IP address: %v", serverIP)
|
||||
|
||||
volume := v1.VolumeSource{
|
||||
NFS: &v1.NFSVolumeSource{
|
||||
Server: serverIP,
|
||||
Path: "/exports",
|
||||
ReadOnly: true,
|
||||
},
|
||||
}
|
||||
// Must match content of test/images/volumes-tester/nfs/index.html
|
||||
testVolumeClient(f, config, volume, nil, "Hello from NFS!")
|
||||
})
|
||||
})
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Gluster
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
|
@ -8,5 +8,5 @@ runcmd:
|
||||
- mount -B -o remount,exec /home/kubernetes/bin
|
||||
- wget https://storage.googleapis.com/kubernetes-release/rkt/v1.18.0/rkt -O /home/kubernetes/bin/rkt
|
||||
- wget https://storage.googleapis.com/kubernetes-release/rkt/v1.18.0/stage1-fly.aci -O /home/kubernetes/bin/stage1-fly.aci
|
||||
- wget https://storage.googleapis.com/kubernetes-release/gci-mounter/gci-mounter-v2.aci -O /home/kubernetes/bin/gci-mounter-v2.aci
|
||||
- wget https://storage.googleapis.com/kubernetes-release/gci-mounter/gci-mounter-v3.aci -O /home/kubernetes/bin/gci-mounter-v3.aci
|
||||
- chmod a+x /home/kubernetes/bin/rkt
|
||||
|
Loading…
Reference in New Issue
Block a user