12. 認識 Kubernetes 物件
• A Kubernetes object is a "record of
intent" – once you create the object, the
Kubernetes system will constantly work to
ensure that object exists.
當你在叢集中建立好 K8s 物件,叢集系統會
盡一切可能保證該物件一直存在!
20. Services
• Pod 是 k8s 的最小單位
– 每個 Pod 會有一個內部 IP 地址
– 每次建立好的 Pod 的 IP 地址都會不一樣
– 管理 Pod 的 IP 地址將會非常複雜
– 這時就是 Service 登場的時候!
• Service 負責管理多個 Pods 對外的網路介面
– 內建負載平衡器,可自動管理 Pods 對外的連線
– 每個 Service 都會有一個固定的 IP 地址與網域名稱
24. 關於 Kubernetes 對 Windows 的支援
• Kubernetes 1.5 增加了對 Windows 容器的支援
– 目前僅 kubelet 和 kube-proxy 可部署在 Windows
– 目前僅支援 Windows Server 2016 作業系統
– 其他控制功能元件還是需要部署在 Linux 上面
• API Server, Scheduler, Controller Manager, …
• 架設起叢集的必要條件
– 先將 Kubernetes 叢集部署到 Linux
– 在 Linux 上設定好 Kubernetes 網絡外掛
– 準備 Windows Server 2016 作業系統
– 在 Windows Server 安裝必要的 Docker 容器環境
25. Windows in Kubernetes 已知限制
• 在 Windows 沒有網路命名空間 ( network namespace ),
因此目前僅支援一個 Pod 一個 Container 執行!
• 目前尚不支援 Secrets 物件
( 因為 Windows 的 Bug: https://github.com/moby/moby/issues/28401 )
• 目前尚未實作 ConfigMaps 功能
• 由於 kube-proxy 透過 netsh portproxy 實作,所以僅支
援 TCP 協定,因此 DNS 原則上不支援,目前只有當用戶
端嘗試用 TCP 重新查詢 DNS 時才會生效。
https://kubernetes.io/docs/getting-started-guides/windows/
27. 相關連結
• 官網:http://kubernetes.io
• 專案:https://github.com/kubernetes/kubernetes
• 推特:https://twitter.com/kubernetesio
• Slack:http://slack.k8s.io
• Windows Server Support Comes to Kubernetes
• Windows SIG ( kubernetes/community )
• "Hands on With Kubernetes" workshops
• Windows Server Containers | Kubernetes
• Introduction to YAML: Creating a Kubernetes deployment
• Deploy Kubernetes cluster for Windows containers
28. 聯絡資訊
• The Will Will Web
記載著 Will 在網路世界的學習心得與技術分享
http://blog.miniasp.com/
• Will 保哥的技術交流中心 (臉書粉絲專頁)
http://www.facebook.com/will.fans
• Will 保哥的噗浪
http://www.plurk.com/willh/invite
• Will 保哥的推特
https://twitter.com/Will_Huang
addons
Addons are pods and services that implement cluster features. The pods may be managed by Deployments, ReplicationControllers, and so on. Namespaced addon objects are created in the kube-system namespace.
Addon manager creates and maintains addon resources. See here for more details.
fluentd
fluentd is a daemon which helps provide cluster-level logging.
https://kubernetes.io/docs/concepts/overview/components/#cluster-level-logging