Re: rook.io
Bassam Tabbara <Bassam.Tabbara@...>
Sure. Assuming a pod running in K8S has already mounted a Rook volume the main flow is:
toggle quoted message
Show quoted text
- writes to the volume (say /dev/rbd0) go through the kernel module and then out on the network
- one of the storage nodes receives the data and replicates it to 2-3 other storage nodes (in parallel) in the same pool backing the volume
- once the other replicas acknowledge the write the primary storage node completes the write operation.
Note there is no distinction between local and remote writes in this flow, they all result in network traffic due to replication. Its possible that one of the storage nodes is colocated with the client initiating the write, but thats inconsequential.
|
|
Re: rook.io
alexis richardson
Please can you talk through the interaction flow for a local plus remote disk write on AWS, assuming the write is initiated by a process associated with a container cluster (eg k8s). On Tue, 6 Jun 2017, 21:39 Bassam Tabbara, <Bassam.Tabbara@...> wrote: The most severe failure cases are ones that could lead to permanent data loss. There are a few, but first some background: |
|
Re: rook.io
Bassam Tabbara <Bassam.Tabbara@...>
The most severe failure cases are ones that could lead to permanent data loss. There are a few, but first some background:
toggle quoted message
Show quoted text
- Volumes are backed by virtual storage pools. - Virtual pools are made up of a number of storage nodes that work together to ensure that data is stored reliably - A pool can be configured to store replicas of data (typically 3x) or erasure coded chunks (different algorithms and factors are supported). - when a storage node is lost the others help re-replicate the data (i.e. data maintenance). Now the failure cases: - if too many nodes in the same pool are lost within a short window of time you’ll suffer data loss, for example, all three nodes in a 3x replica are lost at the same time. - if there are not enough resources to replicate/regenerate the data before more losses occur. To guard against such failures, most systems (including Rook) do the following: - storage nodes are spread across failure domains (different hosts, racks, zones etc.) - prioritize resources for “data maintenance” over resources used for “normal" data operations. In the context of running Rook in AWS, this means ensuring that the Rook storage pods are spread across the nodes in the cluster and across availability zones. Also ensuring that you’ve sized the machines and network to support data maintenance. Prioritization schemes also help, for example, SRV-IO is a popular way to do so without massive changes to the network. Finally, this is a good example of why building a control plane that can automate such decisions/tradeoffs helps ensure success with storage. On Jun 6, 2017, at 1:06 PM, Alexis Richardson <alexis@...> wrote: |
|
Re: rook.io
alexis richardson
What are the failure cases for this ?
On Tue, Jun 6, 2017 at 5:41 PM, Bassam Tabbara <Bassam.Tabbara@...> wrote: Alexis, |
|
Re: Infrakit Questions
Ihor Dvoretskyi
+1 to Rob's initiative on the demo.
Rob and Digital Rebar are doing a valuable job at Kubernetes community - it should be useful to share it across the whole CNCF community. On Tue, Jun 6, 2017 at 7:04 PM Rob Hirschfeld via cncf-toc <cncf-toc@...> wrote:
|
|
Re: rook.io
Bassam Tabbara <Bassam.Tabbara@...>
Alexis,
toggle quoted message
Show quoted text
Thanks! We joined the Storage WG and will work with Ben on CSI and future projects.
The use case was running Rook Block storage on-top of ephemeral/instance storage on EC2 instances vs. using EBS storage. Rook would handle the replication of data across instances and stripe across them for performance. Pods in the cluster would
see this like any other volume.
For Pod failover, the detach / detach cycle is much faster than EBS. One of our users compared EBS to Rook [1] and showed that Rook volume failover happened in less than minutes vs. up to an hour with EBS.
Also EBS volumes only support a single writer (ReadWriteOnce in K8S) which makes them a poor candidate for hot failover scenarios underneath, say, Postgres or MySql. With the work we’re doing on the Rook Volume Plugin [2] we plan to support ReadWriteMany
to support a hotter failover where the app/service ontop can handle the fencing.
Finally, there are cost and performance tradeoffs for running on-top of ephemeral/instance storage vs. EBS. For example, a lot of the instance storage is unused in most deployments and has a high performance.
Happy to discuss in more detail.
Thanks!
Bassam
|
|
Re: Infrakit Questions
Rob Hirschfeld
Alexis, For InfrasKit specifically, I'm interested in where this fits or replaces Docker Machine. There seem to be elements of Docker Machine in the design. Rob Rob ____________________________ Rob Hirschfeld, 512-773-7522 RackN CEO/Founder (rob@...) I am in CENTRAL (-6) time http://robhirschfeld.com twitter: @zehicle, github: zehicle On Tue, Jun 6, 2017 at 8:41 AM, Alexis Richardson <alexis@...> wrote: Thanks David, Patrick et al., for Infrakit pres today! |
|
rook.io
alexis richardson
Bassam
It would be good for Rook team to join Storage WG, if you haven't done so yet. QQ: you said that k8s use cases that run on EBS have high failover times & that you can improve this. I missed the details of that. Can you say more please? alexis |
|
Re: Infrakit Questions
alexis richardson
Rob That would be interesting & could also be good material for the CNCF website / blog. a On Tue, Jun 6, 2017 at 8:51 AM, Rob Hirschfeld <rob@...> wrote:
|
|
Re: Infrakit Questions
Alex Baretto
![]()
+1 to Alexis and Rob. I'd really like to see a good breakdown comparison between Infrakit and digital rebar, bosh, cloudformation, fog,and others
Alex Baretto
On Tue, Jun 06, 2017 at 08:51 Rob Hirschfeld via cncf-toc <Rob Hirschfeld via cncf-toc > wrote:
|
|
Re: Infrakit Questions
Rob Hirschfeld
All, I'd be happy to present / demo Digital Rebar to provide another cloud native perspective on how to address hybrid infrastructure automation. I believe that would help provide a helpful perspective on operational concerns and how to address them in a way that fits the CNCF community. As you know, we've been heavily involved in the Kubernetes community and have been showing an approach that uses the community Ansible for Kubernetes. We've also done demos also showing LinuxKit integration. Rob Rob ____________________________ Rob Hirschfeld, 512-773-7522 RackN CEO/Founder (rob@...) I am in CENTRAL (-6) time http://robhirschfeld.com twitter: @zehicle, github: zehicle On Tue, Jun 6, 2017 at 8:41 AM, Alexis Richardson <alexis@...> wrote: Thanks David, Patrick et al., for Infrakit pres today! |
|
Continued InfraKit Discussion
From today's CNCF TOC call, there was some discussion on how InfraKit compares to Terraform, BOSH and Digital Rebar. Thanks again to David for taking the time to present. Let's use this thread to have that discussion. Chris Aniszczyk (@cra) | +1-512-961-6719 |
|
Infrakit Questions
alexis richardson
Thanks David, Patrick et al., for Infrakit pres today!
https://docs.google.com/presentation/d/1Lzy94UNzdSXkqZCvrwjkcChKpU8u2waDqGx_Sjy5eJ8/edit#slide=id.g22ccd21963_2_0 Per Bryan's Q re Terraform, it would also be good to hear about BOSH & Infrakit feature comparison. And other related tech you see in the space. |
|
Re: Agenda for TOC 4/5/17 Meeting
Jonathan Boulle <jonathan.boulle@...>
+1 On 6 June 2017 at 16:30, Alexis Richardson <alexis@...> wrote:
|
|
Re: Agenda for TOC 4/5/17 Meeting
alexis richardson
prometheus' brother was epimetheus.
toggle quoted message
Show quoted text
epimetrics? prometrics?
On Tue, Jun 6, 2017 at 3:49 PM, Richard Hartmann <richih@...> wrote:
So that makes at least two of us. |
|
Re: Agenda for TOC 4/5/17 Meeting
Richard Hartmann
So that makes at least two of us.
Can I consider this the OK from CNCF? You have firm commitment from my side. Feel free to start whatever process on your side at any time. The only open question from my side would be the naming as "openmetrics" is relatively contested. I was thinking of one of the siblings of Prometheus, but a different one from the one you suggested back then. I will dig out my notes on that. Richard |
|
Re: Agenda for TOC 4/5/17 Meeting
alexis richardson
I want this.
On Tue, Jun 6, 2017 at 3:27 PM Richard Hartmann <richih@...> wrote: Dear all, |
|
Re: Agenda for TOC 4/5/17 Meeting
Richard Hartmann
Dear all,
is there any update from your side? I.e. is this something CNCF definitely wants and, if yes, how should we best proceed? From our side, there will be a technical hangout tonight @ 19:00 – 20:00 (CEST) which will include Prometheus, Google people from stackdriver, and Paul Dix to see if we can start with more than one project to increase reach. Monarch was also briefly mentioned, but I don't dare to hope to get good data and specs on that, yet. The results of this will be at https://docs.google.com/document/d/15cfrwzP_iOieFDr7WLfThNXKKbNKD60ER2sf_ybNPts/edit#heading=h.giywmrdmh8rd If any of you want to join, please let me know ASAP. Sorry for the very late notice, I was on holiday the last 2.5 weeks and am still tying up loose ends. Richard |
|
Re: TOC Agenda for 6/6/2017
You should be set now Camille, sorry, we had a bit of a snafu with the public calendar today. On Mon, Jun 5, 2017 at 6:01 PM, Camille Fournier <skamille@...> wrote:
--
Chris Aniszczyk (@cra) | +1-512-961-6719 |
|
Re: TOC Agenda for 6/6/2017
Camille Fournier
I got a meeting invite cancellation what gives? That unblocked my work calendar so better resend or I'll have another meeting put in that spot On Jun 5, 2017 6:47 PM, "Chris Aniszczyk via cncf-toc" <cncf-toc@...> wrote:
|
|