Skip to content
This repository has been archived by the owner on Jul 27, 2023. It is now read-only.

[WIP] Kubernetes integration #794

Merged
merged 21 commits into from
Nov 20, 2015
Merged

[WIP] Kubernetes integration #794

merged 21 commits into from
Nov 20, 2015

Conversation

Zogg
Copy link
Contributor

@Zogg Zogg commented Nov 9, 2015

[Work in Progress]
Kubernetes integration into Mantl. This is an integration of kubernetes-ansible.

DNS

We run etcd/skydns on every node. DNS entries are managed by kube2sky. DNS queries are routed through dnsmasq>skydns>etcd on local node to decrease dns network traffic.

Networking

Kubernetes may employ either Flannel or Calico for containter networking.

Calico

  • Pitfall: Currently calico cannot assign IP to container/pod which has been launched from manifest file. Only pods launched through kalicoctl/kubeapi gets an IP assigned. Track the bug in kubernetes repo and calico-kubernetes repo.

Flanneld

  • Blocker: flanneld cannot probperly start because of race condition between services. Flannel needs to start before Docker, Etcd must be started before Flannel, but currently it is started as Docker container. Hence the lockdown. Track the issue.

@stevendborrelli
Copy link
Contributor

@Zogg what is the impact of the calico issue? How often do we deploy via manifest vs. the API.

@stevendborrelli stevendborrelli added this to the 0.5 milestone Nov 10, 2015
@langston-barrett
Copy link
Contributor

Related: #643

@eirslett
Copy link
Contributor

Is it possible to run Kubernetes on Mantl, on top of Mesos instead of using the bundled Kubernetes scheduler? (Using the Kubernetes mesos framework)
In which case, it could probably be run from Marathon instead of as a system process?

@stevendborrelli
Copy link
Contributor

@eirslett The general feeling is that it is less complex to run kubernetes on its own than by using the k8s-mesos framework. Mantl support for k8s experimental at this point, and we are going to keep it separate from Mesos installs until we can integrate it better.

The idea is to migrate K8s to use calico and consul, so that we have common networking and service discovery for different frameworks.


bintray_baseurl: "https://bintray.com/artifact/download/ciscocloud/generic"
calico_binary: "{{ bintray_baseurl }}/calico/calicoctl"
bintray_baseurl: "https://bintray.com/artifact/download/zogg"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we use an official package for this or move it to ciscocloud?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'm on to it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved into asteris account.

@ryane
Copy link
Contributor

ryane commented Nov 19, 2015

I was able to successfully run the kubernetes playbook.

but the changes in the etcd and calico roles make them unusable on a non-kubernetes cluster.

@stevendborrelli
Copy link
Contributor

@Zogg @avnik we need to get the etcd playbook aligned so the same one is used for kubernetes and calico.

@Zogg
Copy link
Contributor Author

Zogg commented Nov 19, 2015

@stevendborrelli The roles are fixed and OK.

@ryane
Copy link
Contributor

ryane commented Nov 20, 2015

etcd playbook does seem to work well in a non-kubernetes mantl cluster. and survives restarts so this fixes #737.

calico is still problematic on a non-kubernetes cluster. no containers can be launched with mesos/marathon when calico is enabled.

ryane added a commit that referenced this pull request Nov 20, 2015
@ryane ryane merged commit b047051 into master Nov 20, 2015
@ryane ryane deleted the feature/mantl-kubernetes branch November 20, 2015 17:35
@ryane
Copy link
Contributor

ryane commented Nov 20, 2015

we're going to address the calico problems in a separate issue

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants