{"id":305,"date":"2019-09-25T17:59:28","date_gmt":"2019-09-25T17:59:28","guid":{"rendered":"https:\/\/keith.resar.org\/blog\/?page_id=305"},"modified":"2019-10-11T19:45:59","modified_gmt":"2019-10-11T19:45:59","slug":"writing-your-first-ansible-operator-for-openshift-2","status":"publish","type":"page","link":"https:\/\/keith.resar.org\/blog\/speaking\/writing-your-first-ansible-operator-for-openshift-2\/","title":{"rendered":"Speaking &#8211; Writing your first Ansible operator for OpenShift"},"content":{"rendered":"<h1>Description<\/h1>\n<p>While Kubernetes has owned the stateless application space for years, the introduction of the operator pattern extends its reign to stateful applications as well.<\/p>\n<p>Learn what the operator pattern is and how it&#8217;s implemented within Kubernetes. Explore how Operators define application-aware Kubernetes objects that scale, recover from failure, manage version upgrades, and support backup\/restore processes. Lastly, explore the frameworks available for creating your own operators and examine all the data vendors who are already offering their applications via operator<\/p>\n<h1>Slides<\/h1>\n<p><iframe loading=\"lazy\" id=\"talk_frame_556542\" src=\"\/\/speakerdeck.com\/player\/65a4345556374ff7939edbe2701c4165\" width=\"525\" height=\"295\" style=\"border:0; padding:0; margin:0; background:transparent;\" frameborder=\"0\" allowtransparency=\"true\" allowfullscreen=\"allowfullscreen\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\"><\/iframe><\/p>\n<h1>Video<\/h1>\n<p><a href=\"https:\/\/www.ansible.com\/writing-your-first-ansible-operator-for-openshift?wvideo=rcv6iukfoa\"><img loading=\"lazy\" src=\"https:\/\/embedwistia-a.akamaihd.net\/deliveries\/4b92849c1610a503c0bc48dd0a678b6c8edfefb4.jpg?image_play_button_size=2x&amp;image_crop_resized=960x540&amp;image_play_button=1&amp;image_play_button_color=54bbffe0\" width=\"400\" height=\"225\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.ansible.com\/writing-your-first-ansible-operator-for-openshift?wvideo=rcv6iukfoa\">AnsibleFest Atlanta &#8211; Writing your first Ansible Operator for OpenShift<\/a><\/p>\n<h1>Photos<\/h1>\n<p><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6943.jpg\"><img loading=\"lazy\" class=\"aligncenter size-large wp-image-321\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6943-768x1024.jpg\" alt=\"\" width=\"525\" height=\"700\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6943-768x1024.jpg 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6943-225x300.jpg 225w\" sizes=\"(max-width: 525px) 100vw, 525px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-322\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946.jpg\" alt=\"\" width=\"4032\" height=\"3024\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946.jpg 4032w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946-300x225.jpg 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946-768x576.jpg 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6946-1024x768.jpg 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949.jpg\"><img loading=\"lazy\" class=\"aligncenter size-full wp-image-325\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949.jpg\" alt=\"\" width=\"4032\" height=\"3024\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949.jpg 4032w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949-300x225.jpg 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949-768x576.jpg 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/10\/IMG_6949-1024x768.jpg 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/p>\n<h1>Resources<\/h1>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/operatorhub.io\/\"><span style=\"font-weight: 400;\">OperatorHub<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/coreos.com\/blog\/introducing-operator-framework\"><span style=\"font-weight: 400;\">Introducing the operator framework<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/github.com\/water-hole\/ansible-operator\"><span style=\"font-weight: 400;\">water-hole\u2019s ansible-operator repo<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/github.com\/keithresar\/ansible-operator-demo\"><span style=\"font-weight: 400;\">ansible-operator-demo repo<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/github.com\/operator-framework\/awesome-operators\"><span style=\"font-weight: 400;\">Awesome operators in the wild<\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Description While Kubernetes has owned the stateless application space for years, the introduction of the operator pattern extends its reign to stateful applications as well. Learn what the operator pattern is and how it&#8217;s implemented within Kubernetes. Explore how Operators define application-aware Kubernetes objects that scale, recover from failure, manage version upgrades, and support backup\/restore &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/keith.resar.org\/blog\/speaking\/writing-your-first-ansible-operator-for-openshift-2\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Speaking &#8211; Writing your first Ansible operator for OpenShift&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":29,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/pages\/305"}],"collection":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/comments?post=305"}],"version-history":[{"count":5,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/pages\/305\/revisions"}],"predecessor-version":[{"id":328,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/pages\/305\/revisions\/328"}],"up":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/pages\/29"}],"wp:attachment":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/media?parent=305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}