ILO рдорд╛рд░реНрдлрдд HP рд╕рд░реНрднрд░рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдбрдХрд░ рдХрдиреНрдЯреЗрдирд░

рддрдкрд╛рдИрдВ рд╕рд╛рдпрдж рд╕реЛрдЪрд┐рд░рд╣рдиреБрднрдПрдХреЛ рд╣реБрди рд╕рдХреНрдЫ - рдХрд┐рди рдбрдХрд░ рдпрд╣рд╛рдБ рдЕрд╡рд╕реНрдерд┐рдд рдЫ? ILO рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрди рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рдЖрдлреНрдиреЛ рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрджрд╛ рдХреЗ рд╕рдорд╕реНрдпрд╛ рдЫ?
рдореИрд▓реЗ рдХреЗ рд╕реЛрдЪреЗрдБ рдЬрдм рдЙрдиреАрд╣рд░реВрд▓реЗ рдорд▓рд╛рдИ рдХреЗрд╣реА рдкреБрд░рд╛рдирд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╕рд░реНрднрд░рд╣рд░реВ рджрд┐рдП рдЬреБрди рдорд▓рд╛рдИ рдкреБрди: рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рдЬрд╕рд▓рд╛рдИ рдкреБрди: рдкреНрд░рд╡рдиреНрдз рднрдирд┐рдиреНрдЫ)ред рд╕рд░реНрднрд░ рдЖрдлреИрдВ рд╡рд┐рджреЗрд╢рдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЫ, рдЙрдкрд▓рдмреНрдз рдорд╛рддреНрд░ рдЪреАрдЬ рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╣реЛред рдареАрдХ рдЫ, рддрджрдиреБрд╕рд╛рд░, рдореИрд▓реЗ рдХреЗрд╣реА рдЖрджреЗрд╢рд╣рд░реВ рдЪрд▓рд╛рдЙрди рднрд░реНрдЪреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рдорд╛ рдЬрд╛рдиреБрдкрд░реНтАНрдпреЛред рддреНрдпрд╣реАрдБрдмрд╛рдЯ рд╕реБрд░реБ рднрдпреЛред
рддрдкрд╛рдИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, Java рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рднрд░реНрдЪреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдЪрд╛рд╣реЗ HP рд╡рд╛ рдбреЗрд▓рдорд╛ред рдХрдореНрддрд┐рдорд╛ рдпреЛ рдХрд╕рд░реА рд╣реБрдиреНрдереНрдпреЛ (рд░ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдзреЗрд░реИ рдкреБрд░рд╛рдиреЛ рдЫрдиреН)ред рддрд░ рдлрд╛рдпрд░рдлрдХреНрд╕ рд░ рдХреНрд░реЛрдорд▓реЗ рд▓рд╛рдореЛ рд╕рдордп рдкрд╣рд┐рд▓реЗ рдпреА рдПрдкреНрд▓реЗрдЯрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рдмрдиреНрдж рдЧрд░реНрдпреЛ, рд░ рдирдпрд╛рдБ 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 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

рдПрдХрдЪреЛрдЯрд┐ рд╣рд╛рдореАрд▓реЗ рдбрдХрд░рдорд╛ session_key рд░реЗрдХрд░реНрдб рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╣рд╛рдореА VNC рд╕реБрд░реБ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ:

exec x11vnc -forever -create

рдЕрдм рд╣рд╛рдореА рдХреЗрд╡рд▓ VNC рдорд╛рд░реНрдлрдд рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯрдорд╛ рдкреЛрд░реНрдЯ релрепрежреж (рд╡рд╛ рддрдкрд╛рдИрдВрдХреЛ рдордирдкрд░реНрдиреЗ рдХреБрдиреИ рдЕрдиреНрдп) рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрдЫреМрдВ рд░ рднрд░реНрдЪреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓рдорд╛ рдЬрд╛рдиреНрдЫреМрдВред
рд╕рдмреИ рдХреЛрдб рднрдгреНрдбрд╛рд░рдорд╛ рдЫ 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди