l eo T i T @ N T aI F I 1 4 3 2 d N # NF T C I I T M F F 66 777 60 4. 6 2 6 46 / 1 7 60/ 66 777 60 4. 6 2 6 46 / 1 7 60/ 66 777 60 4. 6 2 6 46 / 1 7 60/ 66 777 60 4. 6 2 6 46 / 1 7 60/ 6
Copyright 2019 Red Hat K.K. 2 7 00 - ,2 , 0 : , 7, S 7 IE LC A S EC LCH S LMI S LCLP M CLP KK S II 1H CLH C A E LK S LH A KCKL S ,A KK A KK L A LCH S -HKL H L C A K S MCE IEHP 1 LBH HEHAP S E L H 1H CLH C A E LK S 1 L C A B A D S E L H M CLP - C A S A - C A S M CLP LC C LCH K S 2 LOH D HEC P S CK KL HN P S KHM A L LCH S IA L B S E L H IA L B S A IA L B S II IA L B S M CLP L B K S H LC MHMK M CLP C A S 1MELC NC H L HEEHML S , L I CK H L C ACKL P S EMKL II ,E KLC CLP S 1H CLH E L C L S 0HA AA A LCH c R RV g eb kl i faVh T dUYT HM 7B 2 O L D 7B L L H LB /M L K , HKPKL MAMKL & % 42
Copyright 2019 Red Hat K.K. Cloud Infrastructure Resources Hardware, Virtualization, Cloud and Service Provider Certifications CI/CD Workload Serverless Workload Machine Learning Workload IoT Workload Workload Abstraction Any Applications Resource Abstraction Any Resources Company Core Value? (*Not Kubernetes) C V 8 => K ) ( ) 8 K C 8 44
Copyright 2019 Red Hat K.K. $ operator-sdk add api --api- version=cache.example.com/v1alpha1 --kind=Memcached (pkg/apis/cache/v1alpha1/memcached_types.g D A . C 2 type MemcachedSpec struct { // Size is the size of the memcached deployment Size int32 `json:"size"` } type MemcachedStatus struct { // Nodes are the names of the memcached pods // +listType=set Nodes []string `json:"nodes"` } 65
Copyright 2019 Red Hat K.K. $ operator-sdk build quay.io/capsmalt/memcached-operator:v0.0.1 )4 - C D $ docker push quay.io/capsmalt/memcached-operator:v0.0.1 serviceAccountName: memcached-operator containers: - name: memcached-operator # Replace this with the built image name image: quay.io/capsmalt/memcached-operator:v0.0.1 command: - memcached-operator imagePullPolicy: Always (deploy/operator.yaml) $ kubectl create -f deploy/crds/cache.example.com_memcacheds_crd.yaml & ( .-. 4 - C D I A 69
Copyright 2019 Red Hat K.K. $ kubectl create -f deploy/operator.yaml ( 4 ) BDA C $ kubectl create -f deploy/service_account.yaml $ kubectl create -f deploy/role.yaml $ kubectl create -f deploy/role_binding.yaml & C ( 4 ) . 4 C $ kubectl get deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE memcached-operator 1 1 1 1 1m $ kubectl get pod NAME READY STATUS RESTARTS AGE memcached-operator-7d76948766-nrcp7 1/1 Running 0 1m 70
Copyright 2019 Red Hat K.K. D .)() 5 1 . C $ kubectl get deployment NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE memcached-operator 1 1 1 1 2m example-memcached 3 3 3 3 1m $ kubectl get pods NAME READY STATUS RESTARTS AGE example-memcached-5cc7c78d6-g6h6d 1/1 Running 0 2m example-memcached-5cc7c78d6-g5k7v 1/1 Running 0 2m example-memcached-5cc7c78d6-m7vn7 1/1 Running 0 2m memcached-operator-7gd6csgfd6-vvjqk 1/1 Running 0 3m 72
Copyright 2019 Red Hat K.K. A L H I , ( , (( , ((( , (/ , / ( A BA A A B A A , A B B A B ) A B B ( A A A D BA , A F A A BA AB A A B AB 41 $+) /$.'/ 5092 "=3& !)/ $ -=3 % !$41+ !+ - ;:
<$+ )/*# , % '+* ./ %
Copyright 2019 Red Hat K.K. ) ( -( C E C : A ) A DDD C E I S C E C : A ) Q N TM - ) ( -( c ye / A hl / A ye e g P : Aa / A ye Q / A ye Q s c / A ye Qu i V O / A w Poe / A ye t l ud g . p / A Q i r e ng g , C . : C . : s m . J Q LO M s m C E :A CA . C ( :A / A 97
Copyright 2019 Red Hat K.K. Automated Dependency Resolution My Operator v1.1.2 require s requires Jaeger Operator jaeger.jaegertracing.io /v1 CockroachDB Operator cockroachdb.charts.helm.k8s.io/v1alpha 1 resolves to resolves to Operator Framework installed by installed by