Cynhwysydd docwr ar gyfer rheoli gweinyddwyr HP trwy'r ILO

Mae'n debyg eich bod yn pendroni - pam mae Docker yn bodoli yma? Beth yw'r broblem gyda mewngofnodi i ryngwyneb gwe'r ILO a gosod eich gweinydd yn Γ΄l yr angen?
Dyna beth roeddwn i'n ei feddwl pan wnaethon nhw roi cwpl o hen weinyddion diangen i mi yr oedd angen i mi eu hailosod (yr hyn a elwir yn ailddarpariaeth). Mae'r gweinydd ei hun wedi'i leoli dramor, yr unig beth sydd ar gael yw'r rhyngwyneb gwe. Wel, yn unol Γ’ hynny, roedd yn rhaid i mi fynd i'r Consol Rhithwir i redeg rhai gorchmynion. Dyna lle y dechreuodd.
Fel y gwyddoch, mae Java yn cael ei ddefnyddio fel arfer ar gyfer gwahanol fathau o gonsolau rhithwir, boed yn HP neu Dell. O leiaf dyna fel yr arferai fod (ac mae'r systemau'n hen iawn). Ond rhoddodd Firefox a Chrome y gorau i gefnogi'r rhaglennig hyn amser maith yn Γ΄l, ac nid yw'r IcedTea newydd yn gweithio gyda'r systemau hyn. Felly, daeth sawl opsiwn i'r amlwg:

1. Dechreuwch adeiladu sw o borwyr a fersiynau Java ar eich peiriant, nid oedd angen yr opsiwn hwn mwyach. Nid oes unrhyw awydd i watwar y system er mwyn cwpl o orchmynion.
2. Lansio rhywbeth eithaf hen ar y peiriant rhithwir (trodd allan yn arbrofol bod angen Java 6 arnoch) a ffurfweddu popeth sydd ei angen arnoch trwyddo.
3. Yr un peth Γ’ phwynt 2, dim ond mewn cynhwysydd, ers i nifer o gydweithwyr ddod ar draws yr un broblem ac mae'n llawer haws eu trosglwyddo dolen i gynhwysydd ar Dockerhub na delwedd peiriant rhithwir, gyda'r holl gyfrineiriau, ac ati.
(Mewn gwirionedd, dim ond pwynt 3 y cyrhaeddais ar Γ΄l i mi wneud pwynt 2)
Gwnawn bwynt 3 heddiw.

Cefais fy ysbrydoli’n bennaf gan ddau brosiect:
1. docwr-baseimage-gui
2. docwr-firefox-java
Yn y bΓ΄n y prosiect cyntaf docwr-baseimage-gui eisoes yn cynnwys cyfleustodau a chyfluniadau ar gyfer rhedeg cymwysiadau bwrdd gwaith yn Docker. Yn nodweddiadol mae angen i chi ddiffinio newidynnau safonol a bydd eich cais yn hygyrch trwy borwr (websocket) neu VNC. Yn ein hachos ni, byddwn yn lansio trwy Firefox a VNC; ni weithiodd trwy websocket.
Yn gyntaf, gadewch i ni osod y pecynnau angenrheidiol - Java 6 ac 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

Nawr y cyfan sy'n rhaid i chi ei wneud yw mynd i dudalen rhyngwyneb yr ILO a nodi'ch enw defnyddiwr a'ch cyfrinair. Lansio Firefox yn autostart:

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

Mae newidyn amgylchedd HILO_HOST yn cynnwys cyfeiriad gwe ein rhyngwyneb ILO, er enghraifft myhp.example.com
I awtomeiddio'r mewngofnodi, gadewch i ni ychwanegu awdurdodiad. Mae mewngofnodi i ILO yn digwydd gyda chais POST rheolaidd, ac o ganlyniad byddwch yn derbyn allwedd JSON session_key, y byddwch wedyn yn trosglwyddo cais GET i mewn:
Gadewch i ni gyfrifo session_key trwy curl os yw'r newidynnau amgylchedd HILO_USER a HILO_PASS wedi'u diffinio:

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

Unwaith y byddwn wedi recordio'r sesiwn_key yn y docwr, gallwn lansio VNC:

exec x11vnc -forever -create

Nawr rydym yn syml yn cysylltu trwy VNC Γ’ phorthladd 5900 (neu unrhyw un arall o'ch dewis) ar localhost a mynd i'r consol rhithwir.
Mae'r holl god yn yr ystorfa docwr-ilo-cleient.
Gorchymyn llawn i gysylltu ag 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

lle ADDRESS_OF_YOUR_HOST yw enw gwesteiwr yr ILO, SOME_USERNAME yw'r mewngofnodi ac, yn unol Γ’ hynny, SOME_PASSWORD y cyfrinair ar gyfer ILO.
Ar Γ΄l hynny, lansiwch unrhyw gleient VNC i'r cyfeiriad: vnc://localhost:5900
Wrth gwrs, mae croeso i ychwanegiadau a cheisiadau tynnu.

Mae prosiect tebyg yn bodoli ar gyfer cysylltu Γ’ rhyngwynebau IDRAC peiriannau DELL: docwr-idrac6.

Ffynhonnell: hab.com

Ychwanegu sylw