Docker thawv rau tswj HP servers ntawm ILO

Tej zaum koj yuav xav tsis thoob - vim li cas Docker nyob ntawm no? Dab tsi yog qhov teeb meem nrog kev nkag mus rau hauv ILO web interface thiab teeb tsa koj lub server raws li xav tau?
Qhov ntawd yog qhov kuv xav thaum lawv muab kuv ob peb lub qub tsis tsim nyog servers uas kuv xav tau rov nruab (dab tsi yog hu ua reprovision). Tus neeg rau zaub mov nws tus kheej nyob txawv teb chaws, tib yam khoom muaj yog lub web interface. Zoo, raws li, kuv yuav tsum mus rau Virtual Console kom khiav qee cov lus txib. Qhov ntawd yog qhov pib.
Raws li koj paub, Java feem ntau yog siv rau ntau hom virtual consoles, txawm nyob hauv HP lossis Dell. Tsawg kawg yog qhov nws tau ua li cas (thiab cov tshuab qub qub). Tab sis Firefox thiab Chrome tau tso tseg kev txhawb nqa cov applets ntev dhau los, thiab IcedTea tshiab tsis ua haujlwm nrog cov tshuab no. Yog li ntawd, ntau qhov kev xaiv tau tshwm sim:

1. Pib tsim lub vaj tsiaj los ntawm browsers thiab Java versions ntawm koj lub tshuab, qhov kev xaiv no tsis xav tau ntxiv lawm. Tsis muaj lub siab xav thuam lub system rau lub hom phiaj ntawm ob peb cov lus txib.
2. Tua tawm ib yam dab tsi qub ntawm lub tshuab virtual (nws tig tawm sim tias koj xav tau Java 6) thiab teeb tsa txhua yam koj xav tau los ntawm nws.
3. Zoo ib yam li cov ntsiab lus 2, tsuas yog nyob rau hauv ib lub thawv, txij li ntau tus npoj yaig ntsib cov teeb meem tib yam thiab nws yooj yim dua los hloov lawv qhov txuas mus rau lub thawv ntawm Dockerhub dua li cov duab tshuab virtual, nrog rau tag nrho cov passwords, thiab lwm yam.
(Qhov tseeb, kuv tsuas tau txais point 3 tom qab kuv ua point 2)
Peb yuav ua point 3 hnub no.

Kuv tau txais kev tshoov siab los ntawm ob txoj haujlwm:
1. docker-baseimage-gui
2. docker-firefox-java
Yeej yog thawj qhov project docker-baseimage-gui twb muaj cov khoom siv hluav taws xob thiab kev teeb tsa rau kev khiav cov ntawv thov desktop hauv Docker. Feem ntau koj yuav tsum tau txhais cov qauv hloov pauv thiab koj daim ntawv thov yuav nkag tau los ntawm browser (websocket) lossis VNC. Hauv peb rooj plaub, peb yuav tso tawm ntawm Firefox thiab VNC; nws tsis ua haujlwm ntawm websocket.
Ua ntej, cia peb nruab cov pob khoom tsim nyog - Java 6 thiab 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

Tam sim no txhua yam koj tau ua yog mus rau nplooj ntawv ILO interface thiab sau koj tus username thiab password. Tua tawm Firefox hauv autostart:

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

Lub HILO_HOST ib puag ncig hloov pauv muaj lub vev xaib chaw nyob ntawm peb ILO interface, piv txwv li myhp.example.com
Txhawm rau automate tus ID nkag mus, cia peb ntxiv kev tso cai. Nkag mus rau ILO tshwm sim nrog kev thov POST tsis tu ncua, vim tias koj tau txais JSON session_key, uas koj tom qab ntawd dhau ntawm GET thov:
Cia peb suav session_key ntawm curl yog HILO_USER thiab HILO_PASS ib puag ncig hloov pauv tau txhais:

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

Thaum peb tau sau cov session_key hauv docker, peb tuaj yeem khiav VNC:

exec x11vnc -forever -create

Tam sim no peb tsuas txuas ntawm VNC mus rau chaw nres nkoj 5900 (los yog lwm yam ntawm koj xaiv) ntawm localhost thiab mus rau lub console virtual.
Tag nrho cov code yog nyob rau hauv lub repository docker-ilo-neeg siv.
Tag nrho cov lus txib kom txuas rau 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

qhov twg ADDRESS_OF_YOUR_HOST yog ILO tus tswv lub npe, SOME_USERNAME yog tus ID nkag mus thiab, raws li, SOME_PASSWORD tus password rau ILO.
Tom qab ntawd, tsuas yog tso tawm ib tus neeg siv VNC rau qhov chaw nyob: vnc://localhost:5900
Ntxiv thiab rub thov, tau kawg, txais tos.

Ib txoj haujlwm zoo sib xws muaj rau kev txuas rau IDRAC interfaces ntawm DELL cov cav tov: docker-idrac 6.

Tau qhov twg los: www.hab.com

Ntxiv ib saib