SlideShare a Scribd company logo
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 1/33
Recap of de:code 2019
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 2/33
Kyohei Mizumoto(@kyohmizu)
C# Software Engineer
Interests
Docker/Kubernetes
Go
Security
whoami
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 3/33
de:code 2019
https://www.microsoft.com/ja-jp/events/decode/2019/default.aspx
The technical conference for all IT engineers hosted by
Microsoft
Held on 29th, 30th May
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 4/33
de:code 2019
Most of sessions are about Microsoft Azure
Lots of sessions about AKS
The number of introduction examples is increasing
Their ervices(cloud services especially) are getting
sophisticated
More simple, more functional
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 5/33
What I was interested in
Windows Containers
Virtual Kubelet
Kubernetes-based Event-driven Autoscaling(KEDA)
NetApp Services
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 6/33
Windows Containers
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 7/33
Windows Containers on k8s
https://cloudblogs.microsoft.com/opensource/2019/03/25/windows-
server-containers-now-supported-kubernetes/
Single Kubernetes cluster can have both Linux nodes and Windows
Server nodes
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 8/33
Windows Containers on AKS
https://docs.microsoft.com/en-us/azure/aks/windows-container-cli
Preview feature
Multiple nood pools
You need to:
Install aks-preview CLI extension
Add a Windows Server node pool
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 9/33
Virtual Kubelet
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 10/33
Virtual Kubelet
https://github.com/Virtual-Kubelet/Virtual-Kubelet
"Kubernetes API on top, programmable back."
Allows the nodes to be backed by other services
(ACI, AWS Fargate, IoT Edge etc)
Enable the extension of the k8s API into serverless
container platforms
Denoted to CNCF from Microsoft
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 11/33
How It Works
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 12/33
Providers
Alibaba Cloud ECI Provider
Azure Container Instances Provider
AWS Fargate Provider
HashiCorp Nomad Provider
OpenStack Zun Provider
(Adding a New Provider via the Provider Interface)
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 13/33
Virtual Nodes on Azure Portal
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 14/33
Virtual Nodes on Azure Portal
ACI is added in AKS
$ kubectl get node
NAME STATUS ROLES AGE --
aks-agentpool-20139558-0 Ready agent 19m
aks-agentpool-20139558-1 Ready agent 19m
virtual-node-aci-linux Ready agent 17m
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 15/33
KEDA
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 16/33
https://github.com/kedacore/keda
Kubernetes-based Event-driven Autoscaling
0-1 autoscaling
Run on both the Cloud and the Edge
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 17/33
How It Works
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 18/33
How It Works
KEDA acts as:
an agent to activate and deactivate a deployment to
scale to/from zero on no events
a Kubernetes metrics server to expose rich event data
to the HPA to drive scale out
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 19/33
NetApp Services
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 20/33
Azure NetApp Files
https://cloud.netapp.com/azure-netapp-files/
https://docs.microsoft.com/en-us/azure/azure-netapp-files/
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 21/33
NetApp Kubernetes Service
https://cloud.netapp.com/kubernetes-service
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 22/33
Demo
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 23/33
Vertual Kubelet with AKS
https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet
Install vertual kubelet(Windows + Linux)
Deploy Pods on vertual kubelet nodes
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 24/33
Before You Begin
Register Container Instances feature provider
Initialize Helm
Service account for RBAC-enabled clusters
$ helm init --service-account tiller
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 25/33
Install
$az aks install-connector 
--resource-group myResourceGroup 
--name myAKSCluster 
--connector-name virtual-kubelet 
--os-type Both
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 26/33
Validate Vertual Kubelet
1 node + 2 virtual kubelet nodes
$ kubectl get node
NAME STATUS --
aks-agentpool-20139558-0 Ready
virtual-kubelet-virtual-kubelet-linux-japaneast Ready
virtual-kubelet-virtual-kubelet-windows-japaneast Ready
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 27/33
Deploy on Vertual Kubelet
Pods for virtual kubelet are deployed on the normal
node
$ kubectl get po -o wide
NAME
READY STATUS RESTARTS AGE IP NODE --
pod/virtual-kubelet-linux-japaneast-virtual-kubelet-for-aks-87rd2m5
1/1 Running 0 17m 10.244.0.14 aks-agentpool-20139558-0
pod/virtual-kubelet-windows-japaneast-virtual-kubelet-for-aks-9fzw5
1/1 Running 0 17m 10.244.0.15 aks-agentpool-20139558-0
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 28/33
Run Linux Container
apiVersion: apps/v1
kind: Deployment
metadata:
name: aci-helloworld
spec:
replicas: 1
selector:
matchLabels:
app: aci-helloworld
template:
metadata:
labels:
app: aci-helloworld
spec:
containers:
- name: aci-helloworld
image: microsoft/aci-helloworld
ports:
- containerPort: 80
nodeSelector:
beta.kubernetes.io/os: linux
kubernetes.io/role: agent
type: virtual-kubelet
tolerations:
- key: virtual-kubelet.io/provider
operator: Equal
value: azure
effect: NoSchedule
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 29/33
Run Linux Container
The pod is running on the linux virtual kubelet node
$ kubectl apply -f vk-linux.yaml
deployment.apps/aci-helloworld created
$ kubectl get po -o wide
NAME READY STATUS RESTARTS AGE
IP NODE --
aci-helloworld-657c97d89b-7lnpm 1/1 Running 0 65s
40.81.220.187 virtual-kubelet-virtual-kubelet-linux-japaneast
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 30/33
Run Windows Container
apiVersion: apps/v1
kind: Deployment
metadata:
name: nanoserver-iis
spec:
replicas: 1
selector:
matchLabels:
app: nanoserver-iis
template:
metadata:
labels:
app: nanoserver-iis
spec:
containers:
- name: nanoserver-iis
image: microsoft/iis:nanoserver
ports:
- containerPort: 80
nodeSelector:
beta.kubernetes.io/os: windows
kubernetes.io/role: agent
type: virtual-kubelet
tolerations:
- key: virtual-kubelet.io/provider
operator: Equal
value: azure
effect: NoSchedule
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 31/33
Run Windows Container
The pod is running on the windows virtual kubelet node
$ kubectl apply -f vk-windows.yaml
deployment.apps/nanoserver-iis created
$ kubectl get po -o wide
NAME READY STATUS RESTARTS AGE
IP NODE --
nanoserver-iis-6465dc649f-v7q2x 1/1 Running 0 53s
20.43.88.185 virtual-kubelet-virtual-kubelet-windows-japaneast
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 32/33
Access to the Pods
Pods on vertual kubelet nodes have public IP address
No need to create service resources
2019/6/6 Recap of de:code 2019
127.0.0.1:5500/#1 33/33
Thank you!

