ตั้งค่า OpenNebula KVM Contextualization บน ubuntu 18.04 server

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 29-11-2561
ดูแลโดย WIBOON

  • เพื่อให้ VM ที่สร้างได้มีชื่อ hostname ที่แตกต่าง
  • ในกรณีที่ใช้ image จาก Apps ใน MarketPlaces จะไม่มี username มาให้ การเข้าใช้ต้องทำผ่าน ssh ด้วย ssh key หรือ เพิ่ม context username กับ password จึงจะเข้าทางหน้า console ได้
  • ทำให้การ remote ssh เข้าไปทำงาน VM ใช้ ssh key แทนการใช้ username ได้


ขั้นตอนทำที่ VM ที่จะทำ KVM Contextualization
1.เปิด VM ที่ติดตั้ง ubuntu ไว้แล้ว (i.e. New-Ubuntu-18.04)
ทำคำสั่ง

wget https://github.com/OpenNebula/addon-context-linux/releases/download/v5.6.0/one-context_5.6.0-1.deb
sudo apt purge -y cloud-init
sudo dpkg -i one-context_*deb || sudo apt-get install -fy

2.ปิด VM
(เมื่อทำผ่านขั้นตอนนี้ ใน VM ถ้ามีไฟล์ /etc/netplan/01-netcfg.yaml จะถูกลบ)

ขั้นตอนทำที่เครื่อง OpenNebula Front-end
1.ตั้งค่า ONEGATE_ENDPOINT โดยแก้ไขค่าในไฟล์ oned.conf นี้

sudo nano /etc/one/oned.conf

บรรทัดที่ 916

#ONEGATE_ENDPOINT = "http://frontend:5030"
ONEGATE_ENDPOINT = “http://192.168.6.18:5030”

2.แก้ไขค่า :host: ให้เป็น 0.0.0.0 ในไฟล์ onegate-server.conf นี้

sudo nano /etc/one/onegate-server.conf

บรรทัดที่ 25

# Server Configuration
#
#:host: 127.0.0.1
:host: 0.0.0.0
:port: 5030

3.ถ้า owner ยังไม่ถูกต้อง ให้ทำคำสั่งนี้

sudo chown oneadmin:oneadmin /var/log/one/onegate.*

4.Restart service

sudo systemctl restart opennebula.service
sudo systemctl status opennebula.service
sudo systemctl restart opennebula-gate.service
sudo systemctl status opennebula-gate.service

5.ทำ ssh key ของ user oneadmin
เข้าเป็น user oneadmin

sudo su - oneadmin

ทำคำสั่งนี้

cat .ssh/id_rsa.pub

แสดงข้อมูล

ssh-rsa AAAfdks;flkdsk;flks;flks;lfksd;lfk;sdkf;ksd; oneadmin@one

คัดลอก string ทั้งหมดเพื่อจะนำไปใส่ในหน้าเว็บ OpenNebula Sunstone

7.ออกจาก user oneadmin

exit

ขั้นตอนทำที่หน้าเว็บ OpenNebula Sunstone
1.เมนู Settings (ซ้าย) > เลือกแท็บ Auth
นำ string ที่คัดลอกไว้นั้นมาวางในช่อง Public SSH Key

2.เมนู Template > เลือกเมนู VMs > เลือกรายการ VM Template ที่จะตั้งค่า

3.คลิกปุ่ม Update > คลิกแท็บ Context
-ที่รายการ Configuration ให้คลิกเลือกเพิ่มตัวเลือก Add OneGate token
ตัวเลือกที่ใช้อีก 2 ตัว (ค่า default) คือ Add SSH contextualization และ Add Network contextualization
-ที่รายการ Custom vars ให้คลิก + เพิ่ม Key ตามต้องการ
ตัวอย่างเช่น ต้องการให้ VM มีชื่อ hostname ก็ใช้ key คือ SET_HOSTNAME และใส่ Value เช่น ubuntu-vm-$VMID เป็นต้น
4.เสร็จแล้วคลิกปุ่ม Update

References: