Jump to content

CoreOS - A Chrome OS-based Server OS


Recommended Posts

Posted (edited)

Nowhere near ready for production use yet, but looks very promising.

 

Website: CoreOS (via HN / Wired)

 

With CoreOS, all applications sit inside "containers" — little bubbles of software code that include everything an application needs to run. These containers then latch onto the main OS through the simplest of interfaces. That means you can easily move applications from OS to OS and from machine to machine — much as you move shipping containers from boat to boat and train to train — but it also means you can easily update the OS without disturbing the applications. “The way we're able to consistently update the OS — and be nimble — is to make sure we have a consistent way of running applications,” Polvi says.

 

The project is based on Google’s ChromeOS, the new-age laptop operating system that automatically updates itself every few weeks, but unlike ChromeOS, it can run more than just your personal machine. It can run every web service you ever visit, no matter how big. And it will let the companies that run those services evolve their online operations much more quickly — and cheaply — than they can with traditional server software.

 

“We've borrowed a lot of concepts from the browser world,” Polvi explains, “and applied them to servers.”

 

You can think of CoreOS as a new substrate for the internet. Web giants such as Google and Amazon and big Wall Street financial outfits, including the NASDAQ stock exchange, have built similar server operating systems for their own use, but with CoreOS — an open source software project — Polvi’s startup is creating something anyone can use. “We’re building Google’s infrastructure for everyone else,” he says. In doing so, Polvi and his team hope this OS can more rapidly fill the security holes that plague our computer servers, while speeding the evolution of the software applications that run atop them. (Source)

 

http://i.imgur.com/3KaZ5sR.png

 

http://i.imgur.com/rBn0lA5.jpg

Edited by Arthur
  • Thanks 4
  • 6 years later...
Posted

Tried oVirt yesterday, too complex and slow and didn't really work.

 

Today trying Flatcar Linux, which is a fork of CoreOS as they were bought by RedHat and RedHat hates Docker.

  • 1 month later...
Posted

Finally got around to starting this. Notes so far:

 

The VM is designed, like docker containers, to be ephemeral, and also part of a cluster, but I'm ignoring that part for now.

 

You create a blank VM and recommended to PXE boot it, but I'm ISO booting for now.

 

So, VM with 16GB ram and 128GB disk, booting iso from https://docs.flatcar-linux.org/os/booting-with-iso/

 

While that's booting (it's going to get a dhcp address by default) make your config file, starting with a static ip and a username/password so you can ssh in later.

 

networkd:
 units:
   - name: 00-eth0.network
     contents: |
       [Match]
       Name=eth0

       [Network]
       DNS=10.1.2.3
       Address=10.2.3.4/16
       Gateway=10.3.4.5
       
passwd:
 users:
   - name: username
     password_hash: "$6$ashdfjkahfjkahfjkahjk"

 

Make the hash by using python3 on linux:

python3 -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'

 

Really should be using ssh certs, but starting simply.

 

Download ct from https://github.com/coreos/container-linux-config-transpiler/releases

 

Compile the confile file with ct, copy it to flatcar, probably via web server.

 

ct-v0.9.0-x86_64-pc-windows-gnu.exe < "flatcar-config1.yml" > "flatcar-config1.json"

 

If you're surrounded by proxies:

echo "check_certificate = off" >> ~/.wgetrc
export https_proxy = [url]https://proxy:port[/url]

Download the config file you put on your local web server, or similar:

wget http://10.2.3.4/flatcar-config1.json

 

And then install it:

flatcar-install -d /dev/sda -i flatcar-config1.json

 

Reboot the VM, ssh in.

Posted

And then install it:

flatcar-install -d /dev/sda -i flatcar-config1.json

 

Yoi don't actually need to install it - I've build ours as ephemeral PXE servers. I install kubernetes onto the disks, but don't install the operating system. Anything goes wrong, just reboot it and it's back to new. works really nicely.

Posted
Yoi don't actually need to install it - I've build ours as ephemeral PXE servers. I install kubernetes onto the disks, but don't install the operating system. Anything goes wrong, just reboot it and it's back to new. works really nicely.

 

What do you use as the PXE server? Mostly I'm just looking for an easy way to run containers on a server, unlikely to bother with the clustering stuff yet.

Posted

I should also mention; it's simpler to upload an ssh public key rather than faffing around encrypting passwords. You can put a password on the key if you like and you have instant 2FA.

 

eg:

locksmith:  reboot_strategy: reboot  window_start: Sun 01:00  window_length: 5hpasswd:  users:    - name: admin      password_hash: "$1$TVQ9aoZv$/QoFjBpI7Tj.nn4tlVMfU."      ssh_authorized_keys:        - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICL37nXpn6eGnlQ0CLYokab/K0egDiIOyQiBTt4OdR+5"      groups: [ sudo, docker ]    - name: core      ssh_authorized_keys:        - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICL37nXpn6eGnlQ0CLYokab/K0egDiIOyQiBTt4OdR+5"      groups: [ sudo, docker ]storage:  disks:  - device: /dev/sda    wipe_table: true    partitions:    - label: ROOT  filesystems:  - mount:      device: /dev/disk/by-partlabel/ROOT      format: ext4      wipe_filesystem: false      label: ROOT  files:    - path: /etc/systemd/timesyncd.conf      filesystem: root      mode: 0644      contents:        inline: |          [Time]          NTP=192.168.1.1 192.168.1.2

 

edit ^ forum made a hash of the ignition! but you get the idea

Posted
What do you use as the PXE server? Mostly I'm just looking for an easy way to run containers on a server, unlikely to bother with the clustering stuff yet.

 

 

tftpd on linux.

 

I'm actually pxe booting ipxe https://ipxe.org/

ipxe is good becasue, once its loaded, it can boot from http and you can specify the ignition file location on a webserver.

  • Thanks 1
Posted

I'm struggling to see what a school would need containers for. As far as I've experienced, we don't run software that works in a containerised way. We don't need it to scale very much either. So, why containers?

 

Average network DHCP, DNS, file storage, radius server, MIS, etc...

 

I can see their value for organisations that develop software and/or scale software across providers and want a nice controllable environment, but for a school network? Just can't see it.

Posted
I'm struggling to see what a school would need containers for. As far as I've experienced, we don't run software that works in a containerised way. We don't need it to scale very much either. So, why containers?

 

Average network DHCP, DNS, file storage, radius server, MIS, etc...

 

I can see their value for organisations that develop software and/or scale software across providers and want a nice controllable environment, but for a school network? Just can't see it.

 

So an example would be if I have A 2 x webservers, 2x DHCP, 2 X DNS, 2X RADIUS and a couple of file servers that would be 10 virtual machines. If I then want to move them 'lift and shift' to the cloud, I'd get little change from £10k if I wanted a reasonable size machine with backups, scalesets etc. Now - If I have these running in containers, I just need a cluster of three kubernetes servers. That's cut my costs by two thirds. Plus it means the application will self heal if fails, makes updates much more simple to deploy (zero downtime!) and means that if the server gets hit due to a snowday it will autoscale without me getting out of bed. Of course I could just load up lots of services on a single server, but I've been there and done that, when it fails it isn't pretty!.

Posted

Because that's how software is going to be delivered in the future.

 

How do I install something? You don't, just download the docker image.

 

Containers are built into Windows and Linux now. See recent posts here about how to use Xibo needed docker, internal tumblr like server used docker, etc etc.

 

Also for CS, every child can have a container.

 

And finally your list of instructions for how to set up a new server is now executable. It can't be out of date, or wrong, and the computer just runs the instructions.

 

It's just the next step from VMs.

Posted
So an example would be if I have A 2 x webservers, 2x DHCP, 2 X DNS, 2X RADIUS and a couple of file servers that would be 10 virtual machines. If I then want to move them 'lift and shift' to the cloud, I'd get little change from £10k if I wanted a reasonable size machine with backups, scalesets etc. Now - If I have these running in containers, I just need a cluster of three kubernetes servers. That's cut my costs by two thirds. Plus it means the application will self heal if fails, makes updates much more simple to deploy (zero downtime!) and means that if the server gets hit due to a snowday it will autoscale without me getting out of bed. Of course I could just load up lots of services on a single server, but I've been there and done that, when it fails it isn't pretty!.

 

Why would you lift and shift basic services like that to the cloud? If you're just looking to migrate existing workloads into the cloud you're doing it wrong. Not to mention, DHCP in the cloud, would be an odd idea IMO. DNS in the cloud? There are cloud DNS services, so I would question running a dedicated anything for DNS. The only one of those things I realistically see as being suited to containerisation is the web applications (note, the applications, not the servers).

 

Most schools I know don't run their own websites or parental engagement tools - they pay a service provider to do that, so I can still only see limited scope for their usefulness even with your explanation.

Because that's how software is going to be delivered in the future.

 

How do I install something? You don't, just download the docker image.

Containers are built into Windows and Linux now. See recent posts here about how to use Xibo needed docker, internal tumblr like server used docker, etc etc.

 

Also for CS, every child can have a container.

And finally your list of instructions for how to set up a new server is now executable. It can't be out of date, or wrong, and the computer just runs the instructions.

It's just the next step from VMs.

If you think containers are how school IT is going to be provided in the future, I think you missed something - most school services are moving to a subscription basis provided by their makers. MIS? Cloud subscription. Library software? Cloud subscription. The number of services you'll be running yourself will shrink.

 

Not to mention, nearly nothing on a standard Windows network is in a container - not DNS, AD, print services, file services, remote desktop sessions, etc... So, I'm back to "why containers in education?". If you're migrating away from the old standard Windows network, then migrating into what would be a very custom setup with containerised systems, instead of cloud services, seems to be looking at it wrong IMO.

 

If I look at my entire network, I can see maybe 3 packages that would be suited to containerisation - Xibo, our SimpleSAML installation, and Passbolt. Out of 47 VMs.

Posted

Cloud services all use containers or VMs, containers are more standard than anything else in computing now, MS has embraced them after they started on linux (Or BSD jails, yes).

 

I see it working really well for the students to use too. Wordpress containers for everyone! Pretty much any web app, all running internally, no issue with whether they've made things public or not.

 

Why would I pay for SaaS when containers do the same thing for free?

 

Koha for library, Xibo for displays, Owncloud, Wordpress, Firewalls, Routers, Messaging systems, Microblogging, Logging, VoIP

 

Great for programming classes, look at the trouble people have had with making VMs work.

 

Also if you assume you'll not be running anything yourself in the future, good training for your new job

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...