应用程序特别兴趣小组(SIG Apps)

本次 Kubernetes SIG Apps 介绍会中,您将了解我们关注的领域和目前正在开展的工作,以及您如何参与其中。
展开查看详情

1.SIG Apps Introduction Janet Kuo, Software Engineer, Google

2.SIG Leads • Adnan Abdulhussein (@prydonius), Bitnami • Kenneth Owens (@kow3ns), Google • Matt Farina (@mattfarina), Samsung SDS

3.

4. Goals SIG Apps covers developing, deploying, and operating applications on Kubernetes with a focus on the application developer and application operator experience. • Code, Binaries and Services • APIs used for running applications (e.g., Workloads API) • Tools and documentation to aid in ecosystem tool interoperability around apps (e.g., Application CRD/Controller) • Grandfathered in tools used to aide in development of and management of workloads (e.g., Kompose) • Cross-cutting and Externally Facing Processes • A discussion platform for solving app development and management problems • Represent the needs and persona of application developers and operators

5. SIG Apps Meetings 1 hour meeting at 9am PST every Monday ● Agenda: Intro + announcements + survey sometimes ● Demos ● Scheduled Discussion Topics ● Open discussion

6.Workloads API ● Deployment (api: apps/v1) ○ Used to implement Rolling Updates and Rollbacks for Pods managed by ReplicaSets ● ReplicaSet (api: apps/v1) ○ Used to schedule N fugable Pods ○ Useful for stateless serving workloads. ○ Implementation detail of Deployments ● ReplicationController (api: core/v1) ○ This is not the API object you are looking for! ○ Use a Deployment instead ● StatefulSet (api: apps/v1) ○ Deploys N unique, identifiable Pods with durable storage. ○ Useful for distributed systems and databases ● Job (api: batch/v1) ○ Used to schedule one or more Pods that run to completion and either succeed or fail. ● CronJob (api: batch/v1beta1) ○ Used to repetitively launch Jobs at a configurable duration. ● DaemonSet (api: apps/v1) ○ Used to schedule a Pod on a set of Nodes (potentially all) ○ Useful for cluster addons, log shippers, metrics collectors, networking plugins, DFS data nodes

7.Workloads API Future Directions ● CronJob to GA ● TTL controller for Jobs garbage collection (alpha in 1.12) ● DaemonSet to use default scheduler (beta in 1.12) ● Storage aware scheduling (stable in 1.13) ○ Integration between the volume provisioner and the scheduler will allow volume provisioning to respect scheduling predicates ● Topology aware disruption budgets ○ Allows for failure domain aware rolling updates

8.Helm, Charts and Apps ● Helm: now hosted by CNCF ● Charts ○ Looking for contributors and maintainers (https://github.com/helm/charts) ○ Has an hour meeting every other Tuesday ○ Distributed search site instead of a central chart repository ● KubeApps ○ 1.0.0 released ● Application CRD ○ Working to define what a common extension to develop and interact with Applications on Kubernetes ○ Contributions and opinions welcome ○ https://github.com/kubernetes-sigs/application

9.Apps Recommended Labels

10.Other Ecosystem Projects ● Kompose - Translates a Docker Compose file into Kubernetes resources files ● Monocular - Web UI for Helm Chart repositories ● ChartMuseum - Helm Chart Repository with support for Amazon S3 and Google Cloud Storage ● Kedge - a deployment tool for Kubernetes artifacts by using a simplified version of the Kubernetes spec ● Metacontroller- Framework for lightweight, CRD based cluster extensions. ● audit2rbac - turns API Server audit logs into the RBAC rules ● Netsil - Kubernetes monitoring ● Draft - Makes it easy to build applications that run on Kubernetes ● Skaffold - Facilitates continuous development for Kubernetes applications ● Kubeless - A Kubernetes Native Serverless ● Many, Many, Many more ….