SlideShare a Scribd company logo
Using CVMFS on a distributed Kubernetes cluster
The PRP experience
Presented by Igor Sfiligoi – UCSD
CernVM Workshop 2019
CernVM Workshop 2019 1
Outline
• What is PRP?
• How does Kubernetes fit in?
• Why do we need CVMFS?
• What was done?
• Operational experience
• Wishlist
• Integration with OSG StashCache
CernVM Workshop 2019 2
The Pacific Research Platform
The PRP originally created as a
regional networking project
• Establishing end-to-end links
between 10Gbps and 100Gbps
(GDC)
http://pacificresearchplatform.org
CernVM Workshop 2019 3
Toward the National Research Platform
PRP
PRPv2 Nautilus
Transoceanic
Nodes
Guam
Asian Pacific RP
Transoceanic
Nodes
Australia
Korea
Singapore
Netherlands
10G 35TB
UvA
FIONA6
10G 35TB
KISTI
10G 35TB
U of Guam
10G 35TB
U of Queensland
PRP morphing into TNRP
• We expanded nationally
• And beyond, too
CENIC/PW Link
40G FIONA
UIUC
40G 160TB
U Hawaii
40G 160TB
NCAR-WY
40G 192TB
UWashington
40G FIONA
I2 Chicago
40G FIONA
I2 NYC
40G FIONA
I2 Kansas City
40G FIONA1
UIC
CernVM Workshop 2019 4
Recently we evolved into a major resource provider, too
• Because scientists really need more than bandwidth tests
• They need to share their data at high speed and compute on it, too
Extensive compute power
• About 330 GPUs and 3.5k CPU cores
A large distributed storage area
• About 2 PBytes
Getting into the Compute Business
CernVM Workshop 2019 5
Kubernetes as a Resource Manager
• Industry standard
• Large and active development and support community
PRP decided to use Kubernetes as
the Resource Manager
• Great for network heavy workloads
• Very convenient for users
Containers provide major benefits
• Great for mixing service and user PodsKubernetes has flexible scheduler
• Both for networking
• and storage
Great plugin infrastructure
Docker
based
CernVM Workshop 2019 6
Serving
OSG users
Earlier this year we wanted to
add support for OSG users
And OSG has long been an
active user of CVMFS
CernVM Workshop 2019 7
CVMFS and Unprivileged Containers
OSG Pods run only unprivileged containers
• Like all other users in the k8s cluster
• To minimize risk
CVMFS cannot be mounted from inside an unprivileged container
• Using FUSE is a privileged operation
• Unless (maybe) using properly configured latest kernel, which we cannot assume
Installing CVMFS bare-metal not an option
• We want to have only k8s at bare-metal level
Docker
based
CernVM Workshop 2019 8
Kubernetes CSI to the Rescue
Kubernetes Container Storage Interface (CSI)
• Provides a standard way to add custom filesystems
Driver deployed by cluster admin
• Privileged operation
• But admin controls and can inspect the container images
User Pods see it as an additional mount option
• No privileges needed
https://kubernetes.io/blog/2019/01/15/container-storage-interface-ga/
CernVM Workshop 2019 9
API Version
Blues
• The CVMFS team developed a
Kubernetes CSI driver
https://github.com/cernops/cvmfs-csi
• But they developed against
the beta version
• Which has since been deprecated!
https://kubernetes-csi.github.io/docs/introduction.html
CernVM Workshop 2019 10
UCSD Team Does the Refactoring
The changes in the API were not huge
• But big enough to make the CERN-provided version unusable out-of-the-box
Dima Mishin from our UCSD team fixed it
• Now fully 1.0 compliant
• Also did minor polishing so it can co-exist with other CSI plugins
Have been running it since February 2019 on our cluster
Contributed back as a Pull Request
• Still not merged, though https://github.com/cernops/cvmfs-csi/pull/1
CernVM Workshop 2019 11
CERN vs OSG Setup
CERN provided version was optimized for CERN use
• Assuming only CERN-based repositories would ever be used
• Would not allow for mounting of OSG repositories
The restriction is not really necessary
• Removed it from the code
• Contributed back as a PR (also still pending)
Also switched to OSG packaged CVMFS
• Gives me all the needed config out-of-the-box
https://github.com/cernops/cvmfs-csi/pull/2
https://github.com/sfiligoi/cvmfs-csi/blob/prp-osg/deploy/docker/Dockerfile
https://cloud.docker.com/u/sfiligoi/repository/docker/sfiligoi/csi-cvmfsplugin
CernVM Workshop 2019 12
A little more
details, now
CernVM Workshop 2019 13
Deploying CVMFS
CVMFS Driver Pods deployed as a DaemonSet
• One (privileged) Pod starts on each node
• Plus a couple Service Pods
https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/csi-processes
CVMFS config needs a Squid
• We deploy one as a Kubernetes Service
• Using the OSG maintained Frontier Squid Image
https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/frontier $ kubectl get pods -n cvmfs
NAME READY STATUS
csi-cvmfsplugin-2mlqw 2/2 Running
csi-cvmfsplugin-2zx76 2/2 Running
…
csi-cvmfsplugin-8qfdf 2/2 Running
csi-cvmfsplugin-provisioner-0 1/1 Running
frontier-squid-77bb5546bd-swwdh 1/1 Running
$ kubectl get services -n cvmfs
NAME TYPE CLUSTER-IP PORT(S)
csi-cvmfsplugin-attacher ClusterIP 10.100.161.182 12345/TCP
csi-cvmfsplugin-provisioner ClusterIP 10.103.119.130 12345/TCP
frontier-squid ClusterIP 10.97.246.52 3128/TCP
CernVM Workshop 2019 14
Defining Mountpoints
AutoFS not an option
• Seems a limit of the Linux kernel
• We have to explicitly list
all the supported mountpoints
Using one StorageClass x mountpoint
• The desired mountpoint is specified
as a parameter
$ cat storageclass-oasis.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-cvmfs-oasis
provisioner: csi-cvmfsplugin
parameters:
repository: oasis.opensciencegrid.org
$ cat storageclass-stash.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-cvmfs-stash
provisioner: csi-cvmfsplugin
parameters:
repository: stash.osgstorage.org
https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/storageclasses
CernVM Workshop 2019 15
Using CVMFS
PersistentVolumeClaims can now be used by the users
• Note: Need to be defined in each and all namespaces that use them
https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/pvcs
No privileges needed by users to use them in Pods
• Just regular “external volumes”
• One per CVMFS mountpoint
$ cat pvc-oasis.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-cvmfs-pvc-oasis
namspace: osggpus
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 1Gi
storageClassName: csi-cvmfs-oasis
CernVM Workshop 2019 16
Using CVMFS
PersistentVolumeClaims can now be used by the users
• Note: Need to be defined in each and all namespaces that use them
https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/pvcs
No privileges needed by users to use them in Pods
• Just regular “external volumes”
• One per CVMFS mountpoint
$ cat pvc-oasis.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-cvmfs-pvc-oasis
namspace: osggpus
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage: 1Gi
storageClassName: csi-cvmfs-oasis
kind: Deployment
metadata:
name: osg-wn-gpu
namespace: osggpus
spec:
template:
spec:
containers:
- name: osg-wn-gpu
…
volumeMounts:
- name: cvmfs-connect
mountPath: /cvmfs/connect.opensciencegrid.org
readOnly: true
- name: cvmfs-stash
mountPath: /cvmfs/stash.osgstorage.org
readOnly: true
volumes:
- name: cvmfs-oasis
persistentVolumeClaim:
claimName: csi-cvmfs-pvc-oasis
readOnly: true
- name: cvmfs-stash
persistentVolumeClaim:
claimName: csi-cvmfs-pvc-stash
readOnly: true
CernVM Workshop 2019 17
Operational
experience
CernVM Workshop 2019 18
Mostly a smooth ride
No major problems so far
• CVMFS CSI just works
Driver Pod restarts can be annoying
• The user pods using CVMFS on that node will hang
• Makes CVMFS maintenance non-trivial
Current CSI Driver leaving Zombie processes behind
• Not critical, but still annoying
# ps -ef |awk '{print $1 " " $8 " " $9}’ | 
sort |uniq -c
73 cvmfs [cvmfs2] <defunct>
75 cvmfs [sh] <defunct>
1 root awk {print
1 root /bin/bash
1 root /csi-cvmfsplugin --nodeid=…
1 root ps -ef
195 root [sh] <defunct>
1 root sort
1 root uniq -c
1 UID CMD
CernVM Workshop 2019 19
Outstanding problems
Cannot mount the came CVMFS mountpoint from two namespaces
• CVMFS CSI Driver fails on an internal check
• Recently discovered, did not have time to properly investigate or fix it
CernVM Workshop 2019 20
Wishlist
• Would rather use a CERN-maintained version
• Please let us know if there is anything else
we can do to help there
Can we get our PRs accepted?
• If at all possible
• Any other ideas to avoid explicit listing of all
possible repositories?
AutoFS capabilities
CernVM Workshop 2019 21
CVMFS
and
OSG StashCache
CernVM Workshop 2019 22
PRP/TNRP a
Distributed
Setup
CENIC/PW Link
40G FIONA
UIUC
40G 160TB
U Hawaii
40G 160TB
NCAR-WY
40G 192TB
UWashington
40G FIONA
I2 Chicago
40G FIONA
I2 NYC
40G FIONA
I2 Kansas City
40G FIONA1
UIC
PRP
PRPv2 Nautilus
Transoceanic
Nodes
Guam
Asian Pacific RP
Transoceanic
Nodes
Australia
Korea
Singapore
Netherlands
10G 35TB
UvA
FIONA6
10G 35TB
KISTI
10G 35TB
U of Guam
10G 35TB
U of Queensland
(GDC)
CernVM Workshop 2019 23
Single Squid
makes no sense
CENIC/PW Link
40G FIONA
UIUC
40G 160TB
U Hawaii
40G 160TB
NCAR-WY
40G 192TB
UWashington
40G FIONA
I2 Chicago
40G FIONA
I2 NYC
40G FIONA
I2 Kansas City
40G FIONA1
UIC
PRP
PRPv2 Nautilus
Transoceanic
Nodes
Guam
Asian Pacific RP
Transoceanic
Nodes
Australia
Korea
Singapore
Netherlands
10G 35TB
UvA
FIONA6
10G 35TB
KISTI
10G 35TB
U of Guam
10G 35TB
U of Queensland
(GDC)
CernVM Workshop 2019 24
OSG Operates
a set of
StashCache nodes
CENIC/PW Link
40G FIONA
UIUC
40G 160TB
U Hawaii
40G 160TB
NCAR-WY
40G 192TB
UWashington
40G FIONA
I2 Chicago
40G FIONA
I2 NYC
40G FIONA
I2 Kansas City
40G FIONA1
UIC
PRP
PRPv2 Nautilus
Transoceanic
Nodes
Guam
Asian Pacific RP
Transoceanic
Nodes
Australia
Korea
Singapore
Netherlands
10G 35TB
UvA
FIONA6
10G 35TB
KISTI
10G 35TB
U of Guam
10G 35TB
U of Queensland
(GDC)
Using the same
PRP Kubernetes
cluster
CernVM Workshop 2019 25
OSG Operates
a set of
StashCache nodes
CENIC/PW Link
40G FIONA
UIUC
40G 160TB
U Hawaii
40G 160TB
NCAR-WY
40G 192TB
UWashington
40G FIONA
I2 Chicago
40G FIONA
I2 NYC
40G FIONA
I2 Kansas City
40G FIONA1
UIC
PRP
PRPv2 Nautilus
Transoceanic
Nodes
Guam
Asian Pacific RP
Transoceanic
Nodes
Australia
Korea
Singapore
Netherlands
10G 35TB
UvA
FIONA6
10G 35TB
KISTI
10G 35TB
U of Guam
10G 35TB
U of Queensland
(GDC)
Essentially
XRootD
servers
CVMFS configured to
use GeoIP to pick the
closest one when
serving large files
CernVM Workshop 2019 26
Summary
PRP is using Kubernetes as a resource manager
OSG users need CVMFS
CVMFS cannot be mounted from unprivileged containers
Using Kubernetes CSI to mount CVMFS in PRP
Had to fix CERN-provided version
No major operational issues found
Using Squid for small files and OSG StashCache for large files
CernVM Workshop 2019 27
Acknowledgents
This work was partially funded by
US National Science Foundation (NSF) awards
CNS-1456638, CNS-1730158,
ACI-1540112, ACI-1541349,
OAC-1826967, OAC 1450871,
OAC-1659169 and OAC-1841530.
CernVM Workshop 2019 28

More Related Content

What's hot

Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinWhy I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Henning Jacobs
 
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
Akihiro Suda
 
猿でもわかる Helm
猿でもわかる Helm猿でもわかる Helm
猿でもわかる Helm
Tsuyoshi Miyake
 
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
Junpei Nomura
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
HanLing Shen
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
Chris Tankersley
 
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Henning Jacobs
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and Docker
Dmytro Patkovskyi
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Henning Jacobs
 
KubeCon EU 2016: Heroku to Kubernetes
KubeCon EU 2016: Heroku to KubernetesKubeCon EU 2016: Heroku to Kubernetes
KubeCon EU 2016: Heroku to Kubernetes
KubeAcademy
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
Judy Breedlove
 
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
OpenStack Korea Community
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Henning Jacobs
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
Sujay Pillai
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Jung-Hong Kim
 
Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)
KAI CHU CHUNG
 
Network services on Kubernetes on premise
Network services on Kubernetes on premiseNetwork services on Kubernetes on premise
Network services on Kubernetes on premise
Hans Duedal
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Henning Jacobs
 
Java and Containers: What's there to think about? | DevNation Tech Talk
Java and Containers: What's there to think about? | DevNation Tech TalkJava and Containers: What's there to think about? | DevNation Tech Talk
Java and Containers: What's there to think about? | DevNation Tech Talk
Red Hat Developers
 

What's hot (20)

Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO BerlinWhy I love Kubernetes Failure Stories and you should too - GOTO Berlin
Why I love Kubernetes Failure Stories and you should too - GOTO Berlin
 
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
[表示が崩れる場合ダウンロードしてご覧ください] 2018年のDocker・Moby
 
猿でもわかる Helm
猿でもわかる Helm猿でもわかる Helm
猿でもわかる Helm
 
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
高レイテンシwebサーバのGKE構築と beta機能アレコレのハナシ
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
 
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
Kubernetes Failure Stories, or: How to Crash Your Cluster - ContainerDays EU ...
 
Build optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and DockerBuild optimization mechanisms in GitLab and Docker
Build optimization mechanisms in GitLab and Docker
 
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
Optimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latenc...
 
KubeCon EU 2016: Heroku to Kubernetes
KubeCon EU 2016: Heroku to KubernetesKubeCon EU 2016: Heroku to Kubernetes
KubeCon EU 2016: Heroku to Kubernetes
 
Developing Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus IbsenDeveloping Microservices with Apache Camel, by Claus Ibsen
Developing Microservices with Apache Camel, by Claus Ibsen
 
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker CaptainsDCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content ServicesDocker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
 
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on CloudDayta AI Seminar - Kubernetes, Docker and AI on Cloud
Dayta AI Seminar - Kubernetes, Docker and AI on Cloud
 
Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)Devfest 2021' - Artifact Registry Introduction (Taipei)
Devfest 2021' - Artifact Registry Introduction (Taipei)
 
Network services on Kubernetes on premise
Network services on Kubernetes on premiseNetwork services on Kubernetes on premise
Network services on Kubernetes on premise
 
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
Why Kubernetes? Cloud Native and Developer Experience at Zalando - Enterprise...
 
Java and Containers: What's there to think about? | DevNation Tech Talk
Java and Containers: What's there to think about? | DevNation Tech TalkJava and Containers: What's there to think about? | DevNation Tech Talk
Java and Containers: What's there to think about? | DevNation Tech Talk
 

Similar to Using CVMFS on a distributed Kubernetes cluster - The PRP Experience

Running Cloud Foundry for 12 months - An experience report | anynines
Running Cloud Foundry for 12 months - An experience report | anyninesRunning Cloud Foundry for 12 months - An experience report | anynines
Running Cloud Foundry for 12 months - An experience report | anynines
anynines GmbH
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
Boden Russell
 
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray OksayLines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
ContainerDay Security 2023
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
ShapeBlue
 
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDocker, Inc.
 
CloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdf
Koray Oksay
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
Hank Preston
 
Kubernetes
KubernetesKubernetes
Kubernetes
Meng-Ze Lee
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
macchiang
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
Peng Xiao
 
reBuy on Kubernetes
reBuy on KubernetesreBuy on Kubernetes
reBuy on Kubernetes
Stephan Lindauer
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
Altoros
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
Hirofumi Ichihara
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
ssuser92b4be
 
HPC in a Box - Docker Workshop at ISC 2015
HPC in a Box - Docker Workshop at ISC 2015HPC in a Box - Docker Workshop at ISC 2015
HPC in a Box - Docker Workshop at ISC 2015
inside-BigData.com
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
chalermpany
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
Sergey Dzyuban
 
Kayobe_desc
Kayobe_descKayobe_desc
Kayobe_desc
ssuser8fea38
 
CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStack
ShapeBlue
 

Similar to Using CVMFS on a distributed Kubernetes cluster - The PRP Experience (20)

Running Cloud Foundry for 12 months - An experience report | anynines
Running Cloud Foundry for 12 months - An experience report | anyninesRunning Cloud Foundry for 12 months - An experience report | anynines
Running Cloud Foundry for 12 months - An experience report | anynines
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
 
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray OksayLines of Defense - Securing your Kubernetes Clusters by Koray Oksay
Lines of Defense - Securing your Kubernetes Clusters by Koray Oksay
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
 
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
 
CloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdfCloudNativeTurkey - Lines of Defence.pdf
CloudNativeTurkey - Lines of Defence.pdf
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
DevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes IntegrationDevNetCreate - ACI and Kubernetes Integration
DevNetCreate - ACI and Kubernetes Integration
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linuxKubernetes deployment on bare metal with container linux
Kubernetes deployment on bare metal with container linux
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
reBuy on Kubernetes
reBuy on KubernetesreBuy on Kubernetes
reBuy on Kubernetes
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
 
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
kubeadm Cluster Creation Internals_ From Self-Hosting to Upgradability and HA...
 
HPC in a Box - Docker Workshop at ISC 2015
HPC in a Box - Docker Workshop at ISC 2015HPC in a Box - Docker Workshop at ISC 2015
HPC in a Box - Docker Workshop at ISC 2015
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
Kayobe_desc
Kayobe_descKayobe_desc
Kayobe_desc
 
CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStack
 

More from Igor Sfiligoi

Preparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYROPreparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYRO
Igor Sfiligoi
 
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
Igor Sfiligoi
 
Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...
Igor Sfiligoi
 
The anachronism of whole-GPU accounting
The anachronism of whole-GPU accountingThe anachronism of whole-GPU accounting
The anachronism of whole-GPU accounting
Igor Sfiligoi
 
Auto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resourcesAuto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resources
Igor Sfiligoi
 
Speeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rateSpeeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rate
Igor Sfiligoi
 
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence SimulationsPerformance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
Igor Sfiligoi
 
Comparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance computeComparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance compute
Igor Sfiligoi
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...
Igor Sfiligoi
 
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory AccessAccelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Igor Sfiligoi
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific Output
Igor Sfiligoi
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobs
Igor Sfiligoi
 
Modest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYROModest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYRO
Igor Sfiligoi
 
Data-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud BurstData-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud Burst
Igor Sfiligoi
 
Scheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with AdmiraltyScheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with Admiralty
Igor Sfiligoi
 
Accelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACCAccelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACC
Igor Sfiligoi
 
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Igor Sfiligoi
 
Porting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUsPorting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUs
Igor Sfiligoi
 
Demonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public CloudsDemonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public Clouds
Igor Sfiligoi
 
TransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud linksTransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud links
Igor Sfiligoi
 

More from Igor Sfiligoi (20)

Preparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYROPreparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYRO
 
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
 
Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...
 
The anachronism of whole-GPU accounting
The anachronism of whole-GPU accountingThe anachronism of whole-GPU accounting
The anachronism of whole-GPU accounting
 
Auto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resourcesAuto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resources
 
Speeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rateSpeeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rate
 
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence SimulationsPerformance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
 
Comparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance computeComparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance compute
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...
 
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory AccessAccelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific Output
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobs
 
Modest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYROModest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYRO
 
Data-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud BurstData-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud Burst
 
Scheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with AdmiraltyScheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with Admiralty
 
Accelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACCAccelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACC
 
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
 
Porting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUsPorting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUs
 
Demonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public CloudsDemonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public Clouds
 
TransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud linksTransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud links
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Using CVMFS on a distributed Kubernetes cluster - The PRP Experience

  • 1. Using CVMFS on a distributed Kubernetes cluster The PRP experience Presented by Igor Sfiligoi – UCSD CernVM Workshop 2019 CernVM Workshop 2019 1
  • 2. Outline • What is PRP? • How does Kubernetes fit in? • Why do we need CVMFS? • What was done? • Operational experience • Wishlist • Integration with OSG StashCache CernVM Workshop 2019 2
  • 3. The Pacific Research Platform The PRP originally created as a regional networking project • Establishing end-to-end links between 10Gbps and 100Gbps (GDC) http://pacificresearchplatform.org CernVM Workshop 2019 3
  • 4. Toward the National Research Platform PRP PRPv2 Nautilus Transoceanic Nodes Guam Asian Pacific RP Transoceanic Nodes Australia Korea Singapore Netherlands 10G 35TB UvA FIONA6 10G 35TB KISTI 10G 35TB U of Guam 10G 35TB U of Queensland PRP morphing into TNRP • We expanded nationally • And beyond, too CENIC/PW Link 40G FIONA UIUC 40G 160TB U Hawaii 40G 160TB NCAR-WY 40G 192TB UWashington 40G FIONA I2 Chicago 40G FIONA I2 NYC 40G FIONA I2 Kansas City 40G FIONA1 UIC CernVM Workshop 2019 4
  • 5. Recently we evolved into a major resource provider, too • Because scientists really need more than bandwidth tests • They need to share their data at high speed and compute on it, too Extensive compute power • About 330 GPUs and 3.5k CPU cores A large distributed storage area • About 2 PBytes Getting into the Compute Business CernVM Workshop 2019 5
  • 6. Kubernetes as a Resource Manager • Industry standard • Large and active development and support community PRP decided to use Kubernetes as the Resource Manager • Great for network heavy workloads • Very convenient for users Containers provide major benefits • Great for mixing service and user PodsKubernetes has flexible scheduler • Both for networking • and storage Great plugin infrastructure Docker based CernVM Workshop 2019 6
  • 7. Serving OSG users Earlier this year we wanted to add support for OSG users And OSG has long been an active user of CVMFS CernVM Workshop 2019 7
  • 8. CVMFS and Unprivileged Containers OSG Pods run only unprivileged containers • Like all other users in the k8s cluster • To minimize risk CVMFS cannot be mounted from inside an unprivileged container • Using FUSE is a privileged operation • Unless (maybe) using properly configured latest kernel, which we cannot assume Installing CVMFS bare-metal not an option • We want to have only k8s at bare-metal level Docker based CernVM Workshop 2019 8
  • 9. Kubernetes CSI to the Rescue Kubernetes Container Storage Interface (CSI) • Provides a standard way to add custom filesystems Driver deployed by cluster admin • Privileged operation • But admin controls and can inspect the container images User Pods see it as an additional mount option • No privileges needed https://kubernetes.io/blog/2019/01/15/container-storage-interface-ga/ CernVM Workshop 2019 9
  • 10. API Version Blues • The CVMFS team developed a Kubernetes CSI driver https://github.com/cernops/cvmfs-csi • But they developed against the beta version • Which has since been deprecated! https://kubernetes-csi.github.io/docs/introduction.html CernVM Workshop 2019 10
  • 11. UCSD Team Does the Refactoring The changes in the API were not huge • But big enough to make the CERN-provided version unusable out-of-the-box Dima Mishin from our UCSD team fixed it • Now fully 1.0 compliant • Also did minor polishing so it can co-exist with other CSI plugins Have been running it since February 2019 on our cluster Contributed back as a Pull Request • Still not merged, though https://github.com/cernops/cvmfs-csi/pull/1 CernVM Workshop 2019 11
  • 12. CERN vs OSG Setup CERN provided version was optimized for CERN use • Assuming only CERN-based repositories would ever be used • Would not allow for mounting of OSG repositories The restriction is not really necessary • Removed it from the code • Contributed back as a PR (also still pending) Also switched to OSG packaged CVMFS • Gives me all the needed config out-of-the-box https://github.com/cernops/cvmfs-csi/pull/2 https://github.com/sfiligoi/cvmfs-csi/blob/prp-osg/deploy/docker/Dockerfile https://cloud.docker.com/u/sfiligoi/repository/docker/sfiligoi/csi-cvmfsplugin CernVM Workshop 2019 12
  • 13. A little more details, now CernVM Workshop 2019 13
  • 14. Deploying CVMFS CVMFS Driver Pods deployed as a DaemonSet • One (privileged) Pod starts on each node • Plus a couple Service Pods https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/csi-processes CVMFS config needs a Squid • We deploy one as a Kubernetes Service • Using the OSG maintained Frontier Squid Image https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/frontier $ kubectl get pods -n cvmfs NAME READY STATUS csi-cvmfsplugin-2mlqw 2/2 Running csi-cvmfsplugin-2zx76 2/2 Running … csi-cvmfsplugin-8qfdf 2/2 Running csi-cvmfsplugin-provisioner-0 1/1 Running frontier-squid-77bb5546bd-swwdh 1/1 Running $ kubectl get services -n cvmfs NAME TYPE CLUSTER-IP PORT(S) csi-cvmfsplugin-attacher ClusterIP 10.100.161.182 12345/TCP csi-cvmfsplugin-provisioner ClusterIP 10.103.119.130 12345/TCP frontier-squid ClusterIP 10.97.246.52 3128/TCP CernVM Workshop 2019 14
  • 15. Defining Mountpoints AutoFS not an option • Seems a limit of the Linux kernel • We have to explicitly list all the supported mountpoints Using one StorageClass x mountpoint • The desired mountpoint is specified as a parameter $ cat storageclass-oasis.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-cvmfs-oasis provisioner: csi-cvmfsplugin parameters: repository: oasis.opensciencegrid.org $ cat storageclass-stash.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: csi-cvmfs-stash provisioner: csi-cvmfsplugin parameters: repository: stash.osgstorage.org https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/storageclasses CernVM Workshop 2019 15
  • 16. Using CVMFS PersistentVolumeClaims can now be used by the users • Note: Need to be defined in each and all namespaces that use them https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/pvcs No privileges needed by users to use them in Pods • Just regular “external volumes” • One per CVMFS mountpoint $ cat pvc-oasis.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: csi-cvmfs-pvc-oasis namspace: osggpus spec: accessModes: - ReadOnlyMany resources: requests: storage: 1Gi storageClassName: csi-cvmfs-oasis CernVM Workshop 2019 16
  • 17. Using CVMFS PersistentVolumeClaims can now be used by the users • Note: Need to be defined in each and all namespaces that use them https://github.com/sfiligoi/prp-osg-cvmfs/tree/master/k8s/cvmfs/pvcs No privileges needed by users to use them in Pods • Just regular “external volumes” • One per CVMFS mountpoint $ cat pvc-oasis.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: csi-cvmfs-pvc-oasis namspace: osggpus spec: accessModes: - ReadOnlyMany resources: requests: storage: 1Gi storageClassName: csi-cvmfs-oasis kind: Deployment metadata: name: osg-wn-gpu namespace: osggpus spec: template: spec: containers: - name: osg-wn-gpu … volumeMounts: - name: cvmfs-connect mountPath: /cvmfs/connect.opensciencegrid.org readOnly: true - name: cvmfs-stash mountPath: /cvmfs/stash.osgstorage.org readOnly: true volumes: - name: cvmfs-oasis persistentVolumeClaim: claimName: csi-cvmfs-pvc-oasis readOnly: true - name: cvmfs-stash persistentVolumeClaim: claimName: csi-cvmfs-pvc-stash readOnly: true CernVM Workshop 2019 17
  • 19. Mostly a smooth ride No major problems so far • CVMFS CSI just works Driver Pod restarts can be annoying • The user pods using CVMFS on that node will hang • Makes CVMFS maintenance non-trivial Current CSI Driver leaving Zombie processes behind • Not critical, but still annoying # ps -ef |awk '{print $1 " " $8 " " $9}’ | sort |uniq -c 73 cvmfs [cvmfs2] <defunct> 75 cvmfs [sh] <defunct> 1 root awk {print 1 root /bin/bash 1 root /csi-cvmfsplugin --nodeid=… 1 root ps -ef 195 root [sh] <defunct> 1 root sort 1 root uniq -c 1 UID CMD CernVM Workshop 2019 19
  • 20. Outstanding problems Cannot mount the came CVMFS mountpoint from two namespaces • CVMFS CSI Driver fails on an internal check • Recently discovered, did not have time to properly investigate or fix it CernVM Workshop 2019 20
  • 21. Wishlist • Would rather use a CERN-maintained version • Please let us know if there is anything else we can do to help there Can we get our PRs accepted? • If at all possible • Any other ideas to avoid explicit listing of all possible repositories? AutoFS capabilities CernVM Workshop 2019 21
  • 23. PRP/TNRP a Distributed Setup CENIC/PW Link 40G FIONA UIUC 40G 160TB U Hawaii 40G 160TB NCAR-WY 40G 192TB UWashington 40G FIONA I2 Chicago 40G FIONA I2 NYC 40G FIONA I2 Kansas City 40G FIONA1 UIC PRP PRPv2 Nautilus Transoceanic Nodes Guam Asian Pacific RP Transoceanic Nodes Australia Korea Singapore Netherlands 10G 35TB UvA FIONA6 10G 35TB KISTI 10G 35TB U of Guam 10G 35TB U of Queensland (GDC) CernVM Workshop 2019 23
  • 24. Single Squid makes no sense CENIC/PW Link 40G FIONA UIUC 40G 160TB U Hawaii 40G 160TB NCAR-WY 40G 192TB UWashington 40G FIONA I2 Chicago 40G FIONA I2 NYC 40G FIONA I2 Kansas City 40G FIONA1 UIC PRP PRPv2 Nautilus Transoceanic Nodes Guam Asian Pacific RP Transoceanic Nodes Australia Korea Singapore Netherlands 10G 35TB UvA FIONA6 10G 35TB KISTI 10G 35TB U of Guam 10G 35TB U of Queensland (GDC) CernVM Workshop 2019 24
  • 25. OSG Operates a set of StashCache nodes CENIC/PW Link 40G FIONA UIUC 40G 160TB U Hawaii 40G 160TB NCAR-WY 40G 192TB UWashington 40G FIONA I2 Chicago 40G FIONA I2 NYC 40G FIONA I2 Kansas City 40G FIONA1 UIC PRP PRPv2 Nautilus Transoceanic Nodes Guam Asian Pacific RP Transoceanic Nodes Australia Korea Singapore Netherlands 10G 35TB UvA FIONA6 10G 35TB KISTI 10G 35TB U of Guam 10G 35TB U of Queensland (GDC) Using the same PRP Kubernetes cluster CernVM Workshop 2019 25
  • 26. OSG Operates a set of StashCache nodes CENIC/PW Link 40G FIONA UIUC 40G 160TB U Hawaii 40G 160TB NCAR-WY 40G 192TB UWashington 40G FIONA I2 Chicago 40G FIONA I2 NYC 40G FIONA I2 Kansas City 40G FIONA1 UIC PRP PRPv2 Nautilus Transoceanic Nodes Guam Asian Pacific RP Transoceanic Nodes Australia Korea Singapore Netherlands 10G 35TB UvA FIONA6 10G 35TB KISTI 10G 35TB U of Guam 10G 35TB U of Queensland (GDC) Essentially XRootD servers CVMFS configured to use GeoIP to pick the closest one when serving large files CernVM Workshop 2019 26
  • 27. Summary PRP is using Kubernetes as a resource manager OSG users need CVMFS CVMFS cannot be mounted from unprivileged containers Using Kubernetes CSI to mount CVMFS in PRP Had to fix CERN-provided version No major operational issues found Using Squid for small files and OSG StashCache for large files CernVM Workshop 2019 27
  • 28. Acknowledgents This work was partially funded by US National Science Foundation (NSF) awards CNS-1456638, CNS-1730158, ACI-1540112, ACI-1541349, OAC-1826967, OAC 1450871, OAC-1659169 and OAC-1841530. CernVM Workshop 2019 28