Network Policy - 每天5分鐘玩轉 Docker 容器技術(171)
Network Policy - 每天5分鐘玩轉 Docker 容器技術(171)
CloudMan 2018-05-26
第171篇
Network Policy
Network Policy 是 Kubernetes 的一種資源。Network Policy 通過 Label 選擇 Pod,並指定其他 Pod 或外界如何與這些 Pod 通訊。
預設情況下,所有 Pod 是非隔離的,即任何來源的網路流量都能夠訪問 Pod,沒有任何限制。當為 Pod 定義了 Network Policy,只有 Policy 允許的流量才能訪問 Pod。
不過,不是所有的 Kubernetes 網路方案都支援 Network Policy。比如 Flannel 就不支援,Calico 是支援的。我們接下來將用 Canal 來演示 Network Policy。Canal 這個開源專案很有意思,它用 Flannel 實現 Kubernetes 叢集網路,同時又用 Calico 實現 Network Policy。
部署 Canal
部署 Canal 與部署其他 Kubernetes 網路方案非常類似,都是在執行了 kubeadm init
初始化 Kubernetes 叢集之後通過 kubectl apply
安裝相應的網路方案。也就是說,沒有太好的辦法直接切換使用不同的網路方案,基本上只能重新建立叢集。
要銷燬當前叢集,最簡單的方法是在每個節點上執行 kubeadm reset
。然後就可以按照我們在前面 “部署 Kubernetes Cluster” 一章的 “初始化 Master” 小節中的方法初始化叢集。
kubeadm init --apiserver-advertise-address 192.168.56.105 --pod-network-cidr=10.244.0.0/16
然後按照文件 https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ 安裝 Canal。文件列出了各種網路方案的安裝方法:
執行如下命令部署 Canal
kubectl apply -f https://raw.githubusercontent.com/projectcalico/canal/master/k8s-install/1.7/rbac.yaml
kubectl apply -f https://raw.githubusercontent.com/projectcalico/canal/master/k8s-install/1.7/canal.yaml
部署成功後,可以檢視到 Canal 相關元件:
Canal 作為 DaemonSet 部署到每個節點,地屬於 kube-system
這個 namespace。
Canal 準備就緒,下節我們將實踐 Network Policy。
書籍:
1.《每天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html(點選“閱讀原文”直達)
2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html
相關文章
- 每天5分鐘玩轉Docker容器技術(二)Docker
- 每天5分鐘玩轉Docker容器技術(一)Docker
- 每天5分鐘玩轉Docker容器技術(三)Docker
- 每天5分鐘玩轉Docker容器技術(四)Docker
- 【Docker】(9)---每天5分鐘玩轉 Docker 容器技術之映象Docker
- Prometheus Operator - 每天5分鐘玩轉 Docker 容器技術(177)PrometheusDocker
- PV & PVC - 每天5分鐘玩轉 Docker 容器技術(150)Docker
- 回收 PV - 每天5分鐘玩轉 Docker 容器技術(152)Docker
- 每天5分鐘玩轉容器技術(1)
- Helm 架構 - 每天5分鐘玩轉 Docker 容器技術(161)架構Docker
- Kubernetes Dashboard - 每天5分鐘玩轉 Docker 容器技術(173)Docker
- 再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術MySqlDocker
- 外部 Storage Provider - 每天5分鐘玩轉 Docker 容器技術(149)IDEDocker
- Liveness 探測 - 每天5分鐘玩轉 Docker 容器技術(143)Docker
- 並行執行 Job - 每天5分鐘玩轉 Docker 容器技術(134)並行Docker
- MySQL 使用 PV 和 PVC - 每天5分鐘玩轉 Docker 容器技術(154)MySqlDocker
- ELK 完整部署和使用 - 每天5分鐘玩轉 Docker 容器技術(90)Docker
- 什麼是 stack?- 每天5分鐘玩轉 Docker 容器技術(111)Docker
- 通過 Service 訪問 Pod - 每天5分鐘玩轉 Docker 容器技術(136)Docker
- RUN vs CMD vs ENTRYPOINT - 每天5分鐘玩轉 Docker 容器技術(17)Docker
- 用 Weave Scope 監控叢集 - 每天5分鐘玩轉 Docker 容器技術(175)Docker
- 部署 Graylog 日誌系統 - 每天5分鐘玩轉 Docker 容器技術(92)Docker
- 如何用 Graylog 管理日誌? - 每天5分鐘玩轉 Docker 容器技術(93)Docker
- 萬能資料收集器 Fluentd - 每天5分鐘玩轉 Docker 容器技術(91)Docker
- Kubernetes 叢集日誌管理 - 每天5分鐘玩轉 Docker 容器技術(180)Docker
- 在滾動更新中使用 Health Check - 每天5分鐘玩轉 Docker 容器技術(146)Docker
- 用 k8s 管理機密資訊 - 每天5分鐘玩轉 Docker 容器技術(155)K8SDocker
- Docker--容器技術Docker
- docker容器技術原理Docker
- Docker技術( 容器虛擬化技術 )Docker
- Docker容器技術與Docker介紹Docker
- 容器技術之Docker映象Docker
- 玩轉docker之自定義PHP容器DockerPHP
- ServicePlugin/Agent-每天5分鐘玩轉OpenStack(73)Plugin
- 容器技術之Docker網路Docker
- 容器技術之Docker-swarmDockerSwarm
- 容器技術和Docker介紹Docker
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker