--- title: Lab Meeting Minutes 2021/07/21 tags: lab_meeting --- > Outline > [TOC] --- # PERAL Lab Meeting - 時間:110年07月21日 15:00 - 地點:[Online](https://meet.google.com/yiz-dixy-xkv) - 出席者:吳坤熹老師、謝萬霖、周以恆、吳騰然、陳嘉瑋、劉怡君、田蕙瑜、劉又聖、洪胤勛、莊才賢、丘世宇 - 會議主題: [ Docker & Kubernetes(K8s)](http://ms15.voip.edu.tw/~phoebe/ppt/Kubernetes_over_Docker_container.pptx) - 主講者: 劉怡君 - 主記: 陳嘉瑋 ## 會議內容 ### 大合照 & 新進人員自我介紹 ![](https://i.imgur.com/to3CS4W.jpg) ### K8s over Docker container - Hypervisor - Type 1 (Bare-Metal hypervisor): - 無須先有OS - Example: VMware vSphere - Type 2 (Hosted hypervisor): - 需先有 OS 才能安裝 - Example: VirtualBox - Container vs VM - Container使用較少資源,啟動較快,可移植性較高。 - Container 容器 - Root 權限要區分清楚 - LXC、LXD、Docker (不同的Container軟體) - [Hands-On HOWTO]( https://hackmd.io/sqCWkTghRpS-E1NW0ME4pw?view) - `docker container ls` only can see containters in progress - Add option, `-a`, to show all - Default 安裝的 Ubuntu 連 vi 都沒有. - docker commit test - docker images - docker tag d0b667 phoebe_vi - Docker file (腳本) - 產生Container時就將設定或需要的程式完成 ```bash= FROM ubuntu:latest MAINTAINER phoebe RUN apt-get update || apt-get upgrade RUN apt-get install -y vim RUN apt-get install -y git RUN apt-get install -y iproute2 RUN apt-get install -y net-tools ``` - `docker build -t phoebe_file . --no-cache` # Use "./Dockerfile" - `-f` 可以指定檔案 - Docker Networking: (1) Bridge (2) Host (3) None - `docker network ls` - `docker network inspect` - `docker network create --subnet <network>/<mask> <network_name>` *** - Kubernets - 自動化部屬Container - Node Concept - Master Node - Others - Structure - Pod - Deployment - Service - Ingress - Pod - k8s 中能夠被創建、調度和管理的最小單位 - 一個 Pod 可由一個或多個容器構成 - Service - port: The port for service. 會 mapping 到 targetPort。 `<ClusterIP>:<port>` - nodePort: 不常用到。 端口範圍只能是30000-32767,不建議手動設定,由系統自行分配。 `<NodeIP>:<nodePort>` - targetPort: 建立 Pod 時,會設置好 #### 建議&問題 1. p.3 Docker, LXC , LXD 權限控管差別?[name= Edgar] Ans: [name= Phoebe] Docker default 都是 root; LXC 可以限制 privilege & unprivilege mode - Why LXC and LSD still need two privileges? 2. LXC & normal VM's diff? [name=才賢] Ans: [name= Phoebe] VM 可擁有獨立 IP;LXC 也能擁有獨立 IP,介於 container & VM 之間,比較偏向 VM Docker 著重於模擬 Application Layer 3. 如果團隊有使用自己的 "Hub" 需求,開發出來的image不希望讓外部的人存得,該如何做? Can we build a group on DockerHub, or build our own DockerHub repository? How should we configure "docker login" then? [name=Edgar,Johnson] 4. Load balance可以自動化,會不會很難DeBug,可否透過LOG去查看 [name=才賢] [name= Phoebe]不清楚,還沒使用過。 5. 介紹k8s有提到Docker Swarm 他們有什麼差別嗎[name=世宇] Docker Swarm功能較少 6. 為何Docker 比 LXC 更為輕便以及更為應用 ? [name=胤勛] Docker 切的Namespace比較小?? 8. [name=Toby] 9. PPT p.10, Node 與 Service 之間的互動關係[name=Angela] K8s 若建立 Service 時,不指定使用那些 Node,將依照 Resource 來調度 Nodes. 10. Docker Hub有沒有跟Git Hub一樣可以有自己的Server[name=Jonhson] 回去了解 11. 不同container運行軟體的差異 [name=Jeffrey] Compare with Docker container, LXC is more like VM then Container. 速度不一樣,自己感受 12. 在一個Pod內有多個container,那他們是做同一種事情還是不同事情[name=Edgar] 同一種 13. 你這邊所寫的Service是以Pod為單位還是Node為單位 [name=Edgar] Pod 14. Pod的設定的最外層只能是Target port的設定嗎 [name=Edgar] 下次舉例解釋,比較清楚,不然太抽象 15. 為何不要一個Service一個Pod,要這樣分割 [name=以恆] ## 待追蹤事項 1. 108何時施工 [name=Edgar] prof.Solomon 會call小玲 ## 臨時動議 - 工作分配 - 才賢 : VM + NAS - 胤勳 : [計畫] Docker + API gateway - 世宇 : [計畫] WebRTC - Toby : ms15 - Henry : --- 散會結束時間: 17:22