Slide 1

Slide 1 text

OpenShift Storage 架構思考 Phil Huang 黃秉鈞 OpenShift Taiwan Meetup #2, Taiwan, Feb. 18, 2019

Slide 2

Slide 2 text

# whois Phil Huang 黃秉鈞 ● 社群斜槓青年 ○ SDNDS-TW ○ Cloud Native Taiwan User Group (CNTUG) ○ Study-Area 酷學園苦力組 ● 任職於 Red Hat 擔任 Solution Architect ● Blog ○ https://blog.pichuang.com.tw Ref: https://www.linkedin.com/in/phil-huang-09b09895/

Slide 3

Slide 3 text

感謝 Gandi 場地贊助 Ref: https://www.gandi.net/en

Slide 4

Slide 4 text

2019 容器名詞正名運動 ● Docker Registry => Container Registry ● Docker Images => Container Images ● Docker Container => OCI Container ○ The Open Container Initiative is an open governance structure for the express purpose of creating open industry standards around container formats and runtime. -- From Open Containers Intiative Official Website => 容器標準化 (Specification): Runtime / Image / ... Ref: https://www.facebook.com/groups/cloudnative.tw/permalink/475806496256024/ OCI: Open Container Initiative

Slide 5

Slide 5 text

1. Compute Resource ○ Multi-Cloud / Application Workload / Quota 2. Network Resource ○ Network Policy / CNI / Egress & Ingress Router / External & Internal DNS 3. Storage Resource ○ Persistent Volume Types / CSI / Storage Class 4. Container Images Resource ○ Images Lifecycle Management / RBAC / Audit What Kind of Resource Management You Should Care

Slide 6

Slide 6 text

Overview of Storage Resource

Slide 7

Slide 7 text

What is Persistent Storage in Container Platform? ● Allows administrators to describe storage ○ Static or dynamic ● Allows users to request storage ○ Assigned to pods based on the requested size, access mode , labeles and type ● No tight coupling to any disk, server, network or storage device

Slide 8

Slide 8 text

Lifecycle of PV / PVC Storage PV Bound PVC 100G RWO Binding Storage PV Available Reclaiming Storage PV Available Using PVC 100G RWO Pod Volume Storage PV Released Releasing PV: Persistent Volume PVC: Persistent Volume Claim Storage PV Available Provisioning User Admin

Slide 9

Slide 9 text

Pool of Persistent Volumes Ceph PV iSCSI PV FC PV VMDK PV GlusterFS PV Ceph RBD PV Storage Provisioning - Static PV Admin User provision PV create claim Project Pod claim Pod claim Pod claim

Slide 10

Slide 10 text

Storage Provisioning - Dynamic PV Admin User define StorageClass Slow Azure-Disk Fast AWS-SSD Fastest NetApp-Flash PV create claim: Fastest OpenShift PV Controller provision Pod claim bound NetApp Provisioner AWS Provisioner Azure Provisioner preinstall Storage Provisioner

Slide 11

Slide 11 text

Overview of Architecture Ref: https://www.hwchiu.com/kubernetes-concept.html CSI: Container Storage Interface

Slide 12

Slide 12 text

3 Storage Use Cases

Slide 13

Slide 13 text

Data in the Container ● Simple and easy to scale-out ● Remove all data after destroy pods/containers ● Use case ○ Stateless apps ● Volume type ○ emptyDir Host Container Data

Slide 14

Slide 14 text

Data in a Host Volume ● Persistent save data on a host, not in container ● HA and data backup are covered by application side ● Use cases ○ Stateful apps ○ High disk I/O performance (Database / ...) ● Volume type ○ local ○ hostPath Host Container Data

Slide 15

Slide 15 text

Data in a Shared Storage ● Persistent save data on shared storage ● Performance would be related with storage vendors ● Use cases ○ Stateful apps ○ Small and middle disk I/O performance ● Volumne Type ○ Static PV: iSCSI / FC / NFS ○ Dynamic PV: GlusterFS / Ceph / NetApp Trident Host Container Shared Storage via network

Slide 16

Slide 16 text

你到底知不知道什麼是 Kubernetes? - hwchiu 1. Kubernetes 本身不提供任何儲存功能, 透過標準介面 (CSI) 存取儲存伺服器 2. Kubernetes 本身也不去管什麼 RAID, 快照, 分散式儲存, 資料同步, 這些都是後 端儲存伺服器自行完成 3. 請針對自己的需求以及認知,選擇一個適合自己的儲存方案來使用 4. 不要認為 Kubernetes 可以幫你處理一切事情,沒有這麼強大也不應該這麼強大 ,請認份的學習儲存方面的概念與知識,然後與 Kubernetes 整合. 5. 遇到任何問題,可能是 Kubernetes 使用上的問題,也有可能是儲存伺服器本身 的問題,這部分要仰賴管理者的經驗來處理 Ref: https://www.hwchiu.com/kubernetes-concept.html

Slide 17

Slide 17 text

Use Cases of Dynamic PV

Slide 18

Slide 18 text

Red Hat OpenShift + NetApp Trident Ref: https://www.youtube.com/watch?v=zSDtYgkAN9g

Slide 19

Slide 19 text

Before: 2G Capacity (1/2) Ref: https://netapp-trident.readthedocs.io/en/stable-v18.10/kubernetes/operations/tasks/volumes.html

Slide 20

Slide 20 text

Before: 2G Capacity (2/2)

Slide 21

Slide 21 text

After: 3G Capacity (1/2) Ref: https://netapp-trident.readthedocs.io/en/stable-v18.10/kubernetes/operations/tasks/volumes.html

Slide 22

Slide 22 text

After: 3G Capacity (2/2)

Slide 23

Slide 23 text

OpenShift Storage Resource Online Editor

Slide 24

Slide 24 text

Wanna Learn More?

Slide 25

Slide 25 text

Ref: https://speakerdeck.com/pichuang/na-xie-nian-de-openshift-3-dot-11-rong-qi-ping-tai-ji-shu-xuan-xing-20190122

Slide 26

Slide 26 text

How Do You Learn About Cloud Native Technologies? Top learning sources are 1. Documentation 2. Meetups and Local Events 3. Technical Podcasts Ref: https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/

Slide 27

Slide 27 text

Ref: https://www.facebook.com/events/2143280755732051/

Slide 28

Slide 28 text

Ref: https://www.facebook.com/RedHatTaiwan/ 紅帽美女S小編說:

Slide 29

Slide 29 text

Q&A 台上一小時,台下三日夜 社群正向回饋,需要一起參與 Ref: https://www.facebook.com/micomikicat/

Slide 30

Slide 30 text

聚達系統 www.extremedata.com.tw 台灣區 紅帽 合作夥伴

Slide 31

Slide 31 text

台灣區 紅帽 總代理 商 台灣區 紅帽 合作夥 伴

Slide 32

Slide 32 text

ExtremeData DevSecOps Solution Check out Code and Build Unit Testing Quality Control Plan the tasks Continuous Delivery Process Continuous Integration Server Monitor Deploy to Production Deploy Docker Images Operate Release Issue Tracker Code Management Code Review & Image Scaning Deploy Tool & Docker Images APM Environment

Slide 33

Slide 33 text

No content