Why we started CoreOS
coreos.com
coreos.com
That the CoreOS CEO has chosen to use the Equifax hack as a marketing opportunity is equally distasteful and disingenuous.
Also invoking the founding fathers, the Bill of Rights and the great Dr Martin Luther King in the as part of that marketing pitch is the height of bombast and absurdity.
This blog post could have been written by Gavin Belson.
[0] https://kubernetes.io/docs/tasks/run-application/rolling-upd...
[1] https://docs.openshift.com/container-platform/3.6/dev_guide/...
[2] https://docs.openshift.com/container-platform/3.6/dev_guide/...
https://coreos.com/tectonic/docs/latest/install/bare-metal/r...
There are over 15 non-trivial subtasks there (counting "foo and bar" under one bullet as two subtasks). Worse, this is just prerequisites for before the actual installation!
I really want something like what CoreOS claims to be to exist, but always feel like the victim of some inside joke when I actually try to install it.
Does anyone know of any alternatives that can be setup in a matter of hours and not days?
SUSE's "Container as a Service Platform"[1] has a one-page install for each node with an admin panel that does auto-provisioning. It also has transactional updates and a few other nice features similar to CoreOS's "Container Linux". In addition, we're working on openSUSE Kubic[2] which will be the community-developed base for CaaSP in the future.
I believe most if not all of the code is available on GitHub[3] under a free software license (because that's how we do things). Not to mention that you could very easily fork openSUSE Kubic, once it's ready.
[1]: https://www.suse.com/communities/blog/introducing-suse-conta... [2]: https://news.opensuse.org/2017/05/29/introducing-kubic-proje... [3]: https://github.com/kubic-project
I work at a german govt. institution which uses SLES and we've recently decided to move away from SLES for a simple reason. If you want to use something like immutable infrastructure SLES is painful to use, because you need to do everything through the SMT admin.
You won't even know which packages are available in SLES until you signup for it. Sure you can use openSUSE, but it's not the same packages, it's not the same package versions, and the open repo, while nice, is imho not as comfortable to use as ubuntu packages. IMHO it's not very user friendly.
And yes yast2 is great, but I'm not talking about graphical user interfaces when I say user friendly.
By the way, there are a few more "ContainerOSs" than just CoreOS nowadays.
- There's project atomic [1] which became atomic host [2]
- There's RancherOS, which I find interesting because it seems to have first class zfs support [3]
[1]: http://www.projectatomic.io/docs/kubernetes/
[2]: https://www.redhat.com/en/resources/enterprise-linux-atomic-...
> If you want to use something like immutable infrastructure SLES is painful to use, because you need to do everything through the SMT admin.
CaaSP nodes don't really have configurable packages (though I think that's something we're considering adding in the future). Everything is done using Kubernetes specifications, so you won't need to use SUMA to manage your nodes' running containers (though the admin panel is fairly similar when bootstrapping and maintaining a cluster).
> Sure you can use openSUSE, but it's not the same packages, it's not the same package versions, and the open repo, while nice, is imho not as comfortable to use as ubuntu packages.
This is something we've changed quite recently. You can figure out the package versions through Leap (and the SLE sources are actually visible in OBS from memory). There's also a "SUSE PackageHub" which is basically openSUSE backports that don't invalidate your license but are not directly supported (other than the same support we'd give to openSUSE issues). I think this is something I should raise with Richard Brown though, since on paper you should already have this information from the verbatim SLE sources we release that Leap is based on.
> By the way, there are a few more "ContainerOSs" than just CoreOS nowadays.
Yeah, though I expected (and was right) that people who work on those would be more knowledgable than me to comment on them. I work quite a lot with both of those groups on upstream stuff, so I'm well aware that they exist (in fact I've contributed to several Project Atomic projects in order to be able to re-purpose their code and use it with our OCI tooling[1]).
Generally folks try out our Tectonic sandbox (vagrant based)[1], or Tectonic on AWS/Azure/etc before diving into bare metal to get a sense if the product. This can all be done really quickly because of the consistency.
What sort of data center automation infrastructure do you have in your environment?
But still a much smoother experience than Kubernetes The Hard Way. It is almost one-click.
The 15 minutes is probably true if you take azure or AWS. But deploying something in an existing environment always takes planning and time. However, coreos is more than willing to help. (I simply asked questions on IRC. But they also have an enterprise support plan)
I recently gave up trying to fight the uphill battle of doing things with CoreOS and tectonic in my homelab. Their requirements are fine if you have high end server class hardware to spare (matchbox /requires/ IPMI).
Started to go the NixOS route, but found it more infuriating than trying to setup Tectonic, mostly because their recipe for k8s is super old.
In the end, I gave up trying to use the big tools and fell back to Ubuntu and kubeadm. Started at 8am and ended at around noon with a fully functional 9 node cluster running v1.6 with RBAC and TLS enabled by default.
Disclosure: I work for Canonical.
Edit: I realise this isn't exactly "like" CoreOS. But I think it's useful to post about the traditional alternative for comparison :)
There's lots of Container platforms these days. Docker Swarm, Rancher, OpenShift (and it's upstream project, OpenShift Origin), still others. IMO, the leading edge ones are based on Kubernetes [00]. I'm (obviously) most familiar with OpenShift so I'll speak to that and I'll answer questions honestly if you have them for me.
From field experience, once you have your hardware or VMs ready [0][1][2][3], it takes 10 minutes to stand up a one node cluster or about 30 minutes for an HA cluster with 9 nodes (3 masters, 3 infrastructure nodes, 3 application nodes). We have blogs written by Eric Schabell [4] that show you how install a basic system with a script in minutes. We also have minishift [5] (downstream of minikube [6]) which is another great way to try OpenShift on Linux, MacOS, or Windows with Vagrant and VirtualBox. Paying customers can download CDK [7] on RHEL, MacOS or Windows. You can also try it at OpenShift Online [8] (hosted OpenShift as a Service) or OpenShift.io [9] (IDE and DevOps tools integrated with OpenShift Online).
I hope the above doesn't sound too much like an advertisement but we offer several FOSS ways to try it and I linked to upstreams where applicable.
[0] https://docs.openshift.org/3.6/install_config/install/prereq...
[1] https://docs.openshift.org/3.6/install_config/install/host_p...
[2] https://docs.openshift.org/3.6/getting_started/administrator...
[3] https://docs.openshift.org/3.6/install_config/install/advanc...
[4] http://www.schabell.org/2017/08/cloud-happiness-how-to-insta...
[5] https://github.com/minishift/minishift
[6] https://kubernetes.io/docs/tasks/tools/install-minikube/
[7] https://developers.redhat.com/products/cdk/download/
We have a SaaS based product that can stand up a Kubernetes cluster for you, and it really does only take 10-15 minutes from signup to being live. https://containership.io
http://blog.shalman.org/running-sdc-coal-on-smartos/
this video demonstrates that it doesn't take days and the description even says it is just as suitable for bare metal as it is for VMware:
Well okay, how about Claire, the vulnerability scanner? It scans container layers, aka system dependencies. They don't scan your maven dependencies.(maybe I'm wrong here). So your entire security relies on someone not updating dependencies for a project often. Which was already the case. What did we gain? In this particular case, nothing
Of course kubernetes makes rolling out updates a lot easier. And thus a team might patch often. But that is not the OS.
Of course for system level security vulns, coreos is great and on the right track. But saying they would have caught Equifax is a big stretch. Equifax was not a big hack with multiple zero days. It was a team who didn't update their application.
I say this as fan of CoreOS and really appreciate their OpenSource work.
Two sides of the problem:
Infra: CoreOS Tectonic[1] provides one-click updates of the entire app infra stack from the VM/bare-metal Linux instances[2] through the Tectonic control plane including Kubernetes, identity services, monitoring tooling, etc[3]. We call this automated operations.
App: By leveraging Kubernetes APIs application teams can roll. Further container scanning tools enable app teams to scan in-use containers for CVEs.
[1] https://coreos.com/tectonic
[2] https://coreos.com/blog/introducing-container-linux-update-o...
Without containers, software releases and infrastructure upgrades were highly interdependent. The result was that the software never released and the infrastructure never got upgraded.
Being able to upgrade individual services, independently of the infrastructure, is a bigger enabler than you would think in a large company. When you enable this, teams are suddenly able to release more often. Features ship faster and the lifetime of application vulnerabilities shortens.
Meanwhile, if Tectonic works as advertised, your infrastructure can auto-update but continue to provide a stable API to the services it supports. Again, the lifetime of vulnerabilities shortens, potentially by a lot.
It's a common fallacy to think that these security problems have a technical solution first. They don't. CoreOS makes tools that helps security aware companies/organizations implement security, but being sufficiently security aware is the first step. Buying and using CoreOS products and support does not help you anything if you don't know how to use it well, or if your organization doesn't allow the engineers to use them effectively. It's become abundantly clear that mismanagement is the root cause of the Equifax hack, and that the vulnerable Struts server is just a symptom of it. A fool with a tool is still a fool.
It's attractive to think CoreOS's products, or some other vendor's product, would have avoided this. But given the mismanagement it seems unlikely, and at best it would have just plugged a hole until another one popped up at some later time. Who knows that they already plugged some earlier worse holes with some other security products. Making the tools to make the internet more secure is the easy part. The hard part is getting everyone to use them in the right way. If tools and only buying things were the answer, the internet would have been a much more secure place already.
So keep doing you CoreOS, keep making those tools. But please don't oversell yourself.
Oh boy, this CEO is laying it on pretty thick here... I'm a pretty steadfast advocate for free software--and I think open software does make a better society--but even then, I think it's a bit strange to use a comparison to MLK for something that seems an order of magnitude less important.
It's giving me serious flashbacks to Silicon Valley.
"We're making the world a better place through constructing elegant hierarchies for maximum code reuse and extensibility."
It's a infrastructure piece, which is several abstraction layers below the things that do impact freedom and all the other abstract values that high school LD debaters love to talk about. That they continue to parrot the "just missed a security update" view of the Equifax hack is both sad and makes me highly doubt their security acumen. True security relies on layers, not an impenetrable outer shell. Equifax's blunder was a fundamental lack of security-conscious architecture, not a failure to install a security update. I'm guessing that CoreOS actually understand this, they're just trying to profit from an event that's going to have real negative consequences for a lot of people who's information was stockpiled without their consent, which is a pretty crappy thing to do.
I used the work in the IT department at an environmental research agency here in the UK. I took enormous pride in the quality and importance of the research conducted by the people I worked with even though I just helped them work more easily with better tools.
Societal change has a hull speed, and attempting to exceed that hull speed will result in massive push-back and ultimately failure even if the change in question is viewed as 'obvious' in historical hindsight.
We can see the exact same thing happening today with the legalization of gay marriage or drugs. Both will be viewed as obvious a generation from now, but today they face tremendous pushback. That's not the fault of governance, that's just governance imposing changes that approach the societal hull speed on those issues.
I can understand why a new nation battling off a major world power for independence didn't have a civil war at the same time.
Sometimes, you have to pick your battles.
There doesn't seem to be anything yet. Interesting.
1> We like making money 2> We enjoy working in the domain the company operates in.
Everything else is a usually made up crap for branding, PR and to feed tech journalists.