Skip to content

Commit

Permalink
Add AKS Kubelogin example code
Browse files Browse the repository at this point in the history
  • Loading branch information
tg123 committed Feb 16, 2024
1 parent 6cc9c21 commit 8e74dee
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 0 deletions.
49 changes: 49 additions & 0 deletions examples/aks-kubelogin/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using k8s;
using System;
using System.IO;
using System.Text;

var server = "https://example.hcp.eastus.azmk8s.io"; // the server url of your aks
var clientid = "00000000-0000-0000-0000-000000000000"; // the client id of the your msi
var kubeconfig = @"C:\bin\kubelogin.exe"; // the path to the kubelogin.exe

using var configstream = new MemoryStream(Encoding.ASCII.GetBytes($"""
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: {server}
name: aks
contexts:
- context:
cluster: aks
user: msi
name: aks
current-context: aks
kind: Config
users:
- name: msi
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- get-token
- --login
- msi
- --server-id
- 6dae42f8-4368-4678-94ff-3960e28e3630
- --client-id
- {clientid}
command: {kubeconfig}
env: null
"""));

var config = KubernetesClientConfiguration.BuildConfigFromConfigFile(configstream);
IKubernetes client = new Kubernetes(config);
Console.WriteLine("Starting Request!");

var list = client.CoreV1.ListNamespacedPod("default");
foreach (var item in list.Items)
{
Console.WriteLine(item.Metadata.Name);
}
Empty file.
5 changes: 5 additions & 0 deletions examples/aks-kubelogin/aks-kubelogin.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
</PropertyGroup>
</Project>

0 comments on commit 8e74dee

Please sign in to comment.