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

Kubernetes project update and how to contribute

Embed Size (px)

Citation preview

  • 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