ILO рджреНрд╡рд╛рд░реЗ HP рд╕рд░реНрд╡реНрд╣рд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░

рддреБрдореНрд╣реА рдХрджрд╛рдЪрд┐рдд рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЕрд╕рд╛рд▓ - рдбреЙрдХрд░ рдЗрдереЗ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗрдд? ILO рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рд▓реЙрдЧ рдЗрди рдХрд░рдгреНрдпрд╛рдд рдЖрдгрд┐ рддреБрдордЪрд╛ рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╡рд╢реНрдпрдХрддреЗрдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдд рдХрд╛рдп рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ?
рдорд▓рд╛ рддреЗрдЪ рд╡рд╛рдЯрд▓реЗ рдЬреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдВрдиреА рдорд▓рд╛ рдХрд╛рд╣реА рдЬреБрдиреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд░реНрд╡реНрд╣рд░ рджрд┐рд▓реЗ рдЬреЗ рдорд▓рд╛ рдкреБрдиреНрд╣рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЬреНрдпрд╛рд▓рд╛ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдореНрд╣рдгрддрд╛рдд). рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрд╡рддрдГрдЪ рдкрд░рджреЗрд╢рд╛рдд рд╕реНрдерд┐рдд рдЖрд╣реЗ, рдлрдХреНрдд рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ. рдмрд░рдВ, рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдорд▓рд╛ рдХрд╛рд╣реА рдХрдорд╛рдВрдбреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рд╡рд░ рдЬрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рддрд┐рдереВрдирдЪ рд╕реБрд░реБрд╡рд╛рдд рдЭрд╛рд▓реА.
рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗрдЪ рдХреА, Java рд╕рд╣рд╕рд╛ HP рдХрд┐рдВрд╡рд╛ Dell рдордзреАрд▓ рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ. рдХрдореАрддрдХрдореА рддреЗ рдЕрд╕реЗрдЪ рд╣реЛрддреЗ (рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо рдЦреВрдк рдЬреБрдиреНрдпрд╛ рдЖрд╣реЗрдд). рдкрд░рдВрддреБ рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдЖрдгрд┐ рдХреНрд░реЛрдордиреЗ рдпрд╛ рдНрдкрд▓реЗрдЯрд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдгреЗ рдлрд╛рд░ рдкреВрд░реНрд╡реАрдкрд╛рд╕реВрди рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдирд╡реАрди IcedTea рдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдЕрдиреЗрдХ рдкрд░реНрдпрд╛рдп рд╕рдореЛрд░ рдЖрд▓реЗ:

1. рддреБрдордЪреНрдпрд╛ рдорд╢реАрдирд╡рд░ рдмреНрд░рд╛рдЙрдЭрд░ рдЖрдгрд┐ Java рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреВрди рдкреНрд░рд╛рдгреАрд╕рдВрдЧреНрд░рд╣рд╛рд▓рдп рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реБрд░реВ рдХрд░рд╛, рдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдЪреА рдпрд╛рдкреБрдвреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдПрдХ-рджреЛрди рдЖрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рдирд┐рдорд┐рддреНрддрд╛рдирдВ рд╡реНрдпрд╡рд╕реНрдереЗрдЪреА рдердЯреНрдЯрд╛ рдХрд░рд╛рдпрдЪреА рдЗрдЪреНрдЫрд╛ рдирд╛рд╣реА.
2. рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╡рд░ рдХрд╛рд╣реАрддрд░реА рдЬреБрдиреЗ рд▓рд╛рдБрдЪ рдХрд░рд╛ (рдЖрдкрд▓реНрдпрд╛рд▓рд╛ Java 6 рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рджрд┐рд╕реВрди рдЖрд▓реЗ) рдЖрдгрд┐ рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛.
3. рдкреЙрдЗрдВрдЯ 2 рдкреНрд░рдорд╛рдгреЗрдЪ, рдлрдХреНрдд рдПрдХрд╛ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ, рдХрд╛рд░рдг рдЕрдиреЗрдХ рд╕рд╣рдХрд╛рд▒реНрдпрд╛рдВрдирд╛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдЖрд▓реА рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕рд░реНрд╡ рдкрд╛рд╕рд╡рд░реНрдб рдЗ.рд╕рд╣ рдЖрднрд╛рд╕реА рдорд╢реАрди рдкреНрд░рддрд┐рдореЗрдкреЗрдХреНрд╖рд╛ рдбреЙрдХрд░рд╣рдмрд╡рд░реАрд▓ рдХрдВрдЯреЗрдирд░рдордзреНрдпреЗ рд▓рд┐рдВрдХ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ.
(рдЦрд░рдВ рддрд░, рдореА рдкреЙрдЗрдВрдЯ 3 рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдлрдХреНрдд рдкреЙрдЗрдВрдЯ 2 рд╡рд░ рдкреЛрд╣реЛрдЪрд▓реЛ)
рдЖрдкрдг рдЖрдЬ рдкреЙрдЗрдВрдЯ 3 рдХрд░реВ.

рдорд▓рд╛ рдкреНрд░рд╛рдореБрдЦреНрдпрд╛рдиреЗ рджреЛрди рдкреНрд░рдХрд▓реНрдкрд╛рдВрдиреА рдкреНрд░реЗрд░рдгрд╛ рджрд┐рд▓реА:
1. docker-baseimage-gui
2. рдбреЙрдХрд░-рдлрд╛рдпрд░рдлреЙрдХреНрд╕-рдЬрд╛рд╡рд╛
рдореБрд│рд╛рдд рдкрд╣рд┐рд▓рд╛ рдкреНрд░рдХрд▓реНрдк docker-baseimage-gui рдбреЙрдХрд░рдордзреНрдпреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдпреБрдЯрд┐рд▓рд┐рдЯрд┐рдЬ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдиреНрд╕ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЖрд╣реЗрдд. рд╕рд╛рдорд╛рдиреНрдпрдд: рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рдирдХ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдордЪрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмреНрд░рд╛рдЙрдЭрд░ (рд╡реЗрдмрд╕реЙрдХреЗрдЯ) рдХрд┐рдВрд╡рд╛ 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 (рдХрд┐рдВрд╡рд╛ рддреБрдордЪреНрдпрд╛ рдкрд╕рдВрддреАрдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА) рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рд╡рд░ рдЬрд╛рддреЛ.
рд╕рд░реНрд╡ рдХреЛрдб рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рдЖрд╣реЗ рдбреЙрдХрд░-рдЗрд▓реЛ-рдХреНрд▓рд╛рдпрдВрдЯ.
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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