More Related Content

PDF
Kubernetes monitoring introduction
PDF
Visual Studio로 Kubernetes 사용하기
PDF
Kubernetes für Workstations Edge und IoT Devices
PDF
SRECon Europe - Chaos Engineering Bootcamp | August 2018
PDF
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
PDF
KubeCon + CloudNativeCon China 2018 Recap
PDF
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
PDF
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察
Kubernetes monitoring introduction
Visual Studio로 Kubernetes 사용하기
Kubernetes für Workstations Edge und IoT Devices
SRECon Europe - Chaos Engineering Bootcamp | August 2018
KubeCon + CloudNativeCon China 2018 Recap, let's go to Seattle
KubeCon + CloudNativeCon China 2018 Recap
쿠버네티스를 이용한 기능 브랜치별 테스트 서버 만들기 (GitOps CI/CD)
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察

What's hot (20)

PDF
Kerbernetes Robotics Distributed System Deep Dive
PDF
Rancher and Kubernetes - Vishal Biyani - Infracloud - Bangalore Container Con...
PPTX
Making Swift Native Modules in React Native
PDF
PDF
Spring Cloud Kubernetes - Spencer Gibb
PDF
NetflixOSS: The Netflix Way
PDF
K8sfor dev parisoss-summit-microsoft-5-decembre-short
PDF
Idea to Production - with Gitlab and Kubernetes
PDF
Kubernetes in kubernetes 搭建高可用環境
PDF
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
PDF
Building and Deploying Cloud Native Applications
PDF
How to successfully migrate to bazel from maven or gradle
PDF
給 RD 的 Kubernetes 初體驗
PDF
The Big Cloud Native FaaS Lebowski
PDF
Being cloud native with IBM cloud
PDF
Observability
PDF
Mattia Gandolfi - Improving utilization and portability with Containers and C...
PDF
Openshift argo cd_v1_2
PDF
How to successfully migrate to Bazel from Maven or Gradle - Riga Dev Days
PDF
GitOps - Operation By Pull Request
Kerbernetes Robotics Distributed System Deep Dive
Rancher and Kubernetes - Vishal Biyani - Infracloud - Bangalore Container Con...
Making Swift Native Modules in React Native
Spring Cloud Kubernetes - Spencer Gibb
NetflixOSS: The Netflix Way
K8sfor dev parisoss-summit-microsoft-5-decembre-short
Idea to Production - with Gitlab and Kubernetes
Kubernetes in kubernetes 搭建高可用環境
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud with...
Building and Deploying Cloud Native Applications
How to successfully migrate to bazel from maven or gradle
給 RD 的 Kubernetes 初體驗
The Big Cloud Native FaaS Lebowski
Being cloud native with IBM cloud
Observability
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Openshift argo cd_v1_2
How to successfully migrate to Bazel from Maven or Gradle - Riga Dev Days
GitOps - Operation By Pull Request
Ad

