ILO เจฆเฉเจ†เจฐเจพ HP เจธเจฐเจตเจฐเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจกเฉŒเจ•เจฐ เจ•เฉฐเจŸเฉ‡เจจเจฐ

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

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

เจฎเฉˆเจ‚ เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเฉ‹ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเฉ‡เจฐเจฟเจค เจธเฉ€:
1. docker-baseimage-gui
2. docker-firefox-java
เจ…เจธเจฒ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 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 เจธเฉˆเจธเจผเจจ_เจ•เฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเจธเจจเฉ‚เฉฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• GET เจฌเฉ‡เจจเจคเฉ€ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹:
เจšเจฒเฉ‹ เจ•เจฐเจฒ เจฆเฉเจ†เจฐเจพ เจธเฉˆเจธเจผเจจ_เจ•เฉ€ เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเฉ€เจ เจœเฉ‡เจ•เจฐ HILO_USER เจ…เจคเฉ‡ HILO_PASS เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ:

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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