ILO เชฎเชพเชฐเชซเชคเซ‡ HP เชธเชฐเซเชตเชฐเซเชธเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‹เช•เชฐ เช•เชจเซเชŸเซ‡เชจเชฐ

เชคเชฎเซ‡ เช•เชฆเชพเชš เช†เชถเซเชšเชฐเซเชฏ เชชเชพเชฎเซ€ เชฐเชนเซเชฏเชพ เชนเชถเซ‹ - เชกเซ‹เช•เชฐ เช…เชนเซ€เช‚ เชถเชพ เชฎเชพเชŸเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡? ILO เชตเซ‡เชฌ เชˆเชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ เชฒเซ‹เช—เชˆเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชจเซ‡ เชคเชฎเชพเชฐเชพ เชธเชฐเซเชตเชฐเชจเซ‡ เชœเชฐเซ‚เชฐ เชฎเซเชœเชฌ เชธเซ‡เชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพ เชถเซเช‚ เช›เซ‡?
เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เช“เช เชฎเชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชœเซ‚เชจเชพ เชฌเชฟเชจเชœเชฐเซ‚เชฐเซ€ เชธเชฐเซเชตเชฐเซเชธ เช†เชชเซเชฏเชพ เชคเซเชฏเชพเชฐเซ‡ เชฎเชจเซ‡ เชคเซ‡ เชœ เชฒเชพเช—เซเชฏเซเช‚ เชœเซ‡ เชฎเชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เชœเซ‡เชจเซ‡ เชชเซเชจเชƒเชชเซเชฐเซ‹เชตเชฟเชเชจ เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡). เชธเชฐเซเชตเชฐ เชชเซ‹เชคเซ‡ เชตเชฟเชฆเซ‡เชถเชฎเชพเช‚ เชธเซเชฅเชฟเชค เช›เซ‡, เช‰เชชเชฒเชฌเซเชง เชเช•เชฎเชพเชคเซเชฐ เชตเชธเซเชคเซ เชตเซ‡เชฌ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เช›เซ‡. เช เซ€เช• เช›เซ‡, เชคเซ‡ เชฎเซเชœเชฌ, เชฎเชพเชฐเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช†เชฆเซ‡เชถเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ เชœเชตเซเช‚ เชชเชกเซเชฏเซเช‚. เชคเซเชฏเชพเช‚ เชœ เชคเซ‡เชจเซ€ เชถเชฐเซ‚เช†เชค เชฅเชˆ.
เชœเซ‡เชฎ เชคเชฎเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹, เชœเชพเชตเชพ เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เช•เชจเซเชธเซ‹เชฒ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡, เชชเช›เซ€ เชญเชฒเซ‡ เชคเซ‡ HP เช…เชฅเชตเชพ เชกเซ‡เชฒเชฎเชพเช‚ เชนเซ‹เชฏ. เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเชชเชฐเชพเชฏ เช›เซ‡ (เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎเซ‹ เช–เซ‚เชฌ เชœเซ‚เชจเซ€ เช›เซ‡). เชชเชฐเช‚เชคเซ เชซเชพเชฏเชฐเชซเซ‹เช•เซเชธ เช…เชจเซ‡ เช•เซเชฐเซ‹เชฎเซ‡ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชชเชนเซ‡เชฒเชพ เช† เชเชชเซเชฒเซ‡เชŸเซเชธเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเซ€ เชฆเซ€เชงเซเช‚ เชนเชคเซเช‚ เช…เชจเซ‡ เชจเชตเซ€ IcedTea เช† เชธเชฟเชธเซเชŸเชฎเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชคเซ‡เชฅเซ€, เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช‰เชญเชฐเซ€ เช†เชตเซเชฏเชพ:

1. เชคเชฎเชพเชฐเชพ เชฎเชถเซ€เชจ เชชเชฐ เชฌเซเชฐเชพเช‰เชเชฐเซเชธ เช…เชจเซ‡ เชœเชพเชตเชพ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฅเซ€ เชชเซเชฐเชพเชฃเซ€ เชธเช‚เช—เซเชฐเชนเชพเชฒเชฏ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹, เช† เชตเชฟเช•เชฒเซเชชเชจเซ€ เชนเชตเซ‡ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชเช•เชพเชฆ เชฌเซ‡ เช†เชฆเซ‡เชถเซ‹ เช–เชพเชคเชฐ เชธเชฟเชธเซเชŸเชฎเชจเซ€ เชฎเชœเชพเช• เช‰เชกเชพเชตเชตเชพเชจเซ€ เชˆเชšเซเช›เชพ เชจเชฅเซ€.
2. เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชชเชฐ เช•เช‚เชˆเช• เชœเซเชจเซเช‚ เชฒเซ‹เช‚เชš เช•เชฐเซ‹ (เชคเซ‡ เชชเซเชฐเชพเชฏเซ‹เช—เชฟเช• เชฐเซ€เชคเซ‡ เชฌเชนเชพเชฐ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชคเชฎเชจเซ‡ Java 6 เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡) เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฆเซเชตเชพเชฐเชพ เชคเชฎเชจเซ‡ เชœเซ‹เชˆเชคเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เช—เซ‹เช เชตเซ‹.
3. เชชเซ‹เชˆเชจเซเชŸ 2 เชœเซ‡เชตเซเช‚ เชœ, เชฎเชพเชคเซเชฐ เชเช• เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เช˜เชฃเชพ เชธเชพเชฅเซ€เชฆเชพเชฐเซ‹เช เชธเชฎเชพเชจ เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชฌเชงเชพ เชชเชพเชธเชตเชฐเซเชกเซเชธ เชตเช—เซ‡เชฐเซ‡ เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจ เชˆเชฎเซ‡เชœ เช•เชฐเชคเชพเช‚ เชคเซ‡เชฎเชจเซ‡ เชกเซ‹เช•เชฐเชนเชฌ เชชเชฐเชจเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชฎเชพเช‚ เชฒเชฟเช‚เช• เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเซ€ เชตเชงเซ เชธเชฐเชณ เช›เซ‡.
(เชนเช•เซ€เช•เชคเชฎเชพเช‚, เชนเซเช‚ เชชเซ‹เชˆเชจเซเชŸ 3 เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชœ เชชเซ‹เชˆเชจเซเชŸ 2 เชชเชฐ เชชเชนเซ‹เช‚เชšเซเชฏเซ‹)
เช†เชœเซ‡ เช†เชชเชฃเซ‡ เชชเซ‹เชˆเชจเซเชŸ 3 เช•เชฐเซ€เชถเซเช‚.

