CNI Sturcture


## **Main: interface-creating**
bridge, ipvlan, loopback, macvlan, ptp, vlan
## **IPAM: IP address allocation**
dhcp, host-local
## **Meta: other plugins**
flannel, tuning, portmap

![](https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fde6eebdb-eae7-4733-a051-81fd970cbae4%2FUntitled.png?table=block&id=3862b0d7-f616-4080-afed-a489c9efc477&cache=v2)


```type{    "cniVersion": "0.2.0",    "name": "demo_br",    "type": "bridge",    "bridge": "cni_net0",    "isGateway": true,    "ipMasq": true,    "ipam": {        "type": "host-local",        "subnet": "10.0.10.0/24",        "routes": [            { "dst": "0.0.0.0/0" },            { "dst": "1.1.1.1/32", "gw":"10.0.10.1"}        ]    }}```

- `cniVersion`: CNI 명세의 버전을 정의합니다.
- `name`: 네트워크 이름
- `type`: 사용할 plugin 종류를 지정합니다. 이 경우에는 실제 사용할 실행파일의 이름을 지정합니다.
- `args`: Optional 추가 파라미터
- `ipMasq`: 아웃바운드 masquerade 설정(NAT 설정)
- `ipam`:
> - `type`: IPAM plugin 실행파일의 이름
> - `subnet`: IPAM에서 사용할 subnet대역
> - `routes`:
>> - `dst`: 도달하려는 subnet대역
>> - `gw`: dst에 도달하기 위한 default g/w주소
- `dns`:
> - `nameservers`: 해당 네트워크에서 사용할 네임서버 목록
> - `domain`: DNS 요청에 사용할 search domain
> - `search`: search domain 목록
> - `options`: 추가적인 옵션값


> [[번역]쿠버네티스 패킷의 삶 - #1](https://coffeewhale.com/packet-network1)






