1eed84ef61
* Add ETW support in zap logger for CNI Added a zap WriteSyncer to enable direct ETW logging through zap core, maintaining existing logging structure while to ETW from CNI. * Transform 'zapetw' package into a standalone module for external use * Revert "Transform 'zapetw' package into a standalone module for external use" This reverts commit 63050ed68d353e43ae1b1fedd11b8e99259b7a28. * Relocate EtwWriteSyncer.go to zapetw module for improved organization - Renamed and moved cni/log/ETWZapCore/EtwWriteSyncer.go to zapetw/write_syncer.go. * Applied gofumpt formatting to adhere to style guidelines. * 1. Implemented platform-specific ETW logging enhancements. 2. Refactor ETW initialization into dedicated method and zapetw package. * Changed InitETWLogger method signature for Linux. * Wrapped error messages at each level of the call hierarchy. * Removed punctuation marks from error messages. * Wrapped error messages with errors.wrap method. * Added comments for clarity. * implemented zap.core for ETW. * Fixed lint issues. * Catch errors from etw.writeEvent method. * Renamed provider. * Abstracted etw core creation in logger_windows. Removed unsupported error from logger_linux to keep the behaviour uniform. * renamed unused parameter. * Renamed variable to lower camel case as it is private. Removed additional local reference. * fixed variable name. * Added comment. * Renamed ETW provider, removed application names from the provider name. --------- Co-authored-by: Sivakami Subramaniam <t-sivakamis@microsoft.com> |
||
---|---|---|
.devcontainer | ||
.github | ||
.hooks | ||
.pipelines | ||
aitelemetry | ||
azure-ipam | ||
build | ||
cni | ||
cnm | ||
cns | ||
common | ||
crd | ||
debug/windows/npm | ||
docs | ||
dropgz | ||
ebtables | ||
examples/cns | ||
hack | ||
internal | ||
ipam | ||
iptables | ||
keyvault | ||
log | ||
netio | ||
netlink | ||
netns | ||
network | ||
nmagent | ||
nns | ||
npm | ||
ovsctl | ||
pkgerrlint | ||
platform | ||
processlock | ||
proto/nodenetworkservice/3.302.0.744 | ||
scripts | ||
server/tls | ||
store | ||
telemetry | ||
test | ||
testutils | ||
tools | ||
zapai | ||
zapetw | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
CONTRIBUTING.md | ||
Dockerfile.cnm | ||
LICENSE | ||
MAINTAINERS | ||
Makefile | ||
README.md | ||
SECURITY.md | ||
Tiltfile | ||
go.mod | ||
go.sum |
README.md
Microsoft Azure Container Networking
Azure Network Policy Manager Conformance | |
---|---|
Cyclonus Network Policy Suite | |
Kubernetes Network Policy E2E |
Overview
This repository contains container networking services and plugins for Linux and Windows containers running on Azure:
- Azure CNI network and IPAM plugins for Kubernetes.
- Azure CNM (libnetwork) network and IPAM plugins for Docker Engine. (MAINTENANCE MODE)
- Azure NPM - Kubernetes Network Policy Manager (Linux and (preview) Windows Server 2022)
The azure-vnet
network plugins connect containers to your Azure VNET, to take advantage of Azure SDN capabilities. The azure-vnet-ipam
IPAM plugins provide address management functionality for container IP addresses allocated from Azure VNET address space.
The following environments are supported:
- Microsoft Azure: Available in all Azure regions.
Plugins are offered as part of Azure Kubernetes Service (AKS), as well as for individual Azure IaaS VMs. For Kubernetes clusters created by aks-engine, the deployment and configuration of both plugins on both Linux and Windows nodes is automatic and default.
The next generation of Azure CNI Plugin is powered by Cilium. Learn more at Azure CNI Powered By Cilium
Documentation
See Documentation for more information and examples.
Build
This repository builds on Windows and Linux. Build plugins directly from the source code for the latest version.
$ git clone https://github.com/Azure/azure-container-networking
$ cd azure-container-networking
$ make all-binaries
Then follow the instructions for the plugin in Documentation.
Contributions
Contributions in the form of bug reports, feature requests and PRs are always welcome.
Please follow these steps before submitting a PR:
- Create an issue describing the bug or feature request.
- Clone the repository and create a topic branch.
- Make changes, adding new tests for new functionality.
- Submit a PR.
License
See LICENSE.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.