Similar to Recap of de code 2019 (20)

PDF
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
PDF
Serverless Security: A How-to Guide @ SnowFROC 2019
PDF
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
PDF
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
PDF
如何让开源软件用得更放心
PDF
Running k3s on raspberry pi
PPTX
Kubernetes for data scientist
PDF
KubeCon + CloudNativeCon Barcelona and Shanghai 2019 - Highlights
PPTX
SQL Days 2019 - Kubernetes 101
PPTX
Mvp skill saturday ep09 _06072019_azure updates - july 2019
PDF
今Serverlessが面白いわけ
PDF
Zero-downtime deployment of Micro-services with Kubernetes
PDF
Orchestrating Microservices
PDF
Zero downtime deployment of micro-services with Kubernetes
PDF
Embedding WPE WebKit - from Bring-up to Maintenance
PPTX
Tokyo Azure Meetup #29 AKS
PDF
Quo Vadis Netflix Stack?
PDF
2023 October Patch Tuesday
PDF
Security in the FaaS Lane
PDF
Installing Component Pack 6.0.0.6
Blasting Through the Clouds - Automating Cloud Foundry with Concourse CI
Serverless Security: A How-to Guide @ SnowFROC 2019
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
Quebec - 16 November 2022 - Canada CNCF Meetups.pdf
如何让开源软件用得更放心
Running k3s on raspberry pi
Kubernetes for data scientist
KubeCon + CloudNativeCon Barcelona and Shanghai 2019 - Highlights
SQL Days 2019 - Kubernetes 101
Mvp skill saturday ep09 _06072019_azure updates - july 2019
今Serverlessが面白いわけ
Zero-downtime deployment of Micro-services with Kubernetes
Orchestrating Microservices
Zero downtime deployment of micro-services with Kubernetes
Embedding WPE WebKit - from Bring-up to Maintenance
Tokyo Azure Meetup #29 AKS
Quo Vadis Netflix Stack?
2023 October Patch Tuesday
Security in the FaaS Lane
Installing Component Pack 6.0.0.6
Ad

More from Kyohei Mizumoto (8)

