ILO ಮೂಲಕ HP ಸರ್ವರ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಡಾಕರ್ ಕಂಟೇನರ್

ನೀವು ಬಹುಶಃ ಆಶ್ಚರ್ಯ ಪಡಬಹುದು - ಡಾಕರ್ ಇಲ್ಲಿ ಏಕೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ? ILO ವೆಬ್ ಇಂಟರ್‌ಫೇಸ್‌ಗೆ ಲಾಗ್ ಇನ್ ಆಗುವುದರೊಂದಿಗೆ ಮತ್ತು ಅಗತ್ಯವಿರುವಂತೆ ನಿಮ್ಮ ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ಸಮಸ್ಯೆ ಏನು?
ನಾನು ಮರುಸ್ಥಾಪಿಸಲು ಅಗತ್ಯವಿರುವ ಕೆಲವು ಹಳೆಯ ಅನಗತ್ಯ ಸರ್ವರ್‌ಗಳನ್ನು ಅವರು ನನಗೆ ನೀಡಿದಾಗ ನಾನು ಯೋಚಿಸಿದೆ (ಇದನ್ನು ಮರುಸಂಗ್ರಹಣೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ). ಸರ್ವರ್ ಸ್ವತಃ ಸಾಗರೋತ್ತರದಲ್ಲಿದೆ, ಲಭ್ಯವಿರುವ ಏಕೈಕ ವಿಷಯವೆಂದರೆ ವೆಬ್ ಇಂಟರ್ಫೇಸ್. ಸರಿ, ಅದರ ಪ್ರಕಾರ, ಕೆಲವು ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಲು ನಾನು ವರ್ಚುವಲ್ ಕನ್ಸೋಲ್‌ಗೆ ಹೋಗಬೇಕಾಗಿತ್ತು. ಅಲ್ಲಿಂದ ಶುರುವಾಯಿತು.
ನಿಮಗೆ ತಿಳಿದಿರುವಂತೆ, ಜಾವಾವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ HP ಅಥವಾ ಡೆಲ್‌ನಲ್ಲಿ ವಿವಿಧ ರೀತಿಯ ವರ್ಚುವಲ್ ಕನ್ಸೋಲ್‌ಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಕನಿಷ್ಠ ಅದು ಹೇಗೆ ಇತ್ತು (ಮತ್ತು ವ್ಯವಸ್ಥೆಗಳು ತುಂಬಾ ಹಳೆಯವು). ಆದರೆ ಫೈರ್‌ಫಾಕ್ಸ್ ಮತ್ತು ಕ್ರೋಮ್ ಬಹಳ ಹಿಂದೆಯೇ ಈ ಆಪ್ಲೆಟ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದವು ಮತ್ತು ಹೊಸ IcedTea ಈ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, ಹಲವಾರು ಆಯ್ಕೆಗಳು ಕಾಣಿಸಿಕೊಂಡವು:

1. ನಿಮ್ಮ ಗಣಕದಲ್ಲಿ ಬ್ರೌಸರ್‌ಗಳು ಮತ್ತು ಜಾವಾ ಆವೃತ್ತಿಗಳಿಂದ ಮೃಗಾಲಯವನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಿ, ಈ ಆಯ್ಕೆಯು ಇನ್ನು ಮುಂದೆ ಅಗತ್ಯವಿಲ್ಲ. ಒಂದೆರಡು ಆಜ್ಞೆಗಳ ಸಲುವಾಗಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಅಣಕಿಸುವ ಬಯಕೆ ಇಲ್ಲ.
2. ವರ್ಚುವಲ್ ಗಣಕದಲ್ಲಿ ಸಾಕಷ್ಟು ಹಳೆಯದನ್ನು ಪ್ರಾರಂಭಿಸಿ (ನಿಮಗೆ ಜಾವಾ 6 ಅಗತ್ಯವಿದೆ ಎಂದು ಪ್ರಾಯೋಗಿಕವಾಗಿ ಹೊರಹೊಮ್ಮಿದೆ) ಮತ್ತು ಅದರ ಮೂಲಕ ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲವನ್ನೂ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.
3. ಪಾಯಿಂಟ್ 2 ರಂತೆ, ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮಾತ್ರ, ಹಲವಾರು ಸಹೋದ್ಯೋಗಿಗಳು ಒಂದೇ ರೀತಿಯ ಸಮಸ್ಯೆಯನ್ನು ಎದುರಿಸಿದ್ದಾರೆ ಮತ್ತು ಎಲ್ಲಾ ಪಾಸ್‌ವರ್ಡ್‌ಗಳೊಂದಿಗೆ ವರ್ಚುವಲ್ ಮೆಷಿನ್ ಇಮೇಜ್‌ಗಿಂತ ಡಾಕರ್‌ಹಬ್‌ನಲ್ಲಿರುವ ಕಂಟೇನರ್‌ಗೆ ಲಿಂಕ್ ಅನ್ನು ವರ್ಗಾಯಿಸುವುದು ತುಂಬಾ ಸುಲಭ.
(ವಾಸ್ತವವಾಗಿ, ನಾನು ಪಾಯಿಂಟ್ 3 ಮಾಡಿದ ನಂತರ ನಾನು ಪಾಯಿಂಟ್ 2 ಅನ್ನು ಪಡೆದುಕೊಂಡಿದ್ದೇನೆ)
ನಾವು ಇಂದು ಪಾಯಿಂಟ್ 3 ಅನ್ನು ಮಾಡುತ್ತೇವೆ.

ನಾನು ಮುಖ್ಯವಾಗಿ ಎರಡು ಯೋಜನೆಗಳಿಂದ ಸ್ಫೂರ್ತಿ ಪಡೆದಿದ್ದೇನೆ:
1. ಡಾಕರ್-ಬೇಸ್ಇಮೇಜ್-ಗುಐ
2. ಡಾಕರ್-ಫೈರ್‌ಫಾಕ್ಸ್-ಜಾವಾ
ಮೂಲತಃ ಮೊದಲ ಯೋಜನೆ ಡಾಕರ್-ಬೇಸ್ಇಮೇಜ್-ಗುಐ ಡಾಕರ್‌ನಲ್ಲಿ ಡೆಸ್ಕ್‌ಟಾಪ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಈಗಾಗಲೇ ಉಪಯುಕ್ತತೆಗಳು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ವಿಶಿಷ್ಟವಾಗಿ ನೀವು ಪ್ರಮಾಣಿತ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬ್ರೌಸರ್ (ವೆಬ್‌ಸಾಕೆಟ್) ಅಥವಾ 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 ಪರಿಸರದ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದರೆ ಕರ್ಲ್ ಮೂಲಕ 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

ಈಗ ನಾವು ಸ್ಥಳೀಯ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ಪೋರ್ಟ್ 5900 (ಅಥವಾ ನಿಮ್ಮ ಆಯ್ಕೆಯ ಯಾವುದೇ) ಗೆ VNC ಮೂಲಕ ಸರಳವಾಗಿ ಸಂಪರ್ಕಿಸುತ್ತೇವೆ ಮತ್ತು ವರ್ಚುವಲ್ ಕನ್ಸೋಲ್‌ಗೆ ಹೋಗುತ್ತೇವೆ.
ಎಲ್ಲಾ ಕೋಡ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿದೆ ಡಾಕರ್-ಇಲೊ-ಕ್ಲೈಂಟ್.
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 ಲಾಗಿನ್ ಆಗಿದೆ ಮತ್ತು ಅದರ ಪ್ರಕಾರ, ILO ಗಾಗಿ SOME_PASSWORD ಪಾಸ್‌ವರ್ಡ್ ಆಗಿದೆ.
ಅದರ ನಂತರ, ಯಾವುದೇ VNC ಕ್ಲೈಂಟ್ ಅನ್ನು ವಿಳಾಸಕ್ಕೆ ಪ್ರಾರಂಭಿಸಿ: vnc://localhost:5900
ಸೇರ್ಪಡೆಗಳು ಮತ್ತು ಪುಲ್ ವಿನಂತಿಗಳು ಸಹಜವಾಗಿ ಸ್ವಾಗತಾರ್ಹ.

DELL ಯಂತ್ರಗಳ IDRAC ಇಂಟರ್ಫೇಸ್‌ಗಳಿಗೆ ಸಂಪರ್ಕಿಸಲು ಇದೇ ರೀತಿಯ ಯೋಜನೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ: ಡಾಕರ್-ಇಡ್ರಾಕ್ 6.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