ILO မှတစ်ဆင့် HP ဆာဗာများကို စီမံခန့်ခွဲရန်အတွက် Docker ကွန်တိန်နာ

သင် အံ့သြနေပေလိမ့်မည် - Docker အဘယ်ကြောင့် ဤနေရာတွင် ရှိနေသနည်း။ ILO ဝဘ်အင်တာဖေ့စ်သို့ လော့ဂ်အင်ဝင်ပြီး လိုအပ်သလို သင့်ဆာဗာကို သတ်မှတ်ခြင်းနှင့် ပြဿနာကဘာလဲ။
ပြန်လည်ထည့်သွင်းရန် လိုအပ်သော မလိုအပ်သော ဆာဗာဟောင်းအချို့ကို ပေးဆောင်သောအခါတွင် ၎င်းတို့သည် ကျွန်ုပ်အား ပြန်လည်ထည့်သွင်းရန် လိုအပ်သည် (ပြန်လည်ပြင်ဆင်ခြင်းဟုခေါ်သည်)။ ဆာဗာကိုယ်တိုင်က နိုင်ငံရပ်ခြားမှာ တည်ရှိပြီး ရနိုင်တဲ့ တစ်ခုတည်းသောအရာကတော့ ဝဘ်အင်တာဖေ့စ်ပါ။ ထို့ကြောင့်၊ ကျွန်ုပ်သည် အချို့သော command များကိုလုပ်ဆောင်ရန် Virtual Console သို့သွားရပါမည်။ အဲဒါက စခဲ့တာ။
သင်သိသည့်အတိုင်း၊ HP သို့မဟုတ် Dell တွင်ဖြစ်စေ အမျိုးမျိုးသော virtual consoles များအတွက် Java ကို အများအားဖြင့် အသုံးပြုသည်။ အနည်းဆုံးတော့ အရင်ပုံစံအတိုင်းပါပဲ (စနစ်တွေက အရမ်းဟောင်းနေပြီ)။ သို့သော် Firefox နှင့် Chrome သည် ဤအက်ပလီကေးရှင်းများကို ထောက်ပံ့ပေးနေသည်မှာ ကြာပြီဖြစ်ပြီး IcedTea အသစ်သည် အဆိုပါစနစ်များနှင့် အလုပ်မလုပ်ပါ။ ထို့ကြောင့် ရွေးချယ်စရာများစွာ ထွက်ပေါ်လာသည်-

1. သင့်စက်ပေါ်ရှိ ဘရောက်ဆာများနှင့် Java ဗားရှင်းများမှ တိရစ္ဆာန်ရုံကို စတင်တည်ဆောက်ပါ၊ ဤရွေးချယ်မှု မလိုအပ်တော့ပါ။ အမိန့်နှစ်ခုကြောင့် စနစ်အား လှောင်ပြောင်လိုစိတ်မရှိပါ။
2. virtual machine ပေါ်တွင် အတော်လေးဟောင်းနေသည့် အရာတစ်ခုကို ဖွင့်လိုက်ပါ (သင် Java 6 လိုအပ်သည်ဟု စမ်းသပ်တွေ့ရှိခဲ့သည်) နှင့် ၎င်းမှတဆင့် သင်လိုအပ်သမျှကို စီစဉ်သတ်မှတ်ပါ။
3. လုပ်ဖော်ကိုင်ဖက်များစွာသည် တူညီသောပြဿနာကိုကြုံတွေ့ခဲ့ရသောကြောင့် ကွန်တိန်နာတစ်ခုတွင်သာ အမှတ် 2 နှင့် အတူတူပင်ဖြစ်ပြီး ၎င်းတို့ကို Dockerhub ပေါ်ရှိ ကွန်တိန်နာတစ်ခုသို့ လင့်ခ်တစ်ခုသို့ လွှဲပြောင်းရန်မှာ virtual machine image ၊ စကားဝှက်များ စသည်တို့ထက် များစွာပိုမိုလွယ်ကူပါသည်။
(တကယ်တော့ အမှတ် 3 ရပြီးရင် အမှတ် 2 ပဲ ရခဲ့တယ်)
ဒီနေ့ အမှတ် (၃) လုပ်မယ်။

အဓိကအားဖြင့် ပရောဂျက်နှစ်ခုဖြင့် ကျွန်ုပ်အား လှုံ့ဆော်ခံခဲ့ရသည်-
1. docker-baseimage-gui
2. docker-firefox-java
အခြေခံအားဖြင့် ပထမစီမံကိန်း docker-baseimage-gui Docker တွင် ဒက်စတော့အပလီကေးရှင်းများအသုံးပြုရန်အတွက် အသုံးဝင်မှုများနှင့် ဖွဲ့စည်းမှုပုံစံများပါရှိပြီးဖြစ်သည်။ ပုံမှန်အားဖြင့် သင်သည် standard variable များကို သတ်မှတ်ရန် လိုအပ်ပြီး သင်၏ application ကို browser (websocket) သို့မဟုတ် VNC မှတဆင့် ဝင်ရောက်နိုင်မည်ဖြစ်ပါသည်။ ကျွန်ုပ်တို့၏အခြေအနေတွင်၊ ကျွန်ုပ်တို့သည် Firefox နှင့် VNC မှတစ်ဆင့် စတင်မည်ဖြစ်ပြီး၊ ၎င်းသည် websocket မှတစ်ဆင့် အလုပ်မလုပ်ပါ။
ပထမဦးစွာ လိုအပ်သော ပက်ကေ့ဂျ်များ - Java 6 နှင့် IcedTea ကို ထည့်သွင်းကြပါစို့။

RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list &&
apt-get update &&
apt-get -y upgrade &&
apt-get -y install firefox
nano curl
icedtea-6-plugin
icedtea-netx
openjdk-6-jre
openjdk-6-jre-headless
tzdata-java

ယခု သင်လုပ်ရမည့်အရာမှာ ILO interface စာမျက်နှာသို့သွားပြီး သင်၏အသုံးပြုသူအမည်နှင့် စကားဝှက်ကို ရိုက်ထည့်ပါ။ autostart တွင် Firefox ကိုဖွင့်ပါ

RUN bash -c 'echo "exec openbox-session &" >> ~/.xinitrc' &&
bash -c 'echo "firefox ${HILO_HOST}">> ~/.xinitrc' &&
bash -c 'chmod 755 ~/.xinitrc'

HILO_HOST ပတ်၀န်းကျင် ကိန်းရှင်သည် ကျွန်ုပ်တို့၏ ILO အင်တာဖေ့စ်၏ ဝဘ်လိပ်စာပါရှိသည်၊ ဥပမာ၊ myhp.example.com
အကောင့်ဝင်ခြင်းကို အလိုအလျောက်ပြုလုပ်ရန်၊ ခွင့်ပြုချက်ထည့်ကြပါစို့။ ILO သို့ အကောင့်ဝင်ခြင်းသည် JSON session_key ကိုလက်ခံရရှိသောကြောင့် ရလဒ်အနေဖြင့် GET တောင်းဆိုချက်တစ်ခုတွင် သင်ဖြတ်သန်းခဲ့သည်-
HILO_USER နှင့် HILO_PASS ပတ်ဝန်းကျင် ကိန်းရှင်များကို သတ်မှတ်မည်ဆိုပါက session_key ကို curl မှတဆင့် တွက်ချက်ကြပါစို့။

export HOME=/config
export HILO_HOST=${HILO_HOST%%/}
SESSION_KEY=""
data="{"method":"login","user_login":"${HILO_USER}","password":"${HILO_PASS}"}"
if [[ -n "${HILO_USER}" && -n "${HILO_PASS}" ]]; then
    SESSION_KEY=$(curl -k -X POST "${HILO_HOST}/json/login_session" -d "$data" 2>/dev/null | grep -Eo '"session_key":"[^"]+' | sed 's/"session_key":"//')
fi
echo "SESSION_KEY=$SESSION_KEY"
echo $SESSION_KEY > /session_key

ကျွန်ုပ်တို့ docker တွင် session_key ကို မှတ်တမ်းတင်ပြီးသည်နှင့်၊ ကျွန်ုပ်တို့ VNC ကို run နိုင်သည်-

exec x11vnc -forever -create

ယခု ကျွန်ုပ်တို့သည် localhost တွင် port 5900 (သို့မဟုတ် သင့်ရွေးချယ်မှု) ကို VNC မှတစ်ဆင့် ရိုးရိုးရှင်းရှင်းချိတ်ဆက်ပြီး virtual console သို့သွားပါ။
ကုဒ်အားလုံးသည် repository တွင်ရှိသည်။ docker-ilo-client.
ILO သို့ချိတ်ဆက်ရန် အမိန့်အပြည့်အစုံ-

docker run -d --rm --name ilo-client -p 5900:5900 -e HILO_HOST=https://ADDRESS_OF_YOUR_HOST -e HILO_USER=SOME_USERNAME -e HILO_PASS=SOME_PASSWORD sshnaidm/docker-ilo-client

ADDRESS_OF_YOUR_HOST သည် ILO လက်ခံသူအမည်ဖြစ်ပြီး၊ SOME_USERNAME သည် လော့ဂ်အင်ဖြစ်ပြီး၊ SOME_PASSWORD သည် ILO အတွက် စကားဝှက်ဖြစ်သည်။
ထို့နောက် လိပ်စာသို့ VNC client တစ်ခုခုကို ဖွင့်လိုက်ပါ- vnc://localhost:5900
ထပ်လောင်းတောင်းဆိုမှုများနှင့် ဆွဲထုတ်မှုများကို ကြိုဆိုပါသည်။

DELL စက်များ၏ IDRAC အင်တာဖေ့စ်များသို့ ချိတ်ဆက်ရန်အတွက် အလားတူ ပရောဂျက်တစ်ခု ရှိပါသည်။ docker-idrac6.

source: www.habr.com

မှတ်ချက် Add