Editing
Dynamic Provisioning
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
Kubernetes needs a specific '''storageClass''' to allocate dynamically requested persistent storage. As there is no driver that will take direct advantage of the BeeGFS filesystem (or even a common filesystem mounted on all workers), we have to set up an NFS server to share out a specific folder on /workspace so that it can be allocated appropriately. This could be any system -- compute7 is the current stuckee. Create the folder on /workspace (just for documentation purposes) mkdir /workspace/PersistentStorage chmod 777 /workspace/PersistentStorage Install, enable, and start the NFS server and related daemons on compute7 yum install nfs-utils libnfsidmap systemctl enable rpcbind systemctl enable nfs-server systemctl start rpcbind systemctl start nfs-server systemctl start rpc-statd systemctl start nfs-idmapd Specify the export location echo "/workspace/PersistentStorage 10.0.0.0/8(rw,sync,no_root_squash,fsid=1)" > /etc/exports Notify the server of the change in exported filesystems exportfs -r I'm using the nfs-client provisioner from the incubator tree on github -- it's not official, but it is recognized<ref>https://github.com/kubernetes-incubator/external-storage/</ref> To keep things clean, we will put this controller into the kube-system namespace ... this means modifying all the manifests mentioned below to include the 'namespace: kube-system' line where appropriate ... Following the instructions in the README.md file, the installation is in three steps: * set up authentication (create the service account, cluster role, and cluster role binding) kubectl create -f deploy/auth/serviceaccount.yaml kubectl create -f deploy/auth/clusterrole.yaml kubectl create -f deploy/auth/clusterrolebinding.yaml * modify the deployment.yaml file to set names * modify the class.yaml file to set names These files have been checked into the [https://gitlab.williams-net.org/k8s/k8s-admin GitLab k8s-admin repository]. Now, issue this next command to make it the default storage class: kubectl patch storageclass workspace -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}' ---- <references />
Summary:
Please note that all contributions to WilliamsNet Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
WilliamsNet Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Navigation
Commons
Architecture
How-To
Systems
Hardware
SysAdmin
Kubernetes
OpenSearch
Special
Pages to create
All pages
Recent changes
Random page
Help about MediaWiki
Formatting Help
Tools
What links here
Related changes
Special pages
Page information