<!--DEBUG:--><!--DEBUG:dc3-united-states-software-in-english-pdf-2--><!--DEBUG:--><!--DEBUG:dc3-united-states-software-in-english-pdf-2--><!--DEBUG-spv-->{"id":2001338,"date":"2021-10-02T01:41:00","date_gmt":"2021-10-01T23:41:00","guid":{"rendered":"http:\/\/nhub.news\/?p=2001338"},"modified":"2021-10-02T05:03:53","modified_gmt":"2021-10-02T03:03:53","slug":"kubexpose-a-kubernetes-operator-for-fun-and-profit","status":"publish","type":"post","link":"http:\/\/nhub.news\/de\/2021\/10\/kubexpose-a-kubernetes-operator-for-fun-and-profit\/","title":{"rendered":"Kubexpose: A Kubernetes Operator for Fun and Profit!"},"content":{"rendered":"<p style=\"text-align: justify;\"><b>Learn how to use the open-source Kubexpose, a Kubernetes operator backed by a custom resource defition.<\/b><br \/>\nJoin the DZone community and get the full member experience. Say you have a web service running as a Kubernetes Deployment. There are a bunch of ways to access it over a public URL, but Kubexpose makes it easy to do so. It\u2019s a Kubernetes Operator backed by a Custom Resource Definition and the corresponding controller implementation. Kubexpose is built using kubebuilder and available on GitHub. To try it out, jump into the next section or scroll down to How it works? to learn more Any Kubernetes cluster will work ( minikube, kind, Docker Desktop, on the cloud, whatever&#8230;). Deploy the operator and other components (CRD etc.): Make sure the Operator is up and running: Create a nginx Deployment to test things out \u2014 this is the one you want to expose over the internet using a public URL). Along with it, create a kubexpose resource \u2014 which will help you access ngnix Deployment over the Internet! Wait for a few seconds and check the public URL at which the nginx Deployment can be accessed: Access the public URL using your browser or test it using curl Confirm that the corresponding Service and Deployment have been created as well: You can try out other scenarios such as trying to Deployment and\/or Service &#8211; the Operator will reconcile or bring things back to the state as specified in the resource. To delete the kubexpose resource: This will also delete the Service and Deployment which were created for this resource To uninstall the Operator: This will delete the CRD, kubexpose operator and other resources. Behind the scenes, Kubexpose uses the awesome ngrok project to get the job done! When you create a kubexpose resource, the operator: The Deployment and Service and owned and managed by the Kubexpose resource instance. Enjoy! Published at DZone with permission of Abhishek Gupta, DZone MVB. See the original article here. Opinions expressed by DZone contributors are their own.<\/p>\n<script>jQuery(function(){jQuery(\".vc_icon_element-icon\").css(\"top\", \"0px\");});<\/script><script>jQuery(function(){jQuery(\"#td_post_ranks\").css(\"height\", \"10px\");});<\/script><script>jQuery(function(){jQuery(\".td-post-content\").find(\"p\").find(\"img\").hide();});<\/script>","protected":false},"excerpt":{"rendered":"<p>Learn how to use the open-source Kubexpose, a Kubernetes operator backed by a custom resource defition. Join the DZone community and get the full member experience. Say you have a web service running as a Kubernetes Deployment. There are a bunch of ways to access it over a public URL, but Kubexpose makes it easy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2001337,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[93],"tags":[],"_links":{"self":[{"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/posts\/2001338"}],"collection":[{"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/comments?post=2001338"}],"version-history":[{"count":1,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/posts\/2001338\/revisions"}],"predecessor-version":[{"id":2001339,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/posts\/2001338\/revisions\/2001339"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/media\/2001337"}],"wp:attachment":[{"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/media?parent=2001338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/categories?post=2001338"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nhub.news\/de\/wp-json\/wp\/v2\/tags?post=2001338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}