CNCF to Host the Rook Project to Further Cloud-Native Storage Capabilities

  • Today, the Cloud Native Computing Foundation (CNCF) Technical Oversight Committee (TOC) voted to accept Rook as the 15th hosted project alongside Kubernetes, Prometheus, OpenTracing, Fluentd, Linkerd, gRPC, CoreDNS, containerd, rkt, CNI, Envoy, Jaeger, Notary and TUF.

    Rook has been accepted as an inception-level project, under the CNCF Graduation Criteria v1.0. The CNCF provides every project an associated maturity level of either inception, incubating or graduated. At a minimum, an inception-level project is required to add value to cloud native computing and be aligned with the CNCF charter.

    Rook brings File, Block and Object storage systems into the Kubernetes cluster, running them seamlessly alongside other applications and services that are consuming the storage. By doing so, the cloud-native cluster becomes self-sufficient and portable across public cloud and on-premise deployments. The project has been developed to enable organizations to modernize their data centers with dynamic application orchestration for distributed storage systems running in on-premise and public cloud environments.

    “Storage is one of the most important components of cloud native computing, yet persistent storage systems typically run outside the cloud native environments today,” said Chris Aniszczyk, COO of Cloud Native Computing Foundation. “Rook was one of the early adopters of the Kubernetes operator pattern and we’re excited to bring in Rook as an inception level project to advance the state of cloud native storage.”

    Instead of building an entirely new storage system which requires many years to mature, Rook focuses on turning existing battle-tested storage systems like Ceph into a set of cloud-native services that run seamlessly on-top of Kubernetes. Rook integrates deeply into Kubernetes providing a seamless experience for security, policies, quotas, lifecycle management, and resource management.

    In this Software Engineering Daily podcast, Bassam Tabbara, CEO of Upbound and creator of Rook, said: “Rook is essentially using the operator pattern to extend Kubernetes to support storage systems. We’ve added a concept of a storage cluster, a storage pool, an object store and a file system. Those are all new abstractions that we’ve used to extend Kubernetes”

    An alpha version of Rook (release 0.6) is available now, followed by a beta and production ready versions in the first half of 2018.

    Main features:

    • Software-defined storage running on commodity hardware
    • File, block and object storage presentations integrated with Ceph
    • Hyper-scale or hyper-converged storage options
    • Elastic storage that can easily scale up or down
    • Zero-touch management
    • Integrated data protection with snapshot, cloning and versioning
    • Deployable on Kubernetes.

    The latest release of Kubernetes 1.9 introduced a CSI alpha implementation that makes installing new volume plugins as easy as deploying a pod, and enables third-party storage providers to develop their solutions without adding to the core Kubernetes codebase. Rook will expose storage through CSI to Kubernetes.

    “It’s a natural fit to run a storage cluster on Kubernetes. It makes perfect sense to bring it into the fold and keep the unified management interface,” said Dan Kerns, Senior Director at Quantum, the initial sponsor of the Rook project. “With Rook, we wanted to create a software-defined storage cluster that could run really well in modern cloud-native environments, and the storage cluster becomes even more resilient with an orchestrator like Kubernetes.”

    Community support for Rook is growing rapidly as companies and users deploy Rook in their cloud-native environments (on-premise and public cloud). Companies and organizations like HBO, UCSD Nautilus Project, Norwegian Welfare, Verne Global, FlexShopper, and Acaleph have implemented Rook as part of their storage platforms.

    Notable Milestones:

    • 47 contributors
    • 1,935 GitHub stars
    • 13 releases
    • 1,463 commits
    • 1.25M+ container downloads

    “We used Rook underneath our Prometheus servers at HBO, running on Kubernetes and deployed on AWS,” said Illya Chekrygin, former senior staff engineer at HBO and founding member of Upbound. “Rook made a significant improvement on the Prometheus pod restart time, virtually eliminating downtime and metrics scrape gaps. We are looking forward to Rook being in a production ready state.”

    As a CNCF hosted project, Rook will be part of a neutral foundation aligned with technical interests, receive help with project governance and be provided marketing support to reach a wider audience.

    “Operating storage in cloud-native environments is a significantly more difficult task than stateless containers,” said Benjamin Hindman, co-founder of Mesosphere and CNCF TOC representative and project sponsor. “We’re thrilled to have Rook as the first CNCF inception project that begins to address the difficult problem of storage orchestration.”

    For more read the Rook blog, Quantum’s recent announcement on the momentum of the project, Upbound’s blog, and listen to The New Stack’s Makers Podcast or Software Engineering Daily featuring Bassam Tabbara discussing Rook and Storage on Kubernetes.

    The post CNCF to Host the Rook Project to Further Cloud-Native Storage Capabilities appeared first on The Linux Foundation.

Tmux Commands

screen and tmux

A comparison of the features (or more-so just a table of notes for accessing some of those features) for GNU screen and BSD-licensed tmux.

The formatting here is simple enough to understand (I would hope). ^ means ctrl+, so ^x is ctrl+x. M- means meta (generally left-alt or escape)+, so M-x is left-alt+x

It should be noted that this is no where near a full feature-set of either group. This - being a cheat-sheet - is just to point out the most very basic features to get you on the road.

Trust the developers and manpage writers more than me. This document is originally from 2009 when tmux was still new - since then both of these programs have had many updates and features added (not all of which have been dutifully noted here).

Action tmux screen
start a new session tmux OR
tmux new OR
tmux new-session
re-attach a detached session tmux attach OR
tmux attach-session
re-attach an attached session (detaching it from elsewhere) tmux attach -d OR
tmux attach-session -d
screen -dr
re-attach an attached session (keeping it attached elsewhere) tmux attach OR
tmux attach-session
screen -x
detach from currently attached session ^b d OR
^b :detach
^a ^d OR
^a :detach
rename-window to newname ^b , <newname> OR
^b :rename-window <newn>
^a A <newname>
list windows ^b w ^a w
list windows in chooseable menu ^a "
go to window # ^b # ^a #
go to last-active window ^b l ^a ^a
go to next window ^b n ^a n
go to previous window ^b p ^a p
see keybindings ^b ? ^a ?
list sessions ^b s OR
tmux ls OR
tmux list-sessions
screen -ls
toggle visual bell ^a ^g
create another window ^b c ^a c
exit current shell/window ^d ^d
split window/pane horizontally ^b " ^a S
split window/pane vertically ^b % ^a |
switch to other pane ^b o ^a <tab>
kill the current pane ^b x OR (logout/^D)
collapse the current pane/split (but leave processes running) ^a X
cycle location of panes ^b ^o
swap current pane with previous ^b {
swap current pane with next ^b }
show time ^b t
show numeric values of panes ^b q
toggle zoom-state of current pane (maximize/return current pane) ^b z
break the current pane out of its window (to form new window) ^b !
re-arrange current panels within same window (different layouts) ^b [space]
Kill the current window (and all panes within) ^b killw [target-window]
  • Use the same script for updating/ upgrading

    Make sure to change the versions to the latest releases:

    #!/bin/bash set -e bpcver=4.2.1 bpcxsver=0.57 rsyncbpcver=

    Scroll through the script, know what you are doing.

    Uncomment the upgrade section(s) and comment out the install section(s)

    read more
  • Again running smartctl after all is said and done:

    smartctl --all /dev/sda

    ddrescue-smartctl-after-rescue.png ddrescue-smartctl-2.png

    Yet an old drive in itself, I run the wheels off of them, and monitor regularly as anyone should.

    read more