<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes on Random Ramblings</title><link>https://blog.foundev.pro/tags/kubernetes.html</link><description>Recent content in Kubernetes on Random Ramblings</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 12 Oct 2021 02:00:00 +0000</lastBuildDate><atom:link href="https://blog.foundev.pro/tags/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>Busy Engineers Guide to Deploying on K8s Part 1 - Setting up Docker with GitHub Packages</title><link>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html</link><pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate><guid>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html</guid><description>&lt;h1&gt;Busy Engineers Guide to Deploying on K8s Part 1 - Setting up Docker with GitHub Packages&lt;/h1&gt;&#10;&lt;p&gt;Post Valid as of October 12, 2021.&lt;/p&gt;&#10;&lt;h3 id="busy-engineers-guide-to-deploying-on-k8s"&gt;Busy Engineer&amp;rsquo;s Guide to Deploying On K8s&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html"&gt;Part 1 - GitHub Packages (this post)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-2-kind.html"&gt;Part 2 - Kind &lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-3-helm.html"&gt;Part 3 - Helm&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;While trying to take some coworkers through setting up Docker with GitHub Packages I ran some not obvious edges and my boss pointed out&#10;for new to Docker and new to Kubernetes people these could be totally derailing corners. I have to agree, so this series will take people front to back&#10;through setting up Kubernetes with the options most readily available to us.&lt;/p&gt;</description></item><item><title>Busy Engineers Guide to Deploying on K8s Part 2 - Kind</title><link>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-2-kind.html</link><pubDate>Tue, 12 Oct 2021 01:00:00 +0000</pubDate><guid>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-2-kind.html</guid><description>&lt;h1&gt;Busy Engineers Guide to Deploying on K8s Part 2 - Kind&lt;/h1&gt;&#10;&lt;p&gt;Post Valid as of October 12, 2021.&lt;/p&gt;&#10;&lt;h3 id="busy-engineers-guide-to-deploying-on-k8s"&gt;Busy Engineer&amp;rsquo;s Guide to Deploying On K8s&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html"&gt;Part 1 - GitHub Packages&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-2-kind.html"&gt;Part 2 - Kind (this post)&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-3-helm.html"&gt;Part 3 - Helm&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This is a continuation from the &lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html"&gt;last post in the series&lt;/a&gt;. There are three primary ways&#10;to run Kubernetes locally on a notebook: &lt;a href="https://kind.sigs.k8s.io"&gt;Kind&lt;/a&gt;, &lt;a href="https://k3d.io/v5.0.0/"&gt;k3d&lt;/a&gt;, and &lt;a href="https://github.com/kubernetes/minikube"&gt;Minikube&lt;/a&gt;. I personally far prefer k3d due to it having good defaults to get&#10;up and running with stateful sets long before the other two and it can create large worker nodes, these have lead to a loyalty to the product. However, my org seems to have standardized on Kind for most of their CI so I will be covering&#10;that here as it is the easiest for my coworkers to find help and documentation. It is also an excellent product to get started with Kubernetes.&lt;/p&gt;</description></item><item><title>Busy Engineers Guide to Deploying on K8s Part 3 - Helm</title><link>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-3-helm.html</link><pubDate>Tue, 12 Oct 2021 02:00:00 +0000</pubDate><guid>https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-3-helm.html</guid><description>&lt;h1&gt;Busy Engineers Guide to Deploying on K8s Part 3 - Helm&lt;/h1&gt;&#10;&lt;p&gt;Post Valid as of October 12, 2021.&lt;/p&gt;&#10;&lt;h3 id="busy-engineers-guide-to-deploying-on-k8s"&gt;Busy Engineer&amp;rsquo;s Guide to Deploying On K8s&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-1-github-packages.html"&gt;Part 1 - GitHub Packages&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-2-kind.html"&gt;Part 2 - Kind &lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://blog.foundev.pro/2021/10/12/busy-engineers-guide-to-deploying-on-k8s-part-3-helm.html"&gt;Part 3 - Helm (this post)&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Ok so now that you have Kubernetes installing in a deployment and you can see it with kubectl port-forward how to you get beyond the&#10;toy stage?&lt;/p&gt;&#10;&lt;h2 id="helm-charts"&gt;Helm Charts&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="helm.sh"&gt;Helm&lt;/a&gt; is a great way to make your app &amp;ldquo;production ready&amp;rdquo; on Kubernetes with minimal effort assuming you do not try to overthink your deployment.&#10;Helm fundamentally provides a way for us to deploy apps to kubernetes by easily changing a handful of values at deployment time or in something called a values.yaml&lt;/p&gt;</description></item><item><title>Random Kubernetes Failures and Node Size</title><link>https://blog.foundev.pro/2021/03/09/random-k8s-failures-and-node-size.html</link><pubDate>Tue, 09 Mar 2021 00:00:00 +0000</pubDate><guid>https://blog.foundev.pro/2021/03/09/random-k8s-failures-and-node-size.html</guid><description>&lt;h1&gt;Random Kubernetes Failures and Node Size&lt;/h1&gt;&#10;I had a report of ingress failing on traefik randomly during a test job and since it worked on a local workstation the belief was it had to be a problem with traefik. I looked at the logs and asked them to spin up bigger nodes for the test and it fixed things.&#10;&lt;p&gt;The reason the beefier machines come into play are varied but ultimately come down to &amp;ldquo;no free lunch&amp;rdquo;. It all started with these log entries in traefik:&lt;/p&gt;</description></item><item><title>Getting the DataStax cass-operator working on Mac</title><link>https://blog.foundev.pro/2021/02/23/kubernetes-cassandra-local-workstation.html</link><pubDate>Tue, 23 Feb 2021 00:00:00 +0000</pubDate><guid>https://blog.foundev.pro/2021/02/23/kubernetes-cassandra-local-workstation.html</guid><description>&lt;h1&gt;Getting the DataStax cass-operator working on Mac&lt;/h1&gt;&#10;&lt;p&gt;Just leaving this here for anyone coming back to this later. This works as of Feb 23 2021 on Big Sur&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;install docker desktop &lt;a href="https://www.docker.com/products/docker-desktop"&gt;https://www.docker.com/products/docker-desktop&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;install k3d &lt;a href="https://github.com/rancher/k3d#get"&gt;https://github.com/rancher/k3d#get&lt;/a&gt; you can just run &lt;code&gt;curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;create cluster: &lt;code&gt;k3d cluster create&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;install operator manifest &lt;code&gt;kubectl create -f https://raw.githubusercontent.com/datastax/cass-operator/v1.5.1/docs/user/cass-operator-manifests-v1.19.yaml&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;download a cassandra data center yaml &lt;code&gt;curl -O https://gist.githubusercontent.com/rsds143/0e9263ed4287d888fab36eb3e4aec502/raw/f919172c64452a2277b7523d680a9e12916d0d39/cassandra-dc.yaml&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;run &lt;code&gt;kubectl create -f cassandra-dc.yaml --namespace cass-operator&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;wait for cassandra to come up &lt;code&gt;kubectl logs cluster1-dc1-default-sts-0 --namespace cass-operator server-system-logger&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;get username &lt;code&gt;export CQLUSER=$(kubectl get secret cluster1-superuser -o json -n cass-operator | grep \&amp;quot;username\&amp;quot; | sed -E 's/\&amp;quot;(.+)\&amp;quot;: \&amp;quot;(.+)\&amp;quot;/\2/' | base64 -d)&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;get password &lt;code&gt;export CQLPASS=$(kubectl get secret cluster1-superuser -o json -n cass-operator | grep \&amp;quot;password\&amp;quot; | sed -E 's/\&amp;quot;(.+)\&amp;quot;: \&amp;quot;(.+)\&amp;quot;/\2/' | sed -E 's/,*$//g' | base64 -d )&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;log into cqlsh &lt;code&gt;kubectl exec -it -n cass-operator cluster1-dc1-default-sts-0 -- cqlsh -u $CQLUSER -p $CQLPASS&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;enjoy your cassandra cluster&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The yaml I have linked too above is here&lt;/p&gt;</description></item></channel></rss>