I noticed that TW docker does not play nicely with Kubernetes (Rancher 1.6 kube). The kubelet container does not start. Which is most likely due to docker version being too new. Kubernetes lists 17.03 as supported with 17.09 working possibly.
Anyway, then I saw docker-kubic packages and, glancing over the kubic docs, I thought that kubic being tied to kubernetes would be guaranteed to work. But the packages are also 18.06.
So, my question is: what is the idea behind kubic docker packages? Are they patched to work with kubernetes?
Second question: is kubernetes taken into consideration when updating docker? Or is that only done for SLES?
For now, I moved kubernetes into VMs having compatible docker versions. But I really like to run a quick test cluster on my laptop.
If Kubernetes and TW is your thing,
You should probably consider openSUSE Kubic as your HostOS,
Scroll down to the “kubic” ISO images in the Tumbleweed respo at the following link,
Recommend installing your first installs in VMs until you get used to it…
Well, I might even do that, just to find out what that kubic thing is about. I will certainly not run it as HostOS on my laptop but spinning up a vm is easy.
From the very brief search through the docs, it seems like kubic is a barebone kube-node-vm OS. Which would be great even though I have no real use for it as, unfortunately, my clients exclusively run another Linux in their data centres.
I do not run real clusters. I just keep single-node all-in-one container-only demo installations for presentations or development. Tumbleweed used to be capable of running rancher-kube directly but the recent move to newer docker broke that.
The main feature people set up kubernetes is for its orchestration, so that should give you a big clue since orchestration is another word for management and management is implemented in the HostOS.
Most people deploying Kubernetes deploy Red Hat’s OpenShift.
SUSE has made a lot of noise saying that Kubernetes is important to the future of SUSE and the Enterprise, so it shouldn’t be surprising that Kubic was created to push R&D in this area.
Kubic is still a bit rough around the edges and my personal main opinion is that documentation and perhaps its initial setup has held it up in the past.
The Kubic project seems to have undergone some changes recently and we’ll see what effects those will have… In the meantime, a few of the technologies created in Kubic have been ported to mainline Tumbleweed and LEAP, perhaps the most important is Transactional Server. In every recent presentation I’ve given on openSUSE, Transactional Server has grabbed the attention of Admins running other distros.
But, back to Kubernetes…
AFAIK you’d be making life a lot harder on yourself than is necessary by not deploying on Kubic, why re-invent the wheel?
And, I might be surprised but I doubt that any kind of management or orchestration can be implemented well within containers only.
I build DevOps production lines on top of commercial Kubernetes or Openshift clusters. I am not concerned with kube or openshift administration. I just like to tinker with it to see what new features come up in terms of API changes and new userspace objects. The real clusters never use the latest versions but I want to prepared once the real cluster gets updated.
Anyway, we are straying from the initial question which was whether Tumbleweed docker moves with an eye on kubernetes or not. And what docker-kubic packages are. The description seems to be copied from plain docker.
Oh, and I have the iso and tried to install it in a vm. First try failed with / being mounted ro. But I may have chosen bad partitioning options and I did ignore the warnings. I tried using mbr-xfs-noswap which resembles real vm but may not be in the testing scope for the iso. Alright, next try is with gpt-btrfs.
It is rough around the edges, indeed. The vm disk image needs to be 30G (ie larger than libvirt default 20G) or partitioning and startup will fail. So, 30G it is. There are two installation paths: MicroOS or kubeadm-node. I chose kubeadm-node. Accepted all defaults. Boots fine but kubeadm init fails with docker missing. Trying to install docker-kubic fails with / switching to ro again. Alright, later then. It does look promising, though.
Yea, reading the docs does help. The ro root of kubic is actually intentional. The OS is not supposed to be modified by rpm installation, its only use case is hosting containers. Makes sense. Kubeadm complaining about missing docker is probably a bug.
Back to the original question: I checked docker-kubic src rpms against plain docker rpms. They are exactly the same to me. There is even a tracking bug to drop the distinction between general docker and its kubic twin. Which in turn means that docker kubernetes compatibility does not seem to matter outside the scope of kubic.
Lastly, I agree that running kubelet as a container is somewhat non-standard. Kubernetes docs point at hyperkube as a container on top of a host os having kubelet and kubeadm as binaries/services. Which from my understanding is basically what kubic does. The clean rancher 1.x container-only kube deployment seems to die out. Rancher 2.x still uses containers but it volmounts a ton of host dirs into the containers. Which requires a lot of cleaning after removing the containers.