Top Banner
Kyle bai R&D @ inwinSTACK www.inwinstack.com Kubernetes Project Update and How To Contribute
45

Kubernetes project update and how to contribute

Jan 24, 2018

Download

Technology

inwin stack
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Kyle bai R&D @ inwinSTACK

    www.inwinstack.com

    Kubernetes Project Update and How To Contribute

  • JobR&D @ inwinSTACK

    Description java objc Mobile Hadoop Spark Linux

    OpenStackCeph Cloud Native

    GitHub GitBook

    Drink Coffee Mobile LoveGood! #7727 Buttocks

    kairen([email protected])

    https://kairen.github.io/

    About MeKyle Bai

  • Kubernetes47%

    Containers remain the top emerging technology of interest to users. Among those currently deploying container orchestration or platform services on OpenStack, 47% are using Kubernetes.

    An introduction for Kubernetes

    Major features in Kubernetes 1.7

    What's new in Kubernetes 1.8?

    How to contribute

    AgendaToday I will talk about

  • An introduction for Kubernetes

  • KubernetesKubernetes Google (Container)

    Google

    Container(OCI)

    K8s( )

    CNCF

    Stars

    25,830+Commits

    52,905+Contributors

    1,331+

  • Kubernetes Pros

    Monitoring

    Rolling-update

    High-availability

    Self-healing

    Cloud Provider

    Persistent Volumes

    Configmap

    Secret

    Kubernetes

  • Container Management Platforms Preferences

    https://www.cncf.io/blog/2017/01/17/container-management-trends-kubernetes-moves-testing-production/

    https://www.cncf.io/blog/2017/01/17/container-management-trends-kubernetes-moves-testing-production/

  • Kubernetes Adoption

  • Kubernetes 2017 Release Timeline

    v1.6 v1.9v1.8v1.7

    September(Q3)

    December(Q4)

    March(Q1)

    June(Q2)

  • Major features in Kubernetes 1.7Security, Workloads and Extensibility.

    https://github.com/kubernetes/features

    https://github.com/kubernetes/features

  • API aggregation Beta API Server Server

    API Server

    API

    API Kubernetes

    https://github.com/kubernetes/sample-apiserver

    https://github.com/kubernetes/sample-apiserver

  • API aggregation

  • API aggregation

  • Extensible External Admission Control API Server

    Kubernetes

    Alpha kube-apiserver --

    admission-control GenericAdmissionWebhook

  • Limit node access to API server Node authorizer NodeRestriction Plugin

    Node API

    Node API Pod

    Pod Secrets Configmaps

  • Custom Resource Definition TPR APICustom Resource

    DefinitionsCRD

    CRD TPR beta

    1.8 TPR API TPR

    CRD

  • Create custom objects for CRD CRD

    CronTab resource

  • Encrypting secrets in etcd Etcd Secrets

    Secret Etcd

  • Local persistent storage StorageClasses PVC/

    PV Local persistent

    storage

    hostPath volume

  • Network Policy API NetworkPolicy API GA

    NetworkPolicy Ingress Pods

    https://ahmet.im/blog/kubernetes-network-policy/

    https://ahmet.im/blog/kubernetes-network-policy/

  • Audit logs improvements API Server

    Webhook

  • StatefulSet workloads StatefulSet Rolling updates Controller History

    RollingUpdate Pod StatefulSet

    Partitioned Pod

    OnDelete Pod

  • DaemonSets workloads DaemonSet History Rolling back

    PodTemplate DaemonSet History

    Rolling back RollbackConfig

    Deployment

  • Container Runtime Interface (CRI) RPC call

    Metrics Container Runtime

    Metrics

    Kubelet Container Runtime Metrics

    Containerd Kubelet Container Runtime

  • Pod HostAliases hostAliases hostname Pod-level /etc/hosts

    Pod

    $ kubectl logs hostaliases-pod# Kubernetes-managed hosts file.127.0.0.1 localhost::1 localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetfe00::0 ip6-mcastprefixfe00::1 ip6-allnodesfe00::2 ip6-allrouters10.244.135.10 hostaliases-pod127.0.0.1 foo.local127.0.0.1 bar.local10.1.2.3 foo.remote10.1.2.3 bar.remote

  • PodDisruptionBudget(PDB) Beta MaxUnavailable

    Pod drain Pod

  • What's new in Kubernetes 1.8?

    https://github.com/kubernetes/features

    https://github.com/kubernetes/features

  • SIG in 1.8 release SIG Node:

    CRI-O support Kubelet

    SIG Network NetworkPolicy API Pod Egress

    kube-proxy IPVS (alpha) iptables

    userspace

  • SIG in 1.8 release SIG Storage Storage API resizing(alpha)

    snapshotting(prototype) Ephemeral storage

    requests & limits metrics driver

    SIG Autoscaling HPA API(

    Metrics) Cluster Autoscaler( GCE/

    GKE)

    SIG Instrumentation HPA API Resource

    metrics APICustom metrics APIMetrics-server Default monitoring

    pipeline( Heapster)

  • Kubernetes workloads API DaemonSetDeploymentReplicaSet StatefulSet kinds API Group

    apps/v1beta2 GA

    API batch/v2alpha1.CronJob

    TPR batch/v2alpha1.ScheduledJobs autoscaling/v2alpha1

    autoscaling/v2beta1

    Annotation initContainer Pod spec initContainers

    Advanced auditing v1alpha1 v1beta1 Advanced auditing

    gate JSON encoding

  • Network Policy API CIDR NetworkPolicy

    NetworkPolicy EgressRules

  • Custom Resource Definition CRD API CRD spec JSON schema

    Garbage Collector CRD Aggregate API servers

  • Roles Based Access Control (RBAC) RBAC API Group v1beta1 v1RBAC v1alpha1 API

    group

    RBAC

    RBAC

  • Scheduling Opaque Integer Resources (OIRs) v1.9

    Extended Resources (ERs) OIRs Resource

    kubernetes.io/ domain

    pod.alpha.kubernetes.io/opaque-int-resource- prefix

  • Autoscaling Heapster metrics Resource

    metrics API Metrics

    --horizontal-pod-autoscaler-use-rest-clients

    1.9

  • Storage iSCSI Fibre Channel RWO Attach/Detach

    Kubernetes metrics API PV

    Volume Plugin Metrics

    API Volume resizing (Gluster)

    Volume

    Volume Snapshots

    https://github.com/kubernetes-incubator/external-storage/tree/master/snapshot

  • CLI Changes kubectl rollout historystatusundo scale

    StatefulSets

    kubectl stop

    kubectl run --env CSV parsing

  • Cluster Lifecycle kubeadm upgrade self-hosted

    Kubernetes

    kops bare metal(Alpha) GCE(Beta).

    kubespray(incubator) kubeadm HA

    Kubernetes Dashboard

  • Other Projects Dashboard zh-TW i18n Resource

    test-infra e2e armarm64 ppc64le

    (Kubernetes Core)

  • How to contribute

  • Kubernetes Community ContributionKubernetes

    Bug

    Bug

    Special Interest Groups

    https://github.com/kubernetes/community/blob/master/contributors/devel/community-expectations.md

    https://github.com/kubernetes/communityhttps://github.com/kubernetes/community/blob/master/contributors/devel/community-expectations.md

  • Contribute Git workflow

  • Speed up PR merge PR merge

    Commit Commit PR

    PR

    Coding ConventionsAPI

    Conventions kubectl Conventions

    k8s-ci-robot

    https://github.com/kubernetes/community/blob/master/contributors/devel/coding-conventions.mdhttps://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.mdhttps://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.mdhttps://github.com/kubernetes/community/blob/master/contributors/devel/kubectl-conventions.md

  • https://github.com/kubernetes/dashboard/pull/2309

  • Kubernetes (Kubernetes Certified Service Provider) 2:50