PDF
Introduction to telepresence
PDF
Windowsコンテナ入門
PDF
Introduction of cloud native CI/CD on kubernetes
PDF
Deploy Mattermost on AKS
PDF
Kubernetes logging introduction
PDF
Git入門
PDF
Istio service mesh introduction
PDF
Multi cluster management with rancher
Introduction to telepresence
Windowsコンテナ入門
Introduction of cloud native CI/CD on kubernetes
Deploy Mattermost on AKS
Kubernetes logging introduction
Git入門
Istio service mesh introduction
Multi cluster management with rancher

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Cloud computing and distributed systems.
PPTX
sap open course for s4hana steps from ECC to s4
PPT
Teaching material agriculture food technology
PDF
KodekX | Application Modernization Development
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Approach and Philosophy of On baking technology
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Empathic Computing: Creating Shared Understanding
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
sap open course for s4hana steps from ECC to s4
Teaching material agriculture food technology
KodekX | Application Modernization Development
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Approach and Philosophy of On baking technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Empathic Computing: Creating Shared Understanding
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction

Recap of de code 2019

  • 1. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 1/33 Recap of de:code 2019
  • 2. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 2/33 Kyohei Mizumoto(@kyohmizu) C# Software Engineer Interests Docker/Kubernetes Go Security whoami
  • 3. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 3/33 de:code 2019 https://www.microsoft.com/ja-jp/events/decode/2019/default.aspx The technical conference for all IT engineers hosted by Microsoft Held on 29th, 30th May
  • 4. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 4/33 de:code 2019 Most of sessions are about Microsoft Azure Lots of sessions about AKS The number of introduction examples is increasing Their ervices(cloud services especially) are getting sophisticated More simple, more functional
  • 5. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 5/33 What I was interested in Windows Containers Virtual Kubelet Kubernetes-based Event-driven Autoscaling(KEDA) NetApp Services
  • 6. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 6/33 Windows Containers
  • 7. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 7/33 Windows Containers on k8s https://cloudblogs.microsoft.com/opensource/2019/03/25/windows- server-containers-now-supported-kubernetes/ Single Kubernetes cluster can have both Linux nodes and Windows Server nodes
  • 8. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 8/33 Windows Containers on AKS https://docs.microsoft.com/en-us/azure/aks/windows-container-cli Preview feature Multiple nood pools You need to: Install aks-preview CLI extension Add a Windows Server node pool
  • 9. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 9/33 Virtual Kubelet
  • 10. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 10/33 Virtual Kubelet https://github.com/Virtual-Kubelet/Virtual-Kubelet "Kubernetes API on top, programmable back." Allows the nodes to be backed by other services (ACI, AWS Fargate, IoT Edge etc) Enable the extension of the k8s API into serverless container platforms Denoted to CNCF from Microsoft
  • 11. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 11/33 How It Works
  • 12. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 12/33 Providers Alibaba Cloud ECI Provider Azure Container Instances Provider AWS Fargate Provider HashiCorp Nomad Provider OpenStack Zun Provider (Adding a New Provider via the Provider Interface)
  • 13. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 13/33 Virtual Nodes on Azure Portal
  • 14. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 14/33 Virtual Nodes on Azure Portal ACI is added in AKS $ kubectl get node NAME STATUS ROLES AGE -- aks-agentpool-20139558-0 Ready agent 19m aks-agentpool-20139558-1 Ready agent 19m virtual-node-aci-linux Ready agent 17m
  • 15. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 15/33 KEDA
  • 16. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 16/33 https://github.com/kedacore/keda Kubernetes-based Event-driven Autoscaling 0-1 autoscaling Run on both the Cloud and the Edge
  • 17. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 17/33 How It Works
  • 18. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 18/33 How It Works KEDA acts as: an agent to activate and deactivate a deployment to scale to/from zero on no events a Kubernetes metrics server to expose rich event data to the HPA to drive scale out
  • 19. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 19/33 NetApp Services
  • 20. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 20/33 Azure NetApp Files https://cloud.netapp.com/azure-netapp-files/ https://docs.microsoft.com/en-us/azure/azure-netapp-files/
  • 21. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 21/33 NetApp Kubernetes Service https://cloud.netapp.com/kubernetes-service
  • 22. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 22/33 Demo
  • 23. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 23/33 Vertual Kubelet with AKS https://docs.microsoft.com/en-us/azure/aks/virtual-kubelet Install vertual kubelet(Windows + Linux) Deploy Pods on vertual kubelet nodes
  • 24. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 24/33 Before You Begin Register Container Instances feature provider Initialize Helm Service account for RBAC-enabled clusters $ helm init --service-account tiller
  • 25. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 25/33 Install $az aks install-connector --resource-group myResourceGroup --name myAKSCluster --connector-name virtual-kubelet --os-type Both
  • 26. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 26/33 Validate Vertual Kubelet 1 node + 2 virtual kubelet nodes $ kubectl get node NAME STATUS -- aks-agentpool-20139558-0 Ready virtual-kubelet-virtual-kubelet-linux-japaneast Ready virtual-kubelet-virtual-kubelet-windows-japaneast Ready
  • 27. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 27/33 Deploy on Vertual Kubelet Pods for virtual kubelet are deployed on the normal node $ kubectl get po -o wide NAME READY STATUS RESTARTS AGE IP NODE -- pod/virtual-kubelet-linux-japaneast-virtual-kubelet-for-aks-87rd2m5 1/1 Running 0 17m 10.244.0.14 aks-agentpool-20139558-0 pod/virtual-kubelet-windows-japaneast-virtual-kubelet-for-aks-9fzw5 1/1 Running 0 17m 10.244.0.15 aks-agentpool-20139558-0
  • 28. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 28/33 Run Linux Container apiVersion: apps/v1 kind: Deployment metadata: name: aci-helloworld spec: replicas: 1 selector: matchLabels: app: aci-helloworld template: metadata: labels: app: aci-helloworld spec: containers: - name: aci-helloworld image: microsoft/aci-helloworld ports: - containerPort: 80 nodeSelector: beta.kubernetes.io/os: linux kubernetes.io/role: agent type: virtual-kubelet tolerations: - key: virtual-kubelet.io/provider operator: Equal value: azure effect: NoSchedule
  • 29. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 29/33 Run Linux Container The pod is running on the linux virtual kubelet node $ kubectl apply -f vk-linux.yaml deployment.apps/aci-helloworld created $ kubectl get po -o wide NAME READY STATUS RESTARTS AGE IP NODE -- aci-helloworld-657c97d89b-7lnpm 1/1 Running 0 65s 40.81.220.187 virtual-kubelet-virtual-kubelet-linux-japaneast
  • 30. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 30/33 Run Windows Container apiVersion: apps/v1 kind: Deployment metadata: name: nanoserver-iis spec: replicas: 1 selector: matchLabels: app: nanoserver-iis template: metadata: labels: app: nanoserver-iis spec: containers: - name: nanoserver-iis image: microsoft/iis:nanoserver ports: - containerPort: 80 nodeSelector: beta.kubernetes.io/os: windows kubernetes.io/role: agent type: virtual-kubelet tolerations: - key: virtual-kubelet.io/provider operator: Equal value: azure effect: NoSchedule
  • 31. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 31/33 Run Windows Container The pod is running on the windows virtual kubelet node $ kubectl apply -f vk-windows.yaml deployment.apps/nanoserver-iis created $ kubectl get po -o wide NAME READY STATUS RESTARTS AGE IP NODE -- nanoserver-iis-6465dc649f-v7q2x 1/1 Running 0 53s 20.43.88.185 virtual-kubelet-virtual-kubelet-windows-japaneast
  • 32. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 32/33 Access to the Pods Pods on vertual kubelet nodes have public IP address No need to create service resources
  • 33. 2019/6/6 Recap of de:code 2019 127.0.0.1:5500/#1 33/33 Thank you!