Kyle bai
R&D @ inwinSTACK
www.inwinstack.com
Kubernetes Project Update
and How To Contribute
Job
R&D @ inwinSTACK
Description
早期在校主要撰寫 java 與 objc 程式語⾔言,並專注於
Mobile 應⽤用程式開發,具備四年年開發經驗,次要研讀
Hadoop 與 Spark 資料運算框架,以及 Linux 相關技術。
⼯工作期間則專注於 OpenStack、Ceph 等 Cloud Native 相
關技術與開源專案,閒暇之餘會參參與相關專案社區及貢
獻,並利利⽤用部落落格、GitHub 與 GitBook 做筆記。
Drink Coffee Mobile Love
Good! #7727 Buttocks
kairen(kyle.b@inwinstack.com)
https://kairen.github.io/
About Me
Kyle Bai
Kubernetes
47%
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
Agenda
Today I will talk about
An introduction for Kubernetes
Kubernetes
Kubernetes 是 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/
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.7
Security, Workloads and Extensibility.
https://github.com/kubernetes/features
API aggregation
⽬目前為 Beta,主要⽬目標是將單體 API Server 拆分多個聚合的 Server,這
樣每個⼈人都可以撰寫⾃自⼰己的 API Server 來來進⾏行行聚合。
• 提升擴展性
• 適合應⽤用於測試⽤用 API 上
• 保證新建立 API 符合 Kubernetes 約束
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。取得代之為更更加輕量量的 API,Custom Resource
Definitions(CRD)。
• 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/
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-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
10.244.135.10 hostaliases-pod
127.0.0.1 foo.local
127.0.0.1 bar.local
10.1.2.3 foo.remote
10.1.2.3 bar.remote
PodDisruptionBudget(PDB)
• 新增⼀一個 Beta 參參數 MaxUnavailable ,透過該參參數可以設定最⼤大不可
⽤用 Pod 數,來來提供 drain 指令不會在同⼀一時間操作太多 Pod 數。
What's new in Kubernetes 1.8?
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 API、Custom metrics API、Metrics-server 與 Default monitoring
pipeline(取代 Heapster)。
Kubernetes workloads API
• DaemonSet、Deployment、ReplicaSet 與 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 進入 v1,RBAC 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 功能,⽬目前是⼀一個原型測試階段。
CLI Changes
• ⽬目前 kubectl rollout 的 history、status、undo ⼦子指令與 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 測試現在⽀支援 arm、arm64 與 ppc64le 平台
(Kubernetes Core)。
How to contribute
Kubernetes Community Contribution
Kubernetes 可以以多種⽅方式來來進⾏行行社區貢獻:
• 回報程式碼 Bug 與提交問題。
• 修改 Bug、問題或是功能實現。
• 新增或修改官⽅方檔案。
• 協助使⽤用者解決遇到的問題。
• 參參加 Special Interest Groups 會議。
https://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 Conventions、API
Conventions 和 kubectl Conventions。
• 確認修改部分能夠跑過本地單元與功能等測試。
• 利利⽤用 k8s-ci-robot 指令設定正確的標籤與重新失敗測試。
迎棧科技已成為全球⾸首批 Kubernetes 認證服務商
(Kubernetes Certified Service Provider)
下午 2:50 有認證考試優惠卷抽獎唷

Kubernetes project update and how to contribute

  • 1.
    Kyle bai R&D @inwinSTACK www.inwinstack.com Kubernetes Project Update and How To Contribute
  • 2.
    Job R&D @ inwinSTACK Description 早期在校主要撰寫java 與 objc 程式語⾔言,並專注於 Mobile 應⽤用程式開發,具備四年年開發經驗,次要研讀 Hadoop 與 Spark 資料運算框架,以及 Linux 相關技術。 ⼯工作期間則專注於 OpenStack、Ceph 等 Cloud Native 相 關技術與開源專案,閒暇之餘會參參與相關專案社區及貢 獻,並利利⽤用部落落格、GitHub 與 GitBook 做筆記。 Drink Coffee Mobile Love Good! #7727 Buttocks kairen(kyle.b@inwinstack.com) https://kairen.github.io/ About Me Kyle Bai
  • 3.
    Kubernetes 47% Containers remain thetop 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 Agenda Today I will talk about
  • 4.
  • 5.
    Kubernetes Kubernetes 是 Google開源的容器(Container)分散式管理理系 統,是 Google ⼗十幾年年以來來⼤大規模應⽤用容器技術的經驗累積和昇 華的⼀一個重要成果,是建於 Container(OCI標準容器)之上的容器 叢集排程服務,簡稱為K8s( )。 ⽬目前為 CNCF 專案之⼀一。 Stars 25,830+ Commits 52,905+ Contributors 1,331+
  • 6.
    Kubernetes Pros 資源監控 Monitoring 滾動升級 Rolling-update ⾼高可靠性 High-availability ⾃自我修復 Self-healing 雲端⽀支援 Cloud Provider 持久性儲存 PersistentVolumes 組態檔案 Configmap 安全性 Secret Kubernetes 管理理跨區域與主機的容器節點,提供基本部署、維運、管 理理,以及執⾏行行各項應⽤用程式,並具備多種特性。
  • 7.
  • 8.
  • 9.
    Kubernetes 2017 ReleaseTimeline v1.6 v1.9v1.8v1.7 September(Q3) December(Q4) March(Q1) June(Q2)
  • 10.
    Major features inKubernetes 1.7 Security, Workloads and Extensibility. https://github.com/kubernetes/features
  • 11.
    API aggregation ⽬目前為 Beta,主要⽬目標是將單體API Server 拆分多個聚合的 Server,這 樣每個⼈人都可以撰寫⾃自⼰己的 API Server 來來進⾏行行聚合。 • 提升擴展性 • 適合應⽤用於測試⽤用 API 上 • 保證新建立 API 符合 Kubernetes 約束 https://github.com/kubernetes/sample-apiserver
  • 12.
  • 13.
  • 14.
    Extensible External AdmissionControl • 主要⽬目的是替 API Server 新增⾃自定義的邏輯業務,以便便在建立與驗證 策略略時更更新物件。 • 這使管理理者或者供應商能夠定義⾃自⼰己的策略略來來允許指定內容進入⾄至他們 的 Kubernetes 叢集。 • ⽬目前是 Alpha 功能,預設不啟⽤用。若若要使⽤用可以在 kube-apiserver 的 -- admission-control 參參數加入 GenericAdmissionWebhook。
  • 15.
    Limit node accessto API server • 新增 Node authorizer 模式,以及 NodeRestriction 管理理 Plugin,主要 ⽬目標是⽤用來來限制 Node 對某些 API 的存取。 • 這使得 Node 只能修改⾃自⼰己的 API 物件,以及這之上的 Pod 物件,或 者接收這些 Pod 上的 Secrets 與 Configmaps。
  • 16.
    Custom Resource Definition •棄⽤用 TPR。取得代之為更更加輕量量的 API,Custom Resource Definitions(CRD)。 • CRD 解決了了 TPR beta 測試時出現的問題和邊緣場景。 • 1.8 版本將完全刪除所有 TPR 的 API,所以請將⽬目前已使⽤用 TPR 功能遷 移到 CRD 上。
  • 17.
    Create custom objectsfor CRD 這邊是利利⽤用 CRD 來來簡單的定義 ⼀一個 CronTab resource 。
  • 18.
    Encrypting secrets inetcd • 新增加密機制,這使儲存在 Etcd 中的 Secrets 敏感的資料能夠進⾏行行加 密。 • 在 Secret 被讀寫⾄至 Etcd 之前,將資料進⾏行行加密,這個加密可以根據使 ⽤用者需求進⾏行行調整。
  • 19.
    Local persistent storage •透過 StorageClasses 與 PVC/ PV 來來提供 Local persistent storage 的存取。 • 這是比 hostPath volume 更更加 可靠的本地持久性資料模型。
  • 20.
    Network Policy API •NetworkPolicy API ⽬目前更更新為 GA 版本。 • NetworkPolicy 新增對 Ingress 選擇 Pods 的策略略。 https://ahmet.im/blog/kubernetes-network-policy/
  • 21.
    Audit logs improvements •API Server 儲存的稽核⽇日誌可以客制化與擴展,並⽀支援事件過濾與 Webhook 功能。 • 提供更更多的資料⽤用於系統稽核,這提升從⼤大量量資料中過濾出有意義的⽇日 誌訊息,以更更快地瞭解問題。
  • 22.
    StatefulSet workloads 新增 StatefulSet的 Rolling updates,與 Controller History,更更新策略略 有以下: • RollingUpdate:改動所有 Pod,並符合 StatefulSet 約束。 • Partitioned:只改動部分的 Pod。 • OnDelete:當 Pod 被⼿手動刪除時重新建立。
  • 23.
    DaemonSets workloads 新增 DaemonSet的 History 和 Rolling back: • 利利⽤用 PodTemplate 儲存 DaemonSet History。 • 在伺服端實現 Rolling back,主要是利利⽤用 RollbackConfig,類似 Deployment。
  • 24.
    Container Runtime Interface(CRI) • 新增新的 RPC call 以及增強⼀一些功能,如優化可調式性、容器與映像 檔系統 Metrics 與統計訊息,以幫助檢索 Container Runtime 的 Metrics。 • 新增 Kubelet 不啟⽤用從 Container Runtime 收集 Metrics 資料。 • 將 Containerd 整合⾄至 Kubelet 中,提供更更輕量量的 Container Runtime。
  • 25.
    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-loopback fe00::0 ip6-localnet fe00::0 ip6-mcastprefix fe00::1 ip6-allnodes fe00::2 ip6-allrouters 10.244.135.10 hostaliases-pod 127.0.0.1 foo.local 127.0.0.1 bar.local 10.1.2.3 foo.remote 10.1.2.3 bar.remote
  • 26.
    PodDisruptionBudget(PDB) • 新增⼀一個 Beta參參數 MaxUnavailable ,透過該參參數可以設定最⼤大不可 ⽤用 Pod 數,來來提供 drain 指令不會在同⼀一時間操作太多 Pod 數。
  • 27.
    What's new inKubernetes 1.8? https://github.com/kubernetes/features
  • 28.
    SIG in 1.8release • SIG Node: 持續專注在⽀支持最廣泛的⼯工作負載類型。這包含較敏感的硬 體與效能⼯工作負載,如資料分析與深度學習,同時提升節點可靠性。新 增 CRI-O support ⽀支援與動態的 Kubelet 組態。 • SIG Network:主要加強 NetworkPolicy API,以⽀支援 Pod Egress 規 則,另外改進 kube-proxy 新增 IPVS 模式(alpha),⽬目前為 iptables 與 userspace 模式。
  • 29.
    SIG in 1.8release • 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 API、Custom metrics API、Metrics-server 與 Default monitoring pipeline(取代 Heapster)。
  • 30.
    Kubernetes workloads API •DaemonSet、Deployment、ReplicaSet 與 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。
  • 31.
    Network Policy API •新增基於 CIDR 的 NetworkPolicy。 • ⽀支援在 NetworkPolicy 制定 EgressRules。
  • 32.
    Custom Resource Definition •CRD API 現在可以在 CRD spec 選擇驗證基於 JSON schema 的⾃自定 義物件。 • Garbage Collector 現在⽀支援 CRD 與 Aggregate API servers。
  • 33.
    Roles Based AccessControl (RBAC) • RBAC API Group 正式從 v1beta1 進入 v1,RBAC v1alpha1 API group 棄⽤用。 • ⽬目前官⽅方開始提倡在⽣生產環境中採⽤用 RBAC。現在很多授權模式預設都 會使⽤用 RBAC,這已經是⼀一個叢集基本的安全⽀支援。
  • 34.
    Scheduling • Opaque IntegerResources (OIRs) ⽬目前已棄⽤用,也將在 v1.9 版本移除。 • Extended Resources (ERs) 成為 OIRs 的替代 Resource。 • 使⽤用者能夠使⽤用 kubernetes.io/ domain 之外的任何域名前輟,不再是使 ⽤用 pod.alpha.kubernetes.io/opaque-int-resource- prefix。
  • 35.
    Autoscaling • 現在不建議從 Heapster取得 metrics,這已經棄⽤用,請透過 Resource metrics API 的聚合來來取得 Metrics。 • 透過 --horizontal-pod-autoscaler-use-rest-clients 參參數來來設定。在 1.9 版本會是預設啟⽤用。
  • 36.
    Storage • 現在 iSCSI與 Fibre Channel ⽀支援 RWO 的 Attach/Detach。 • 可透過 Kubernetes metrics API 來來取得 PV ⽬目前可⽤用的容量量。新增 Volume Plugin Metrics。 • 新增可透過 API 達到 Volume resizing 功能(Gluster),但⽬目前只是單純 增加 Volume ⼤大⼩小,底層儲存或檔案系統並不會實際調整。 • 新增 Volume Snapshots 功能,⽬目前是⼀一個原型測試階段。
  • 37.
    CLI Changes • ⽬目前kubectl rollout 的 history、status、undo ⼦子指令與 scale 指令 已⽀支援 StatefulSets。 • 刪除⼀一些已棄⽤用指令,如 kubectl stop。 • kubectl run --env 不再⽀支援 CSV parsing。
  • 38.
    Cluster Lifecycle • kubeadm:現在⽀支援upgrade 指令來來⾃自動升級 self-hosted 的 Kubernetes 叢集。 • kops:現在⽀支援 bare metal(Alpha) 與 GCE(轉為Beta). • kubespray(incubator):⽀支援了了 kubeadm 的 HA 部署⽅方案,預設啟⽤用 Kubernetes Dashboard。
  • 39.
    Other Projects • Dashboard:新增zh-TW 的 i18n 處理理,另外加入更更多 Resource 的顯 ⽰示,並新增登入⾴頁⾯面功能。 • test-infra:⼀一致性 e2e 測試現在⽀支援 arm、arm64 與 ppc64le 平台 (Kubernetes Core)。
  • 40.
  • 41.
    Kubernetes Community Contribution Kubernetes可以以多種⽅方式來來進⾏行行社區貢獻: • 回報程式碼 Bug 與提交問題。 • 修改 Bug、問題或是功能實現。 • 新增或修改官⽅方檔案。 • 協助使⽤用者解決遇到的問題。 • 參參加 Special Interest Groups 會議。 https://github.com/kubernetes/community/blob/master/contributors/devel/community-expectations.md
  • 42.
  • 43.
    Speed up PRmerge 若若想要加快 PR 被 merge 的話,可以透過以下⽅方式來來達成: • 透過⼩小的 Commit 來來將不同功能程式拆分到不同 Commit 或 PR 中,來來⽅方便便檢閱。 • 對於 PR 與邏輯進⾏行行更更多說明。 • 開發程式碼遵守約束,如 Coding Conventions、API Conventions 和 kubectl Conventions。 • 確認修改部分能夠跑過本地單元與功能等測試。 • 利利⽤用 k8s-ci-robot 指令設定正確的標籤與重新失敗測試。
  • 45.
    迎棧科技已成為全球⾸首批 Kubernetes 認證服務商 (KubernetesCertified Service Provider) 下午 2:50 有認證考試優惠卷抽獎唷