<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://jimsander.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://jimsander.github.io/" rel="alternate" type="text/html" /><updated>2022-07-31T15:34:06+00:00</updated><id>https://jimsander.github.io/feed.xml</id><title type="html">Jim Sander (IO)</title><subtitle>Semi-Static Site for jimsander.io </subtitle><entry><title type="html">Quick Prep for CKA Exam</title><link href="https://jimsander.github.io/2022/07/11/CKA-Prep.html" rel="alternate" type="text/html" title="Quick Prep for CKA Exam" /><published>2022-07-11T00:00:00+00:00</published><updated>2022-07-11T00:00:00+00:00</updated><id>https://jimsander.github.io/2022/07/11/CKA-Prep</id><content type="html" xml:base="https://jimsander.github.io/2022/07/11/CKA-Prep.html">&lt;p&gt;&lt;img src=&quot;/assets/img/cka-certified-kubernetes-administrator.png&quot; alt=&quot;CKA Cert&quot; width=&quot;25%&quot; /&gt;
Having only the most basic high-level hands-on experience with k8s in the past, I thought why not immerse myself a little to prep for the &lt;a href=&quot;https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/&quot;&gt;CKA Exam&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;First, I deployed a small cluster (1c 2n) on my home network, then took a couple of &lt;a href=&quot;https://acloudguru.com/&quot;&gt;A Cloud Guru Courses&lt;/a&gt;, went through their non-industry certificate of completion, and finally, went through 
&lt;a href=&quot;https://github.com/kelseyhightower/kubernetes-the-hard-way&quot;&gt;KelseyHightower’s Deploying Kubernetes the Hard Way&lt;/a&gt;, a bit dated but all relevant.&lt;/p&gt;

&lt;p&gt;Afterwards, I thought I was about ready to begin my first pass at the test.  I say &lt;strong&gt;first&lt;/strong&gt; because, they give you one free re-take, and I was pretty sure I’d flub the initial, &lt;strong&gt;which I did&lt;/strong&gt;.   The failure wasn’t soley on knowledge of the material, rather, the online exam method they use is a virtual “keyhole”; it’s a remote linux desktop.&lt;/p&gt;

&lt;h1 id=&quot;tips-for-efficiency&quot;&gt;Tips for efficiency&lt;/h1&gt;
&lt;h2 id=&quot;linux-desktop-navigation&quot;&gt;Linux Desktop “Navigation”&lt;/h2&gt;

&lt;p&gt;Now, I’m a Linux fan, but not a Linux desktop fan, and avoid using the GUI if I can help it. However, the 
CKA &lt;strong&gt;PSI Bridge&lt;/strong&gt; (as they call it) allows only 2 apps:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Terminal&lt;/li&gt;
  &lt;li&gt;Firefox&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The questions are posed in the left of the “portal” where they give you a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;k8s config use &amp;lt;cluster_name&amp;gt;&lt;/code&gt; for each question, and to ensure you don’t &lt;strong&gt;typo&lt;/strong&gt; anything,  &lt;strong&gt;copy and paste&lt;/strong&gt; the strings into the terminal.&lt;/p&gt;

&lt;p&gt;Not so bad, but I was used to using my macbook for command-C or V and Command-F for most cut-and-paste. In the Linux desktop it’s slighly different&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;terminal :
    &lt;ul&gt;
      &lt;li&gt;shift+control+C or V&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;firefox:
    &lt;ul&gt;
      &lt;li&gt;control-F to search page&lt;/li&gt;
      &lt;li&gt;control-C to copy text&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Although it’s NOT a big deal, it was enough to fluster me to where it chewed up a good bit of my 2 hour window.&lt;/p&gt;

&lt;h2 id=&quot;shortcutsaliases&quot;&gt;Shortcuts/Aliases&lt;/h2&gt;
&lt;p&gt;Obviously, time is of the essence here. So, when you first start, get your aliases established:&lt;/p&gt;

&lt;h3 id=&quot;file-kuberc&quot;&gt;File: .kuberc&lt;/h3&gt;
&lt;p&gt;When &lt;strong&gt;seconds&lt;/strong&gt; count on the exam, &lt;strong&gt;TAKE A MINUTE or two&lt;/strong&gt; to get this in your &lt;em&gt;.bash_profile&lt;/em&gt; or wherever.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;source &amp;lt;(kubectl completion bash)
alias k=kubectl

complete -o default -F __start_kubectl k
export dry=&quot;--dry-run=client -o yaml&quot;
alias kns=&quot;k config set-context --current --namespace &quot;
alias kgns=&quot;k config view --minify -o jsonpath '{..namespace}'; echo&quot;
alias kcd=&quot;k create $dry&quot;
alias kcr=&quot;k create &quot;
alias kgp=&quot;k get po&quot;
alias kgn=&quot;k get nodes&quot;
alias kgall=&quot;k get nodes,po,svc,ep -o wide&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;template-the-spec-files&quot;&gt;“Template” the spec files&lt;/h2&gt;
&lt;p&gt;My first pass, I was hunting and pecking in the k8s documention for examples of YAML specs for the various questions, and this was a HUGE waste of time.  The better way is to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;kubectl create --dry-run=client ..&lt;/code&gt; and modify the output&lt;/p&gt;

&lt;p&gt;For example, one question involved creating a replicaset. Now, there’s no way to create a replicaset from just command line, so create a deployment, and modify the template.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;kcd deployment foo --image nginx | tee rs_foo.yml
# change 'kind' to ReplicaSet
# remove 'strategy'
kcd -f rs_foo.yml
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There’s a couple of other tips, but can’t think of them at the moment, will add them as I recall.&lt;/p&gt;

&lt;h1 id=&quot;related-certificates&quot;&gt;Related Certificates&lt;/h1&gt;
&lt;p&gt;Hot damned! Time well spent&lt;/p&gt;
&lt;div&gt;
&lt;div valign=&quot;center&quot;&gt;
&lt;div data-iframe-width=&quot;150&quot; data-iframe-height=&quot;270&quot; data-share-badge-id=&quot;3fc3093f-105c-4df0-8a71-98a528a3d585&quot; data-share-badge-host=&quot;https://www.credly.com&quot;&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot; async=&quot;&quot; src=&quot;//cdn.credly.com/assets/utilities/embed.js&quot;&gt;&lt;/script&gt; 
&lt;/div&gt;
&lt;div valign=&quot;center&quot;&gt;&lt;a href=&quot;https://verify.acloud.guru/D04D22AD8A66&quot;&gt;&lt;img height=&quot;25%&quot; width=&quot;25%&quot; border=&quot;0&quot; src=&quot;/assets/img/CKA-ACloudGuru.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</content><author><name>Jim</name></author><category term="cka" /><category term="certification" /><category term="kubernetes" /><category term="k8s" /><category term="training" /><summary type="html">Having only the most basic high-level hands-on experience with k8s in the past, I thought why not immerse myself a little to prep for the CKA Exam.</summary></entry><entry><title type="html">Welcome to Jekyll!</title><link href="https://jimsander.github.io/jekyll/update/2022/07/10/welcome-to-jekyll.html" rel="alternate" type="text/html" title="Welcome to Jekyll!" /><published>2022-07-10T16:47:06+00:00</published><updated>2022-07-10T16:47:06+00:00</updated><id>https://jimsander.github.io/jekyll/update/2022/07/10/welcome-to-jekyll</id><content type="html" xml:base="https://jimsander.github.io/jekyll/update/2022/07/10/welcome-to-jekyll.html">&lt;p&gt;You’ll find this post in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_posts&lt;/code&gt; directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;jekyll serve&lt;/code&gt;, which launches a web server and auto-regenerates your site when a file is updated.&lt;/p&gt;

&lt;p&gt;Jekyll requires blog post files to be named according to the following format:&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YEAR-MONTH-DAY-title.MARKUP&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YEAR&lt;/code&gt; is a four-digit number, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MONTH&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DAY&lt;/code&gt; are both two-digit numbers, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MARKUP&lt;/code&gt; is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works.&lt;/p&gt;

&lt;p&gt;Jekyll also offers powerful support for code snippets:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hi, &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'Tom'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#=&amp;gt; prints 'Hi, Tom' to STDOUT.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Check out the &lt;a href=&quot;https://jekyllrb.com/docs/home&quot;&gt;Jekyll docs&lt;/a&gt; for more info on how to get the most out of Jekyll. File all bugs/feature requests at &lt;a href=&quot;https://github.com/jekyll/jekyll&quot;&gt;Jekyll’s GitHub repo&lt;/a&gt;. If you have questions, you can ask them on &lt;a href=&quot;https://talk.jekyllrb.com/&quot;&gt;Jekyll Talk&lt;/a&gt;.&lt;/p&gt;</content><author><name></name></author><category term="jekyll" /><category term="update" /><summary type="html">You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.</summary></entry></feed>