mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-25 19:25:27 +00:00
Add blank lines before headers
This commit is contained in:
@@ -35,6 +35,7 @@ veth 对
|
||||
**Docker Swarm 模式下的 Overlay 网络:**
|
||||
|
||||
```bash
|
||||
|
||||
# 初始化 Swarm(创建集群)
|
||||
docker swarm init
|
||||
|
||||
@@ -61,6 +62,7 @@ docker service ps web
|
||||
**单机 Overlay 网络模拟(Linux 容器):**
|
||||
|
||||
```bash
|
||||
|
||||
# 创建自定义 overlay 网络
|
||||
docker network create --driver overlay custom-overlay
|
||||
|
||||
@@ -79,6 +81,7 @@ docker network inspect custom-overlay
|
||||
#### Overlay 网络性能优化
|
||||
|
||||
```bash
|
||||
|
||||
# 调整 MTU(Maximum Transmission Unit)避免分片
|
||||
# VXLAN 开销 50 字节,物理 MTU 1500,建议设置为 1450
|
||||
docker network create --driver overlay \
|
||||
@@ -122,6 +125,7 @@ networks:
|
||||
Calico 使用 BGP 协议进行路由,支持网络策略和 eBPF 加速。
|
||||
|
||||
```yaml
|
||||
|
||||
# Kubernetes 中安装 Calico
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
@@ -156,6 +160,7 @@ data:
|
||||
Flannel 提供简单的 overlay 网络实现,适合小到中等规模的集群。
|
||||
|
||||
```bash
|
||||
|
||||
# 安装 Flannel
|
||||
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
|
||||
|
||||
@@ -202,6 +207,7 @@ EOF
|
||||
Cilium 使用 eBPF 在内核级别实现网络策略和可观测性,性能优异。
|
||||
|
||||
```bash
|
||||
|
||||
# 安装 Cilium
|
||||
helm repo add cilium https://helm.cilium.io
|
||||
helm install cilium cilium/cilium \
|
||||
@@ -222,6 +228,7 @@ helm upgrade cilium cilium/cilium \
|
||||
Weave 提供简单的跨主机通信,支持加密和多播。
|
||||
|
||||
```bash
|
||||
|
||||
# Docker 中使用 Weave 网络
|
||||
docker run -d --name weave \
|
||||
--net=host \
|
||||
@@ -269,6 +276,7 @@ DNS 响应 → 容器缓存 → 应用
|
||||
**在运行时指定 DNS:**
|
||||
|
||||
```bash
|
||||
|
||||
# 单个容器
|
||||
docker run -d \
|
||||
--dns 8.8.8.8 \
|
||||
@@ -334,6 +342,7 @@ networks:
|
||||
**使用 Docker 内建 DNS 的服务发现:**
|
||||
|
||||
```bash
|
||||
|
||||
# 创建自定义网络
|
||||
docker network create mynet
|
||||
|
||||
@@ -343,6 +352,7 @@ docker run -d --name db --network mynet postgres:latest
|
||||
|
||||
# 在其他容器中通过服务名访问
|
||||
docker run -it --network mynet busybox sh
|
||||
|
||||
# ping web # 自动解析到 web 容器 IP
|
||||
# ping db # 自动解析到 db 容器 IP
|
||||
```
|
||||
@@ -377,6 +387,7 @@ services:
|
||||
#### DNS 性能优化
|
||||
|
||||
```bash
|
||||
|
||||
# 检查 DNS 延迟
|
||||
time docker exec <container> nslookup www.example.com
|
||||
|
||||
@@ -494,6 +505,7 @@ spec:
|
||||
|
||||
```yaml
|
||||
---
|
||||
|
||||
# 拒绝所有默认
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
@@ -506,6 +518,7 @@ spec:
|
||||
- Egress
|
||||
|
||||
---
|
||||
|
||||
# Frontend 容器策略
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
@@ -550,6 +563,7 @@ spec:
|
||||
port: 53
|
||||
|
||||
---
|
||||
|
||||
# API 容器策略
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
@@ -590,6 +604,7 @@ spec:
|
||||
port: 53
|
||||
|
||||
---
|
||||
|
||||
# 数据库容器策略
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: NetworkPolicy
|
||||
@@ -660,6 +675,7 @@ spec:
|
||||
#### 选择建议
|
||||
|
||||
```bash
|
||||
|
||||
# 1. 开发环境:使用 Bridge 网络
|
||||
docker network create my-app
|
||||
docker compose up # 默认使用 bridge
|
||||
@@ -682,6 +698,7 @@ helm install cilium cilium/cilium --namespace kube-system
|
||||
**常见网络问题诊断:**
|
||||
|
||||
```bash
|
||||
|
||||
# 1. 容器无法访问外部网络
|
||||
docker exec <container> ping 8.8.8.8
|
||||
docker exec <container> cat /etc/resolv.conf
|
||||
|
||||
Reference in New Issue
Block a user