You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-51Lines changed: 34 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,80 +39,63 @@ $ make all-binaries
39
39
Then follow the instructions for the plugin in [Documentation](docs/).
40
40
41
41
## Docker Image Generation
42
-
This repository supports building Docker container images for the core networking components. The build system uses Docker or Podman to create multi-platform images.
42
+
This repository supports building Docker container images for networking components using standardized make recipes. The build system uses Docker or Podman to create multi-platform images.
43
43
44
44
### Prerequisites
45
45
- Docker or Podman installed and running
46
46
- For multi-platform builds: `make qemu-user-static` (Linux only)
47
47
48
48
### Available Components
49
+
-**acncli** - CNI manager
50
+
-**azure-ipam** - Azure IP Address Management
51
+
-**cni** - Container Network Interface
52
+
-**cns** - Container Network Service
53
+
-**npm** - Network Policy Manager
54
+
-**ipv6-hp-bpf** - IPv6 Host Policy BPF
49
55
50
-
#### Container Network Service (CNS)
51
-
```bash
52
-
# Build CNS container image
53
-
$ make cns-image
56
+
### Generic Build Pattern
57
+
All components follow the same make recipe pattern:
54
58
55
-
# View image name and tag
56
-
$ make cns-image-name-and-tag
57
-
```
58
-
59
-
#### Container Network Interface (CNI)
60
59
```bash
61
-
# Build CNI container image
62
-
$ make cni-image
60
+
# Build container image
61
+
$ make <component>-image
63
62
64
63
# View image name and tag
65
-
$ make cni-image-name-and-tag
66
-
```
64
+
$ make <component>-image-name-and-tag
67
65
68
-
#### Network Policy Manager (NPM)
69
-
```bash
70
-
# Build NPM container image
71
-
$ make npm-image
72
-
73
-
# View image name and tag
74
-
$ make npm-image-name-and-tag
75
-
```
66
+
# Push image to registry
67
+
$ make <component>-image-push
76
68
77
-
#### Azure IP Address Management (Azure-IPAM)
78
-
```bash
79
-
# Build Azure-IPAM container image
80
-
$ make azure-ipam-image
69
+
# Pull image from registry
70
+
$ make <component>-image-pull
81
71
82
-
# View image name and tag
83
-
$ make azure-ipam-image-name-and-tag
72
+
# Build multi-platform manifest
73
+
$ make <component>-manifest-build
74
+
$ make <component>-manifest-push
84
75
```
85
76
86
-
### Customization Options
87
-
You can customize the build by setting environment variables:
88
-
77
+
### Example Usage
89
78
```bash
90
-
# Build for different platform/architecture
91
-
$ PLATFORM=linux/arm64 make cns-image
79
+
# Build CNS image
80
+
$ make cns-image
92
81
93
-
# Use custom image registry
94
-
$ IMAGE_REGISTRY=myregistry.azurecr.io make cns-image
82
+
# Build NPM image with custom platform
83
+
$ PLATFORM=linux/arm64 make npm-image
84
+
85
+
# Build Azure-IPAM image with custom registry
86
+
$ IMAGE_REGISTRY=myregistry.azurecr.io make azure-ipam-image
0 commit comments