ภาพรวมทางเทคนิค | การติดตั้ง | การกำหนดค่า | นักเทียบท่า | มีส่วนร่วม | ใบอนุญาต | ความช่วยเหลือและแหล่งข้อมูล
ด้วย JupyterHub คุณสามารถสร้าง ฮับที่มีผู้ใช้หลายคน ซึ่งวางไข่ จัดการ และมอบพร็อกซีหลายอินสแตนซ์ของเซิร์ฟเวอร์โน้ตบุ๊ก Jupyter แบบผู้ใช้คนเดียว
Project Jupyter สร้าง JupyterHub เพื่อรองรับผู้ใช้จำนวนมาก Hub สามารถให้บริการเซิร์ฟเวอร์โน้ตบุ๊กแก่ชั้นเรียนของนักเรียน กลุ่มงานวิทยาศาสตร์ข้อมูลขององค์กร โครงการวิจัยทางวิทยาศาสตร์ หรือกลุ่มคอมพิวเตอร์ประสิทธิภาพสูง
นักแสดงหลักสามคนประกอบกันเป็น JupyterHub:
หลักการพื้นฐานในการดำเนินงานคือ:
JupyterHub ยังมี REST API สำหรับการดูแลระบบ Hub และผู้ใช้อีกด้วย
ระบบที่ใช้ Linux/Unix
Python 3.8 หรือสูงกว่า
nodejs/npm
หากคุณใช้ conda
การพึ่งพา nodejs และ npm จะถูกติดตั้งให้คุณโดย conda
หากคุณใช้ pip
ให้ติดตั้ง nodejs/npm เวอร์ชันล่าสุด (อย่างน้อย 12.0)
หากใช้ PAM Authenticator เริ่มต้น ซึ่งเป็นโมดูลการรับรองความถูกต้องแบบเสียบได้ (PAM)
ใบรับรอง TLS และคีย์สำหรับการสื่อสาร HTTPS
ชื่อโดเมน
conda
หากต้องการติดตั้ง JupyterHub พร้อมกับการขึ้นต่อกันรวมถึง nodejs/npm:
conda install -c conda-forge jupyterhub
หากคุณวางแผนที่จะใช้งานเซิร์ฟเวอร์โน้ตบุ๊กในเครื่อง ให้ติดตั้ง JupyterLab หรือโน้ตบุ๊ก Jupyter:
conda install jupyterlab
conda install notebook
pip
JupyterHub สามารถติดตั้งได้ด้วย pip
และพร็อกซีด้วย npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
หากคุณวางแผนที่จะใช้งานเซิร์ฟเวอร์โน้ตบุ๊กในเครื่อง คุณจะต้องติดตั้ง JupyterLab หรือโน้ตบุ๊ก Jupyter:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
หากต้องการเริ่มต้นเซิร์ฟเวอร์ Hub ให้รันคำสั่ง:
jupyterhub
ไปที่ http://localhost:8000
ในเบราว์เซอร์ของคุณ และลงชื่อเข้าใช้ด้วยชื่อผู้ใช้และรหัสผ่านระบบของคุณ
หมายเหตุ : หากต้องการอนุญาตให้ผู้ใช้หลายรายลงชื่อเข้าใช้เซิร์ฟเวอร์ คุณจะต้องเรียกใช้คำสั่ง jupyterhub
ในฐานะ ผู้ใช้ที่มีสิทธิ์ เช่น รูท วิกิอธิบายวิธีการรันเซิร์ฟเวอร์ในฐานะ ผู้ใช้ที่มีสิทธิพิเศษน้อยกว่า ซึ่งต้องมีการกำหนดค่าระบบเพิ่มเติม
ส่วนการเริ่มต้นใช้งานของเอกสารจะอธิบายขั้นตอนทั่วไปในการตั้งค่า JupyterHub
บทช่วยสอน JupyterHub นำเสนอวิดีโอเชิงลึกและตัวอย่างการกำหนดค่าของ JupyterHub
หากต้องการสร้างไฟล์กำหนดค่าเริ่มต้นพร้อมการตั้งค่าและคำอธิบาย:
jupyterhub --generate-config
หากต้องการเริ่ม Hub บน url และพอร์ตเฉพาะ 10.0.1.2:443
ด้วย https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
ตัวรับรองความถูกต้อง | คำอธิบาย |
---|---|
PAMAผู้รับรองความถูกต้อง | ตัวตรวจสอบความถูกต้องในตัวที่เป็นค่าเริ่มต้น |
OAuthenticator | OAuth + JupyterHub Authenticator = OAuthenticator |
ldapauthenticator | ปลั๊กอินตัวตรวจสอบสิทธิ์ LDAP อย่างง่ายสำหรับ JupyterHub |
kerberosauthenticator | ปลั๊กอิน Kerberos Authenticator สำหรับ JupyterHub |
สปอว์เนอร์ | คำอธิบาย |
---|---|
LocalProcessSpawner | ค่าเริ่มต้น spawner ในตัวเริ่มเซิร์ฟเวอร์ผู้ใช้คนเดียวเป็นกระบวนการในเครื่อง |
นักเทียบท่า | วางไข่เซิร์ฟเวอร์ผู้ใช้คนเดียวในคอนเทนเนอร์ Docker |
คิวบ์สปอว์เนอร์ | วางไข่ Kubernetes สำหรับ JupyterHub |
sudospawner | วางไข่เซิร์ฟเวอร์ผู้ใช้คนเดียวโดยไม่ต้องรูท |
systemdspawner | วางไข่เซิร์ฟเวอร์โน้ตบุ๊กผู้ใช้คนเดียวโดยใช้ systemd |
ผู้วางไข่เป็นชุด | ออกแบบมาสำหรับคลัสเตอร์ที่ใช้ซอฟต์แวร์การกำหนดเวลาเป็นชุด |
ผู้วางเส้นด้าย | วางเซิร์ฟเวอร์โน้ตบุ๊กผู้ใช้คนเดียวที่กระจายบนคลัสเตอร์ Hadoop |
เครื่องห่อไข่ | WrapSpawner และ ProfilesSpawner เปิดใช้งานการกำหนดค่ารันไทม์ของ spawner |
อิมเมจนักเทียบท่าเริ่มต้นสำหรับ JupyterHub ให้การใช้งานพื้นฐานของ JupyterHub โดยใช้ Docker
สำคัญ: อิมเมจ quay.io/jupyterhub/jupyterhub
นี้มีเพียง Hub เท่านั้น โดยไม่มีการกำหนดค่า โดยทั่วไป เราจำเป็นต้องสร้างอิมเมจที่ลอกเลียนแบบ โดยอย่างน้อย jupyterhub_config.py
จะตั้งค่า Authenticator และ/หรือ Spawner หากต้องการเรียกใช้เซิร์ฟเวอร์ผู้ใช้คนเดียวซึ่งอาจอยู่ในระบบเดียวกันกับ Hub หรือไม่ จะต้องติดตั้ง Jupyter Notebook เวอร์ชัน 4 ขึ้นไป
อิมเมจนักเทียบท่า JupyterHub สามารถเริ่มต้นด้วยคำสั่งต่อไปนี้:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
คำสั่งนี้จะสร้างคอนเทนเนอร์ชื่อ jupyterhub
ซึ่งคุณสามารถ หยุดและดำเนินการต่อ ด้วย docker stop/start
บริการ Hub จะรับฟังบนอินเทอร์เฟซทั้งหมดที่พอร์ต 8000 ซึ่งทำให้เป็นตัวเลือกที่ดีสำหรับ การทดสอบ JupyterHub บนเดสก์ท็อปหรือแล็ปท็อปของคุณ
หากคุณต้องการเรียกใช้นักเทียบท่าบนคอมพิวเตอร์ที่มี IP สาธารณะ คุณควร (ตามที่ต้อง) รักษาความปลอดภัยด้วย ssl โดยการเพิ่มตัวเลือก ssl ให้กับการกำหนดค่านักเทียบท่าของคุณหรือโดยใช้พร็อกซีที่เปิดใช้งาน ssl
การติดตั้งโวลุ่มจะช่วยให้คุณสามารถ จัดเก็บข้อมูลภายนอกอิมเมจนักเทียบท่า (ระบบโฮสต์) ได้ ดังนั้นข้อมูลดังกล่าวจะคงอยู่ แม้ว่าคุณจะเริ่มอิมเมจใหม่ก็ตาม
คำสั่ง docker exec -it jupyterhub bash
จะสร้างรูทเชลล์ในคอนเทนเนอร์นักเทียบท่าของคุณ คุณสามารถ ใช้รูทเชลล์เพื่อสร้างผู้ใช้ระบบในคอนเทนเนอร์ได้ บัญชีเหล่านี้จะใช้สำหรับการตรวจสอบสิทธิ์ในการกำหนดค่าเริ่มต้นของ JupyterHub
หากคุณต้องการมีส่วนร่วมในโครงการ โปรดอ่านเอกสารประกอบของเราและ CONTRIBUTING.md
ไฟล์ CONTRIBUTING.md
อธิบายวิธีการตั้งค่าการติดตั้งการพัฒนา วิธีรันชุดทดสอบ และวิธีสนับสนุนเอกสารประกอบ
หากต้องการทราบวิสัยทัศน์ในระดับสูงและทิศทางต่อไปของโครงการ โปรดดูแผนงานชุมชน JupyterHub
JupyterHub รองรับบนระบบที่ใช้ Linux/Unix
JupyterHub ไม่ รองรับ Windows อย่างเป็นทางการ คุณอาจใช้ JupyterHub บน Windows ได้หากคุณใช้ Spawner และ Authenticator ที่ทำงานบน Windows แต่ค่าเริ่มต้นของ JupyterHub จะไม่เป็นเช่นนั้น ข้อบกพร่องที่รายงานบน Windows จะไม่ได้รับการยอมรับ และชุดทดสอบจะไม่ทำงานบน Windows อย่างไรก็ตาม แพตช์เล็กๆ ที่แก้ไขปัญหาความเข้ากันได้เล็กๆ น้อยๆ ของ Windows (เช่น การติดตั้งขั้นพื้นฐาน) อาจได้ รับการยอมรับ สำหรับระบบที่ใช้ Windows เราขอแนะนำให้เรียกใช้ JupyterHub ในคอนเทนเนอร์นักเทียบท่าหรือ Linux VM
ข้อมูลอ้างอิงเพิ่มเติม: เอกสารของ Tornado เกี่ยวกับการรองรับแพลตฟอร์ม Windows
เราใช้รูปแบบลิขสิทธิ์ที่ใช้ร่วมกันซึ่งช่วยให้ผู้มีส่วนร่วมทุกคนสามารถรักษาลิขสิทธิ์ในผลงานของพวกเขาได้
รหัสทั้งหมดได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต BSD ที่แก้ไข
เราขอแนะนำให้คุณถามคำถามและแบ่งปันแนวคิดในฟอรัมชุมชน Jupyter คุณสามารถพูดคุยกับเราในช่อง JupyterHub Gitter ของเรา
JupyterHub ปฏิบัติตามคู่มือชุมชน Jupyter
ภาพรวมทางเทคนิค | การติดตั้ง | การกำหนดค่า | นักเทียบท่า | มีส่วนร่วม | ใบอนุญาต | ความช่วยเหลือและแหล่งข้อมูล