Thanks, I'll check them out. We are alsof a big fan of fleet, but no support in 2018. Coreos , kubernetes 1.6 and etcd3 is not so easy to install.
We shall test Ubuntu Maas now , kubernetes updates are possible. On Jun 28, 2017 11:55, "mrpanigale" <andrewvweb...@googlemail.com> wrote: > I have evaluated to the best of my ability: > - Rancher + RancherOS > - Rancher + CoreOS > - CoreOS Kubernetes (Manual installation) > - CoreOS Kubernetes (Tectonic) > - CoreOS SelfHosted (Bootkube+matchbox) > > Quick Summary: > With RancherOS my experience is that you have to be careful to install a > OS version with a compatilbe docker for kubernetes. I also dont like to be > locked into docker, prefer systemd as an init system as the rancherOS init > system, in comparison, is limited. > > Rancher + CoreOS installation experience is the best. However only 1.5 is > supported. 1.6 is not yet released and i could not get a cluster started > using there development branch. Also for advanced K8 users, advanced > customization of the installation process I found difficult (e.g. custom CA > for certificate authentication, etc.). In order to make the provisioning > process smooth you will want to use CoreOS matchbox. > > CoreOS manual installation is excellent however it does not explain how to > provision the systemd units onto the machines. I am a big CoreOS fleet fan > so I initially created fleet units to deploy the documented systemd units. > CoreOS has now deprecated Fleet so this approach is not also not > recommended. Also the documentation can sometime be out of date. > > CoreOS bootkube+matchbox > I also struggled with CoreOS tectonic but ironically am very happy with > bootkube+matchbox on CoreOS (which is what tectonic is based on). I would > highly recommend it. https://github.com/coreos/matchbox/blob/master/ > Documentation/bootkube.md > I would also recommend bootkube over CoreOS manual installation as the > documentation is more likely to be maintained and up to date as it is the > basis for tectonic. > More interesting is that bootkube gives you access to features such as > "self hosted etcd" where etcd is deployed into kubernetes itsself. > > With bootkube+matchbox I am able to iPXE boot a bare metal server > kubernetes master in 5 minutes with no manual intervention. New workers are > also automatcially joined with no manual intervention simply from an iPXE > boot. The advantage of the iPXE approach is also that you can seemlessly > test it using virtualization and the process is the same (there are some > small issue like network adapters taking more time to come online on bare > metal but in general i dont have to make any changes). > > One strange part of the boot-kube flow is having to ssh on to each machine > and "scp" certificates and kubeconfig. > I extended the matchbox bootkube-install example to dynamically download > all required assets such that no manual intervention is required. This is > one of the advantages of the CoreOS ignition process where you can setup > indirection to download all your kubernetes assets from a remote server. > > Some examples scripts below: > > #generated bootkube config > bootkube render --asset-dir=assets --api-servers=https://192.168. > 122.10:443 --api-server-alt-names=DNS=k8.example.com,IP=192.168.122.10 > --etcd-servers=https://192.168.122.10:2379 --experimental-self-hosted-etcd > > #start matchbox ipxe server > docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/matchbox:Z -v > $PWD/examples/groups/bootkube-install:/var/lib/matchbox/groups:Z > quay.io/coreos/matchbox:latest -address=0.0.0.0:8080 -log-level=debug > > #examples/groups/bootkube-install/node1.json extended for dynamic bootkube > { > "id": "node1", > "name": "Controller Node", > "profile": "bootkube-controller", > "selector": { > "mac": "18:03:73:3f:6d:bf", > "os": "installed" > }, > "metadata": { > "cluster_id" : "test_agent", > "config_server": "http://172.20.20.219:1979/k8/test_agent", > "ip_address" : "192.168.122.10", > "ip_gateway" : "192.168.122.1", > "net_mask" : "23", > "domain_name": "k8.example.com", > "etcd_initial_cluster": "k8=https://192.168.122.10:2380", > "etcd_endpoints": "https://192.168.122.10:2379", > "etcd_name": "k8", > "k8s_dns_service_ip": "10.3.0.10", > "ssh_authorized_keys": [ > "ssh-rsa ..." ] > } > } > > > #examples/ignition/bootkube-controller.yaml extended for dynamic bootkube > networkd: > units: > - name: 00-static.network > contents: | > [Match] > Name=e* > [Network] > DNS=8.8.8.8 > Address={{.ip_address}}/{{.net_mask}} > Gateway={{.ip_gateway}} > systemd: > units: > - name: bootkube.service > enable: true > contents: | > [Unit] > Description=Bootstrap a Kubernetes control plane with a temp > api-server > [Service] > Type=simple > RemainAfterExit=yes > Restart=always > RestartSec=20 > WorkingDirectory=/opt/bootkube > ExecStartPre=/bin/sh -c 'wget -r -np -nH -x --cut-dirs=1 > {{.config_server}}/' > ExecStartPre=/bin/sh -c 'mv {{.cluster_id}} /opt/bootkube/assets' > ExecStart=/opt/bootkube/bootkube-start > [Install] > WantedBy=multi-user.target > storage: > files: > - path: /etc/ssl/etcd/etcd-client.crt > filesystem: root > mode: 0644 > contents: > remote: > url: "{{.config_server}}/tls/etcd-client.crt" > > > On Tuesday, June 27, 2017 at 7:06:48 AM UTC+2, luce...@gmail.com wrote: >> >> Using Kubernetes 1.6 on Bar Metal servers (production) seems to be >> difficult. >> >> Tested CoreOs and Tectonic, not working on Bar Metal servers. >> Bar Metal servers and conjure-up kubernetes not possible. (+ Maas) >> >> Rancher is working but the whole system is based on the docker >> daemon, systemd is a better choice as base system for Kubernetes. (Like >> CoreOs does) >> >> >> A possible solution is kubeadm but kubeadm is not ready for >> production! >> >> Are there other possibilities? >> >> -- You received this message because you are subscribed to the Google Groups "Kubernetes user discussion and Q&A" group. To unsubscribe from this group and stop receiving emails from it, send an email to kubernetes-users+unsubscr...@googlegroups.com. To post to this group, send email to kubernetes-users@googlegroups.com. Visit this group at https://groups.google.com/group/kubernetes-users. For more options, visit https://groups.google.com/d/optout.