<?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>Notes to Self on AltaModa Technologies</title>
    <link>/nts/</link>
    <description>Recent content in Notes to Self on AltaModa Technologies</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 20 Jun 2026 09:22:00 +0000</lastBuildDate>
    <atom:link href="/nts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Azure Kubernetes Service</title>
      <link>/nts/azure/aks/</link>
      <pubDate>Sat, 20 Jun 2026 09:22:00 +0000</pubDate>
      <guid>/nts/azure/aks/</guid>
      <description>&lt;h2 id=&#34;aks-cluster&#34;&gt;AKS Cluster&lt;/h2&gt;
&lt;h3 id=&#34;cluster-info&#34;&gt;Cluster Info&lt;/h3&gt;
&lt;p&gt;The PowerShell module provides cluster details in JSON format. To gather AKS cluster info:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Get-AzAksCluster -ResourceGroupName &amp;lt;resource-group-name&amp;gt; -Name &amp;lt;cluster-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JSON fields
&lt;ul&gt;
&lt;li&gt;currentKubernetesVersion - the version of K8s currently running&lt;/li&gt;
&lt;li&gt;kubernetesVersion - the target version of K8s&lt;/li&gt;
&lt;li&gt;AgentPoolProfiles - array of agent pool definitions
&lt;ul&gt;
&lt;li&gt;Count - # of active nodes&lt;/li&gt;
&lt;li&gt;VmSize - Azure VM SKU, e.g., Standard_D16ds_v5&lt;/li&gt;
&lt;li&gt;OsDiskType - disk type available, typically Ephemeral&lt;/li&gt;
&lt;li&gt;OsDiskSizeGB - disk size in GB&lt;/li&gt;
&lt;li&gt;OsType - Linux or Windows&lt;/li&gt;
&lt;li&gt;OsSKU - e.g., Ubuntu&lt;/li&gt;
&lt;li&gt;MaxCount, MinCount - max and min nodes in pool&lt;/li&gt;
&lt;li&gt;Mode - User or System. BP: System exclusively for K8s components&lt;/li&gt;
&lt;li&gt;EnableAutoScaling&lt;/li&gt;
&lt;li&gt;ScaleDownMode - action when scaling down, e.g., Delete&lt;/li&gt;
&lt;li&gt;Type - node types, e.g., VirtualMachineScaleSets&lt;/li&gt;
&lt;li&gt;OrchestratorVersion&lt;/li&gt;
&lt;li&gt;CurrentOrchestratorVersion&lt;/li&gt;
&lt;li&gt;NodeImageVersion - e.g., AKSUbuntu-2204gen2containerd-202604.24.0&lt;/li&gt;
&lt;li&gt;UpgradeSettings - settings used during node pool upgrades
&lt;ul&gt;
&lt;li&gt;MaxSurge - Pct increase of nodes, e.g., 25%&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;NodeLabels - array of K8s labels&lt;/li&gt;
&lt;li&gt;NodeTaints - array of K8s taints&lt;/li&gt;
&lt;li&gt;Identity.UserAssignedIdentities - the security principals assigned to the cluster. BP: use a user-assigned &lt;a href=&#34;entraid.md#managed-identity&#34;&gt;Managed Identity&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NOTE: AzCLI and Azure PowerShell module emit different JSON.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Entra ID</title>
      <link>/nts/azure/entraid/</link>
      <pubDate>Fri, 19 Jun 2026 18:33:00 +0000</pubDate>
      <guid>/nts/azure/entraid/</guid>
      <description>&lt;h2 id=&#34;managed-identity&#34;&gt;Managed Identity&lt;/h2&gt;
&lt;p&gt;Managed Identity provides a secure service principal for an Azure (typically compute) resource for accessing other resources.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Prefer over credential-based (e.g., user/pwd) authentication with an OAuth token flow. Entra&amp;rsquo;s &lt;a href=&#34;https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow&#34;&gt;OAuth 2.0 Client Credentials Grant Flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;24-hour token expiration; Azure refreshs at 12 hours
&lt;ul&gt;
&lt;li&gt;Uninterrupted if Entra unavailable &amp;lt; 24 hours&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Certificate based, rather than credentials
&lt;ul&gt;
&lt;li&gt;Certs valid for 90 days; Azure rotates at 45 days&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;types&#34;&gt;Types&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;User-assigned
&lt;ul&gt;
&lt;li&gt;Created and managed as a separate resource&lt;/li&gt;
&lt;li&gt;Owner responsible for deprovising&lt;/li&gt;
&lt;li&gt;May be assigned to multiple resources&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;System-assigned
&lt;ul&gt;
&lt;li&gt;Available for some Azure resources&lt;/li&gt;
&lt;li&gt;Azure manages, including deprovisioning (shares the resource&amp;rsquo;s lifecycle)&lt;/li&gt;
&lt;li&gt;Assigned to exactly 1 resource&lt;/li&gt;
&lt;li&gt;Naming: uses the same name as the resource&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;application-registration&#34;&gt;Application Registration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A global (to Azure) identification of an application.
&lt;ul&gt;
&lt;li&gt;An app reg uniquely identifies an app and may also store properties, e.g., secrets, client id, certificates.&lt;/li&gt;
&lt;li&gt;App reg facilitates how the app authenticates,&lt;/li&gt;
&lt;li&gt;Roles/rights asso&amp;rsquo;d with a service principal.&lt;/li&gt;
&lt;li&gt;The app reg belongs to the Az tenant where it was registered (home tenant).&lt;/li&gt;
&lt;li&gt;The app reg may be used in other Az Tenants.&lt;/li&gt;
&lt;li&gt;App reg trusts Entra ID, but not vice-versa.&lt;/li&gt;
&lt;li&gt;Good for
&lt;ul&gt;
&lt;li&gt;need to authenticate users; SSO&lt;/li&gt;
&lt;li&gt;app id across Az tenants&lt;/li&gt;
&lt;li&gt;operate outside Az&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Kubernetes</title>
      <link>/nts/k8s/</link>
      <pubDate>Fri, 28 Feb 2025 14:24:00 +0000</pubDate>
      <guid>/nts/k8s/</guid>
      <description>&lt;h2 id=&#34;controller-types&#34;&gt;Controller Types&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ReplicaSet: scales application to have multiple instances of the same pod&lt;/li&gt;
&lt;li&gt;Deployment: ReplicaSet + rolling update + rollback + versioning&lt;/li&gt;
&lt;li&gt;StatefulSet: Adds Unique Identity, Persistent Network Identity, Persistent Storage&lt;/li&gt;
&lt;li&gt;DaemonSet: Runs exactly one pod per node. Includes pod scheduling, pod identity, rollback strategy.&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
