Docker kwandon don sarrafa sabar HP ta ILO

Wataƙila kuna mamaki - me yasa Docker ya wanzu a nan? Menene matsalar shiga ILO web interface da saita sabar ku kamar yadda ake bukata?
Abin da na yi tunani ke nan lokacin da suka ba ni wasu tsoffin sabobin da ba dole ba ne waɗanda nake buƙatar sake sakawa (abin da ake kira reprovision). Ita kanta uwar garken tana ƙetare, kawai abin da ake samu shine haɗin yanar gizo. To, saboda haka, dole ne in je Virtual Console don gudanar da wasu umarni. Daga nan aka fara.
Kamar yadda ka sani, Java yawanci ana amfani da shi don nau'ikan consoles iri-iri, ko a cikin HP ko Dell. Aƙalla wannan shine yadda ya kasance (kuma tsarin sun tsufa sosai). Amma Firefox da Chrome sun daina tallafawa waɗannan applets tuntuni, kuma sabon IcedTea baya aiki tare da waɗannan tsarin. Don haka, zaɓuɓɓuka da yawa sun fito:

1. Fara gina gidan zoo daga masu bincike da nau'ikan Java akan injin ku, ba a buƙatar wannan zaɓin. Babu sha'awar yin izgili da tsarin saboda wasu umarni biyu.
2. Kaddamar da wani abu quite tsohon a kan kama-da-wane inji (ya nuna experimentally cewa kana bukatar Java 6) da kuma saita duk abin da kuke bukata ta hanyar da shi.
3. Daidai da batu 2, kawai a cikin akwati, tun da yawancin abokan aiki sun fuskanci matsala iri ɗaya kuma yana da sauƙi don canja wurin su hanyar haɗi zuwa akwati a kan Dockerhub fiye da hoton inji mai mahimmanci, tare da duk kalmomin shiga, da dai sauransu.
(A zahiri, na sami maki 3 ne kawai bayan na yi aya ta 2)
Za mu yi aya ta 3 a yau.

Aiyuka guda biyu ne suka zaburar da ni:
1. docker-baseimage-gui
2. docker-firefox-java
Ainihin aikin farko docker-baseimage-gui ya riga ya ƙunshi kayan aiki da daidaitawa don gudanar da aikace-aikacen tebur a cikin Docker. Yawanci kuna buƙatar ayyana daidaitattun masu canji kuma aikace-aikacenku za su sami dama ta hanyar mai lilo (websocket) ko VNC. A cikin yanayinmu, za mu ƙaddamar ta hanyar Firefox da VNC; bai yi aiki ta hanyar yanar gizo ba.
Da farko, bari mu shigar da buƙatun da suka dace - Java 6 da 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

Yanzu abin da za ku yi shi ne zuwa shafin yanar gizon ILO sannan ku shigar da sunan mai amfani da kalmar wucewa. Kaddamar da Firefox a cikin autostart:

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

Maɓallin yanayi na HILO_HOST ya ƙunshi adireshin gidan yanar gizon mu na ILO, misali myhp.example.com
Don shigar da atomatik shiga, bari mu ƙara izini. Shiga zuwa ILO yana faruwa tare da buƙatun POST na yau da kullun, sakamakon haka kuna karɓar maɓalli na JSON, wanda sai ku wuce cikin buƙatun GET:
Bari mu ƙididdige maɓalli na session_key ta hanyar curl idan HILO_USER da HILO_PASS masu canjin yanayi an ayyana su:

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

Da zarar mun yi rikodin session_key a docker, za mu iya ƙaddamar da VNC:

exec x11vnc -forever -create

Yanzu muna kawai haɗi ta hanyar VNC zuwa tashar jiragen ruwa 5900 (ko duk wani zaɓinku) akan localhost kuma je zuwa na'urar wasan bidiyo mai kama-da-wane.
Duk lambar tana cikin ma'ajiyar docker-ilo-abokin ciniki.
Cikakken umarni don haɗi zuwa 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

inda ADDRESS_OF_YOUR_HOST shine sunan mai masaukin ILO, SAME_USERNAME shine shiga kuma, saboda haka, SAME_PASSWORD kalmar sirri ta ILO.
Bayan haka, kawai kaddamar da kowane abokin ciniki na VNC zuwa adireshin: vnc://localhost:5900
Ƙari da buƙatun ja, ba shakka, maraba ne.

Akwai irin wannan aikin don haɗawa da mu'amalar IDRAC na injinan DELL: docker-idrac6.

source: www.habr.com

Add a comment