KubeCon 2018 NA SIG Cluster Lifecycle Intro (1)

2020-02-27 59浏览

  • 1.Intro:SIG Cluster Lifecycle
  • 2.Agenda An overview of SIG Cluster Lifecycle ● Who? ● What? ● Why? ● Where, When, and How?
  • 3.Who?
  • 4.Who are we? Timothy St. Clair Robert Bailey SIG Cluster Lifecycle co-lead Steering Committee Member Staff Engineer @Heptio/VMWare @timothysc SIG Cluster Lifecycle co-lead Founding member of GKE Staff Software Engineer @Google @roberthbailey
  • 5.Who are we? ● ● ● ● ● 569 members on mailing list 20+ companies represented during SIG meetings (over the last 3 months) 5 continents with contributors 1214 contributors with 9438 "contributions" in the 1.12 to 1.13 release cycle 15 SIG sponsored subprojectshttps://k8s.devstats.cncf.io/d/13/developer-activity-counts-by-repository-group?orgId=1&var-period_name=v1.12.0%20-%20v1.13.0&var-metric=contributions&var-repogroup_name=SIG%20Cluster%20Lifecycle
  • 6.Who are we? Subprojects ● ● ● ● ● ● ● ● bootkube cluster-api cluster-api-provider-aws cluster-api-provider-digitalocean cluster-api-provider-gcp cluster-api-provider-openstack kops kube-aws Subprojects ● ● ● ● ● ● kube-deploy kube-up kubeadm-dind-cluster kubernetes-anywhere kubespray minikubehttps://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle#subprojects
  • 7.What?
  • 8.What is our mission? SIG Cluster Lifecycle’s objective is to simplify creation, configuration, upgrade, downgrade, and teardown of Kubernetes clusters and their components.https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/charter.md
  • 9.What we think vs. really do?
  • 10.What do we *really* do? 1. Control Plane Installation Management ○ ○ "How do I run the Kubernetes control plane?" Building kubeadm, cleaning up outdated getting started guides, and improving docs 2. Control Plane Configuration Management ○ "How do I configure the Kubernetes control plane?" ○ Driving a standard for configuring Kubernetes components (KEP)
  • 11.What do we *really* do? 3. Simplifying Infrastructure Management ○ “How do I set up my network / machines?” ○ Working on a Machines API as part of the Cluster Management API (KEP) 4. Addon Management ○ “How do I install things outside the core control plane?” ○ Many different approaches used today; still working on a plan for convergence ○ Investigating usage of Cluster Bundle
  • 12.What do we *really* do? 5. Etcd Management ○ “How should we run etcd?” ○ Building etcdadm, a etcd management tool tailored to Kubernetes (KEP)
  • 13.Kubeadm & ClusterAPI
  • 14.kubeadm (GA) = A tool that sets up a minimum viable, best-practice Kubernetes cluster Cluster API Cluster API Spec Cluster API Implementation Layer 3 Addons Cloud Provider Load Balancers Monitoring Logging Kubernetes API Layer 2 The scope of kubeadm Bootstrapping kubeadm kubeadm kubeadm kubeadm Machines Master 1 Master N Node 1 Node N Layer 1 Infrastructure
  • 15.kubeadm vs kops or kubespray Two different projects, two different scopes kops Cluster API Addons Cluster API Spec Cluster API Implementation Cloud Provider Load Balancers Monitoring Logging Bootstrapping kubeadm kubeadm kubeadm kubeadm Machines Master 1 Master N Node 1 Node N Kubernetes API Infrastructure
  • 16.Key Design Takeaways ● kubeadm’s task is to set up a best-practice cluster for each minor version ● The user experience should be simple, and the cluster reasonably secure ● kubeadm’s scope is limited; intended to be a composable building block ○ Only ever deals with the local filesystem and the Kubernetes API ○ Agnostic to how exactly the kubelet is run ○ Setting up or favoring a specific CNI network is out of scope ● Composable architecture with everything divided into phases
  • 17.Cluster API ● A declarative way to create, configure, and manage a cluster ○apiVersion:"cluster.k8s.io/v1alpha1" ○kind:Cluster, Machine, MachineSet, MachineDeployment ● Cluster ○ General cluster configuration (e.g. networking) ● Machine CLI Cluster Machine Controller User Control Plane Machine A ○ A physical or virtual machine running a kubelet ● MachineSet / MachineDeployment ○ Groups of similarly configured machines Cluster Controller Cluster A
  • 18.Cluster API (cont) ● Controllers reconcile desired vs. actual state ○ These could run inside or outside the cluster ● Cloud Providers will implement support for their IaaS ○ AWS, AWS/OpenShift, Azure, Baidu, DigitalOcean, GCE, OpenStack, Tencent, vSphere ○ Up-to-date list of providers can be found on Cluster API project homepage ● Port existing tools to target Cluster API ○ Cluster upgrades, auto repair, cluster autoscaler
  • 19.Why?
  • 20.21.Why are we doing this? ● To prevent the mistakes of other open source clustering tools ○ Because… ■ kubernetes is the beginning of the story, not the end ■ commoditizing the deployment of the core raises all boats and allows the community to focus on solving end user problems ■ “production grade” shouldn’t be firewalled by providers ■ It should “just work” ■ Because cross provider matters ● To make the management of (X) clusters across (Y) providers simple, secure, and configurable. ● unix philosophy 4 lyfe22.Deets:Where& When & How?23.Getting Involved ● Contributing to SIG Cluster Lifecycle documentation ● We’re working on growing the contributor/reviewers pool; scaling the SIG ● We have “Office Hours” for ourprojects:weekly for kubeadm, bi-weekly for kops and kubespray… ● Cluster API office hours weekly for both US West Coast and EMEA ● Full list of SIG meetings and links to minutes and recordings can be found on SIG page ● Attend our meetings / be around on Slack ● Look for “good first issue”, ”help wanted” and “sig/cluster-lifecycle” labeled issues in our repositories24.Other Logistics ● Follow the SIG Cluster Lifecycle YouTube playlist ● Check out the meeting notes for our bi-weekly SIG meetings ● Join #sig-cluster-lifecycle, #kubeadm, #cluster-api, #kops-dev, #kops-users, #kubespray, #minikube, … ● Prep for and take the Certified Kubernetes Administrator exam ● Check out the kubeadm setup guide, reference doc and design doc ● Read how you can get involved and improve kubeadm!25.What’s coming in 2019? Addon Managment Etcdadm Mo’ Better Dev-Test w/Kind Kubeadm ○ HA to GA ● Grand unified field theory on ComponentConfigs ● ClusterAPI ● ● ● ● ○ alpha + beta ○ More Providers ● Kubespray & Kops ○ Integration with the other building blocks26.BUT WAIT THERE’S MORE!!! ● Come see other SIG related talks this week ○ Tuesday ■ Cluster API On-Prem & Cloud @3:40 ○ Wednesday ■ Intro to Minikube @10:50 ■ Deep Dive Kubespray @11:40 ○ Thursday ■ Deep Dive Kubeadm @1:45 ■ Deep Dive ClusterAPI @2:35 ■ Managing Addons with Operators @4:3027.Thank You!
  • 21.Why are we doing this? ● To prevent the mistakes of other open source clustering tools ○ Because… ■ kubernetes is the beginning of the story, not the end ■ commoditizing the deployment of the core raises all boats and allows the community to focus on solving end user problems ■ “production grade” shouldn’t be firewalled by providers ■ It should “just work” ■ Because cross provider matters ● To make the management of (X) clusters across (Y) providers simple, secure, and configurable. ● unix philosophy 4 lyfe
  • 22.Deets:Where& When & How?
  • 23.Getting Involved ● Contributing to SIG Cluster Lifecycle documentation ● We’re working on growing the contributor/reviewers pool; scaling the SIG ● We have “Office Hours” for ourprojects:weekly for kubeadm, bi-weekly for kops and kubespray… ● Cluster API office hours weekly for both US West Coast and EMEA ● Full list of SIG meetings and links to minutes and recordings can be found on SIG page ● Attend our meetings / be around on Slack ● Look for “good first issue”, ”help wanted” and “sig/cluster-lifecycle” labeled issues in our repositories
  • 24.Other Logistics ● Follow the SIG Cluster Lifecycle YouTube playlist ● Check out the meeting notes for our bi-weekly SIG meetings ● Join #sig-cluster-lifecycle, #kubeadm, #cluster-api, #kops-dev, #kops-users, #kubespray, #minikube, … ● Prep for and take the Certified Kubernetes Administrator exam ● Check out the kubeadm setup guide, reference doc and design doc ● Read how you can get involved and improve kubeadm!
  • 25.What’s coming in 2019? Addon Managment Etcdadm Mo’ Better Dev-Test w/Kind Kubeadm ○ HA to GA ● Grand unified field theory on ComponentConfigs ● ClusterAPI ● ● ● ● ○ alpha + beta ○ More Providers ● Kubespray & Kops ○ Integration with the other building blocks
  • 26.BUT WAIT THERE’S MORE!!! ● Come see other SIG related talks this week ○ Tuesday ■ Cluster API On-Prem & Cloud @3:40 ○ Wednesday ■ Intro to Minikube @10:50 ■ Deep Dive Kubespray @11:40 ○ Thursday ■ Deep Dive Kubeadm @1:45 ■ Deep Dive ClusterAPI @2:35 ■ Managing Addons with Operators @4:30
  • 27.Thank You!