มาลองทำ Kubernetes บน Windows กัน

ก่อนหน้านี้เราลองทำในฝั่งของ Linux กันมาแล้ว แต่คราวนี้เรามาลองทำในฝั่ง ของ Windows กันดูบ้างดีกว่า

เกริ่นก่อนเลยว่าสำหรับบทความนี้จริงๆ ค่อนข้างจะเผาหน่อยนะครับ ต้องขออภัยด้วยถ้ามีจุดที่ผิดพลาดครับ

เตรียมของกันก่อน

  • Windows 10 Pro x64 หรือ Windows Server 2016
  • Hyper-v และ Container
  • Docker for Windows (ตั้งแต่ 18.03 ขึ้นไป แต่แนะนำที่ 18.06 ครับ)

เริ่มกันเลย…

ติดตั้ง Hyper-V และ Container จากเมนู Turn Windows features on or off ใน Programs and Features

จากนั้นก็ติดตั้ง Chocolatey ซะ (Chocolatey จะเหมือนกับ apt ในฝั่ง linux ครับ) ถ้าใช้ cmd ก็ใช้คำสั่งนี้ (อย่าลืม run as administrator ด้วยนะครับ)

c:\> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

แต่ถ้าใช้ powershell ก็ใช้คำสั่งนี้ครับ

PS c:\> Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

หลังจากติดตั้งเสร็จแล้วให้ปิดแล้วเปิดหน้าต่าง cmd หรือ powershell ขึ้นมาใหม่เพื่อจะได้เรียกใช้คำสั่ง choco เพื่อลงโปรแกรมได้ครับ

… ว่าแต่… ถ้าไม่ลง Chocolatey ได้มั้ย ได้ครับ แค่โหลด Docker for windows จากหน้าเว็บของ Docker หรือจากลิงค์นี้เลยก็ได้ครับ จากนั้นก็ข้ามไปทำตามขั้นตอนต่อจากลง cmder ไปได้เลยครับ

ติดตั้ง cmder ซะ (สำหรับตัวนี้จะเป็น emulator ที่สามารถทำให้เราเรียกใช้งาน console ตัวต่างๆ ได้ เช่น cmd หรือ powershell ได้หลายหน้าต่างครับ)

c:\> choco install cmder -y

หลังจากติดตั้งเสร็จแล้วตัว cmder จะอยู่ที่ C:\tools\cmder ก็ไปเปิดขึ้นมา ซึ่งในการเปิดครั้งแรก ตัวโปรแกรมจะมีการตั้งค่า Path ใน Environment ของ windows เพื่อให้สามารถเรียกใช้งานในครั้งต่อไปได้ง่ายขึ้นครับ

จากนั้นเราก็จะมาติดตั้ง Docker for windows กันต่อด้วยคำสั่ง

PS C:\> choco install docker-for-windows -y

หลังจากติดตั้งเสร็จแล้วจะมี Icon ของ Docker อยู่ที่หน้า Desktop

ให้ดับเบิ้ลคลิกขึ้นมาแล้วจะมีไอคอนแสดงอยู่ตรง System tray

ก็รอจนกว่าจะมีข้อความแจ้งว่า Docker ทำงานแล้ว ดังภาพ

หากติดตั้งครั้งแรกจะมีหน้าต่างนี้ขึ้นมาให้เรา Login เพื่อเอาไว้สำหรับ push image เราขึ้น Docker store ครับ

จากนั้นให้เปลี่ยนเป็น Linux Container ก่อนเพื่อติดตั้งK8S โดยคลิกขวาที่ไอคอนแล้วเลือกคำสั่ง Switch to Linux containers…

รอจน Docker แจ้งว่าสลับเสร็จแล้ว จากนั้นก็เข้าที่คำสั่ง Settings เพื่อเข้าสู่ขั้นตอนติดตั้ง K8S โดยในตอนนี้จะมีเมนู Kubernetes แสดงขึ้นมา (หากไม่สลับเป็น Linux จะไม่มีเมนูนี้แสดงขึ้นมา)

ให้เลือกตามภาพข้างบนแล้วจากนั้นคลิกที่ Apply เพื่อทำการติดตั้ง และจะมีหน้าต่างยืนยันการติดตั้งแสดงขึ้นมาดังภาพ ก็ให้คลิกที่ Install ไปเลยครับ

ต่อจากนั้นก็นั่งรอไปเรื่อยๆ จนกว่าจะเสร็จครับ

หากไม่มีปัญหาอะไร ตรงมุมซ้ายล่างจะมีไอคอนของ kubernetes ขึ้นมาแบบนี้ครับ

หลังจากติดตั้งเสร็จแล้ว ขั้นตอนต่อไปก็จะเป็นการติดตั้ง Dashboard ของ K8S กัน (สำหรับตัว Docker for windows เราจะไม่ได้ทำการสร้าง pods เหมือนกับฝั่ง Linux เพราะงั้นเลยข้ามไปที่ Dashboard กันเลยครับ)

เริ่มด้วยการ create dashboard ด้วยคำสั่ง

PS C:\> kubectl create -f https://raw.githubusercontent.com/VatthanachaiW/kubernete-config/master/kubernetes-dashboard.yaml

จากนั้นก็มาลง heapster กันต่อ ด้วยคำสั่ง

PS C:\> kubectl create -f https://raw.githubusercontent.com/VatthanachaiW/kubernete-config/master/kube-heapster-addon.yaml

มาทำที่เก็บข้อมูล statistic ด้วยตัว influxdb กันต่อ

PS C:\> kubectl create -f https://raw.githubusercontent.com/VatthanachaiW/kubernete-config/master/influxdb.yaml

จากนั้นก็มาทำ cluster ของตัว heapster กันด้วยคำสั่ง

PS C:\> kubectl create -f https://raw.githubusercontent.com/VatthanachaiW/kubernete-config/master/heapster.yaml

จากนั้นก็ใช้คำสั่งนี้เพื่อเช็คว่า ทุกอย่างทำงานปกติหรือเปล่า ซึ่งทุกอย่างก็จะแจ้งสถานะว่า Running ดังภาพ

PS C:\> kubectl get pods --all-namespaces

หลังจากทุกอย่างเสร็จแล้ว เราก็จะใช้คำสั่งนี้เพื่อเข้าหน้า Dashboard กัน

PS C:\> kubectl proxy

(สำหรับ port ที่จะเข้าใช้งานในแต่ละเครื่องอาจจะไม่เหมือนกันครับ)

ต่อจากนั้นเราก็เข้าหน้า Dashboard ผ่านทาง localhost โดย Address จะเป็นดังนี้

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login

แล้วจะเจอหน้าจอ Login ของ Kubernetes Dashboard ดังนี้ ก็ได้คลิกที่ Skip เพื่อเข้าหน้าหลักได้เลยครับ

หลังจากนั้นก็จะเข้าหน้า Dashboard ซึ่งจะมีลักษณะแบบนี้ครับ

สำหรับขั้นตอนการทำ Kubernetes บน Windows ก็มีเพียงแค่นี้ครับ หวังว่าพอจะมีประโยชน์สำหรับคนที่ต้องการศึกษานะครับ

เพิ่มเติมอีกนิดครับ สามารถ Switch ไปใช้ Windows Container ได้ตามปกติครับและสามารถใช้ K8S ได้พร้อมกันครับ

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
วัฒนชัย วงศ์ประเสริฐ

วัฒนชัย วงศ์ประเสริฐ

Rogue Planet

More from Medium

Registering clusters in Rancher with Terraform

Does Kubernetes deliver on its promise of portability?

K8s DR in GCP using Velero

Kubernetes — Create user with limited access