เชนเซเช‚ เชฎเซเช–เซเชฏเชคเซเชตเซ‡ เชฌเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเซ‡เชฐเชฟเชค เชนเชคเซ‹:
1. docker-baseimage-gui
2. เชกเซ‹เช•เชฐ-เชซเชพเชฏเชฐเชซเซ‹เช•เซเชธ-เชœเชพเชตเชพ
เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชชเซเชฐเชฅเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ docker-baseimage-gui เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชกเซ‹เช•เชฐเชฎเชพเช‚ เชกเซ‡เชธเซเช•เชŸเซ‹เชช เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เช…เชจเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชธเชฎเชพเชตเซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเชฎเชพเชฐเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชšเชฒเซ‹เชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฌเซเชฐเชพเช‰เชเชฐ (เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ) เช…เชฅเชตเชพ VNC เชฆเซเชตเชพเชฐเชพ เชเช•เซเชธเซ‡เชธเชฟเชฌเชฒ เชนเชถเซ‡. เช…เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เชฎเซ‡ เชซเชพเชฏเชฐเชซเซ‹เช•เซเชธ เช…เชจเซ‡ VNC เชฆเซเชตเชพเชฐเชพ เชฒเซ‹เชจเซเชš เช•เชฐเซ€เชถเซเช‚; เชคเซ‡ เชตเซ‡เชฌเชธเซ‹เช•เซ‡เชŸ เชฆเซเชตเชพเชฐเชพ เช•เชพเชฎ เช•เชฐเชคเซเช‚ เชจเชฅเซ€.
เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชœเชฐเซ‚เชฐเซ€ เชชเซ‡เช•เซ‡เชœเซ‹ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เช - 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 เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชชเซ‡เชœ เชชเชฐ เชœเชตเชพเชจเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฐเซเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชจเชพเชฎ เช…เชจเซ‡ เชชเชพเชธเชตเชฐเซเชก เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ‹ เช›เซ‡. เชซเชพเชฏเชฐเชซเซ‹เช•เซเชธเชจเซ‡ เช“เชŸเซ‹เชธเซเชŸเชพเชฐเซเชŸเชฎเชพเช‚ เชฒเซ‹เช‚เชš เช•เชฐเซ‹:

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 เชฎเชพเช‚ เชฒเซ‹เช—เชฟเชจ เชจเชฟเชฏเชฎเชฟเชค POST เชตเชฟเชจเช‚เชคเซ€ เชธเชพเชฅเซ‡ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡เชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชคเชฎเชจเซ‡ JSON session_key เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡, เชœเซ‡ เชชเช›เซ€ เชคเชฎเซ‡ GET เชตเชฟเชจเช‚เชคเซ€เชฎเชพเช‚ เชชเชพเชธ เช•เชฐเซ‹ เช›เซ‹:
เชœเซ‹ HILO_USER เช…เชจเซ‡ HILO_PASS เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡เชฒ เชนเซ‹เชฏ เชคเซ‹ curl เชฆเซเชตเชพเชฐเชพ session_key เชจเซ€ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ€เช:

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

เชเช•เชตเชพเชฐ เช…เชฎเซ‡ เชกเซ‹เช•เชฐเชฎเชพเช‚ เชธเซ‡เชถเชจ_เช•เซ€ เชฐเซ‡เช•เซ‹เชฐเซเชก เช•เชฐเซ€ เชฒเซ€เชงเชพ เชชเช›เซ€, เช…เชฎเซ‡ VNC เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช:

exec x11vnc -forever -create

เชนเชตเซ‡ เช…เชฎเซ‡ เชซเช•เซเชค VNC เชฎเชพเชฐเชซเชคเซ‡ เชฒเซ‹เช•เชฒเชนเซ‹เชธเซเชŸ เชชเชฐ เชชเซ‹เชฐเซเชŸ 5900 (เช…เชฅเชตเชพ เชคเชฎเชพเชฐเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเชพ เช•เซ‹เชˆเชชเชฃ เช…เชจเซเชฏ) เชฅเซ€ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ เชœเชˆเช เช›เซ€เช.
เชฌเชงเชพ เช•เซ‹เชก เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚ เช›เซ‡ 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 เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชธเชฐเชจเชพเชฎเชพเช‚ เชชเชฐ เชฒเซ‹เช‚เชš เช•เชฐเซ‹: vnc://localhost:5900
เช‰เชฎเซ‡เชฐเชพเช“ เช…เชจเซ‡ เชชเซเชฒ เชตเชฟเชจเช‚เชคเซ€เช“, เช…เชฒเชฌเชคเซเชค, เช†เชตเช•เชพเชฐเซเชฏ เช›เซ‡.

DELL เชฎเชถเซ€เชจเซ‹เชจเชพ IDRAC เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡: docker-idrac6.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