<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Cloud on Benny Simmonds</title>
    <link>https://www.bencode.io/categories/cloud/</link>
    <description>Recent content in Cloud on Benny Simmonds</description>
    <generator>Hugo -- 0.149.1</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 19 Jan 2025 20:14:01 +1100</lastBuildDate>
    <atom:link href="https://www.bencode.io/categories/cloud/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Certified Kubernetes Administrator (CKA)</title>
      <link>https://www.bencode.io/posts/cka/</link>
      <pubDate>Sun, 19 Jan 2025 20:14:01 +1100</pubDate>
      <guid>https://www.bencode.io/posts/cka/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#glossary&#34;&gt;Glossary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#certification-tips&#34;&gt;Certification tips&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#bookmarks&#34;&gt;Bookmarks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kubectl-imperative-commands&#34;&gt;kubectl imperative commands&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#docker-vs-containerd&#34;&gt;Docker vs containerD&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#ctr&#34;&gt;ctr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#nerdctl&#34;&gt;nerdctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#crictl&#34;&gt;crictl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#etcd&#34;&gt;etcd&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#etcdctl&#34;&gt;etcdctl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kube-apiserver&#34;&gt;kube-apiserver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kube-controller-manager&#34;&gt;kube-controller-manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#replicasets&#34;&gt;ReplicaSets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#deployments&#34;&gt;Deployments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#services&#34;&gt;Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#namespaces&#34;&gt;Namespaces&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#working-with-namespaces&#34;&gt;Working with namespaces&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#creating-a-new-namespace&#34;&gt;Creating a new namespace&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#declaratively&#34;&gt;Declaratively&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#imperatively&#34;&gt;Imperatively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#namespace-less-objects&#34;&gt;Namespace-less objects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#gems&#34;&gt;Gems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;glossary&#34;&gt;Glossary&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Term&lt;/th&gt;
          &lt;th&gt;Definition&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;cri&lt;/td&gt;
          &lt;td&gt;Container Runtime Interface, the contract between k8s and the container runtime&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;crictl&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ctr&lt;/td&gt;
          &lt;td&gt;Debugging tool for containerD&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;oci&lt;/td&gt;
          &lt;td&gt;Open Container Initiative, formalised the specification of an &lt;code&gt;imagespec&lt;/code&gt; and a &lt;code&gt;runtimespec&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;nerdctl&lt;/td&gt;
          &lt;td&gt;Docker like CLI experience for containerD&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;certification-tips&#34;&gt;Certification tips&lt;/h2&gt;
&lt;h3 id=&#34;bookmarks&#34;&gt;Bookmarks&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://kubernetes.io/docs/reference/kubectl/conventions/&#34;&gt;https://kubernetes.io/docs/reference/kubectl/conventions/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kubernetes Certified Administrator (CKA) 2024</title>
      <link>https://www.bencode.io/posts/cka/</link>
      <pubDate>Fri, 22 Dec 2023 20:11:30 +0000</pubDate>
      <guid>https://www.bencode.io/posts/cka/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#cka-topics&#34;&gt;CKA topics&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kubernetes-in-a-nutshell&#34;&gt;Kubernetes in a nutshell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#lab-environment&#34;&gt;Lab environment&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#kubeadm-init-sample-output&#34;&gt;kubeadm init sample output&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#buliding-kubernetes-clusters&#34;&gt;Buliding kubernetes clusters&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#networking&#34;&gt;Networking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kubeadm&#34;&gt;kubeadm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#kubectl&#34;&gt;kubectl&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#contexts&#34;&gt;Contexts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#resources&#34;&gt;Resources&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cka-topics&#34;&gt;CKA topics&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Cluster Architecture, Installation &amp;amp; Configuration: How to set up and configure a Kubernetes cluster, including how to install and configure a Kubernetes cluster using &lt;code&gt;kubeadm&lt;/code&gt;, how to upgrade your cluster version, how to backup and restore an &lt;code&gt;etcd&lt;/code&gt; cluster, and how to configure a pod to use secrets&lt;/li&gt;
&lt;li&gt;Workloads &amp;amp; Scheduling: How to deploy a Kubernetes application, create daemonsets, scale the application, configure health checks, use multi-container pods, and use config maps and secrets in a pod. You&amp;rsquo;ll also need to know how to expose your application using services&lt;/li&gt;
&lt;li&gt;Services &amp;amp; Networking: How to expose applications within the cluster or outside the cluster, how to manage networking policies, and how to configure ingress controllers&lt;/li&gt;
&lt;li&gt;Storage: How to create and configure persistent volumes, how to create and configure persistent volume claims, and how to expand persistent volumes&lt;/li&gt;
&lt;li&gt;Troubleshooting: How to troubleshoot common issues in a Kubernetes environment, including how to diagnose and resolve issues with pods, nodes, and network traffic&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;kubernetes-in-a-nutshell&#34;&gt;Kubernetes in a nutshell&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Control plane&lt;/strong&gt; management components that mother-hen nodes and pods. Key components:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Essentials List</title>
      <link>https://www.bencode.io/posts/2012-02-26-azure-essentials-list/</link>
      <pubDate>Sun, 26 Feb 2012 08:00:00 +0000</pubDate>
      <guid>https://www.bencode.io/posts/2012-02-26-azure-essentials-list/</guid>
      <description>&lt;p&gt;A living post of the tools, frameworks and guidance that have made life with Azure better.&lt;/p&gt;
&lt;p&gt;So we&amp;rsquo;ve had a big couple of months at Mexia working with Microsoft and the Azure Service Bus. Just in this small timespan, the platform has been evolving rapidly; a new version of the SDK (1.6) was dropped, offical documentation has undergone complete rewrites, the service bus pricing model was overhauled (for the better)&amp;hellip; As a developer working with Azure, it is also very volitile grounds. The (ever growing) Azure community is doing an amazing job filing the many gaps that exist in the overall development experience, as the technology matures.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Azure Service Bus WRAP Token Renewal</title>
      <link>https://www.bencode.io/posts/2012-02-26-service-bus-token-renewal/</link>
      <pubDate>Sun, 26 Feb 2012 08:00:00 +0000</pubDate>
      <guid>https://www.bencode.io/posts/2012-02-26-service-bus-token-renewal/</guid>
      <description>&lt;p&gt;Service Bus samples and documentation often cover how to request a token from Access Control Services via REST. Here we touch on caching said token, and consider its renewal upon expiry.&lt;/p&gt;
&lt;p&gt;The .NET Azure Service Bus API, from the &lt;code&gt;Microsoft.ServiceBus&lt;/code&gt; and &lt;code&gt;Microsoft.ServiceBus.Messaging&lt;/code&gt; namespaces, provide a number of useful abstractions when developing a brokered messaging solution. The API is nice, because is lets you focus on the business problem at hand, while keeping the boilerplate, protocol related interaction nicely tucked away. Example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OAuth Certificate Authentication with ACS</title>
      <link>https://www.bencode.io/posts/2011-10-24-oauth-certs-acs/</link>
      <pubDate>Mon, 24 Oct 2011 07:00:00 +0000</pubDate>
      <guid>https://www.bencode.io/posts/2011-10-24-oauth-certs-acs/</guid>
      <description>&lt;p&gt;My experience authenticating clients with the Windows Azure AppFabric Access Control Service (ACS) using X.509 certificates.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the scenario. A consumer (Alice) wants to publish a message to the Azure AppFabric Service Bus, however before doing so, somehow needs to prove that she is in fact Alice. Taking a certificate based approach, requires Alice to craft a SAML token which amoung other things states &amp;ldquo;i&amp;rsquo;m Alice&amp;rdquo; (relying party scope), and signing this token with Alice&amp;rsquo;s (private key) certifcate. If Alice were to deliver this token to ACS (&lt;a href=&#34;https://yournamespace.accesscontrol.windows.net/v2/OAuth2-13)&#34;&gt;https://yournamespace.accesscontrol.windows.net/v2/OAuth2-13)&lt;/a&gt;, and a relying party, rule group and service identity with Alice&amp;rsquo;s public key had been configured, ACS in return would give Alice another token (a SWT token by default) signed with a specified signing key, which Alice could use from that point to prove identity.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
