Azure Container Networking Solutions for Linux and Windows Containers
Перейти к файлу
sivakami-projects 1eed84ef61
ETW logging implementation in CNI (#2668)
* 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>
2024-04-18 18:17:18 +00:00
.devcontainer chore: update to go1.21 (#2384) 2023-11-15 15:17:26 -06:00
.github ci: bump azure/CLI from 1 to 2 (#2639) 2024-03-18 17:22:14 +00:00
.hooks lint pre-push hook (#1112) 2021-11-22 12:56:58 -06:00
.pipelines ci: Add Cilium to CNI | LSG Integration Pipeline (#2574) 2024-03-29 23:19:09 +00:00
aitelemetry [CNI] zap logger for platform package (#2233) 2023-10-13 12:08:58 -07:00
azure-ipam deps: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /azure-ipam (#2644) 2024-03-18 18:24:15 +00:00
build deps: bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /build/tools (#2633) 2024-03-06 18:12:45 +00:00
cni ETW logging implementation in CNI (#2668) 2024-04-18 18:17:18 +00:00
cnm refactor: add receiver to iptables and create interface (#2421) 2023-12-14 09:27:17 -08:00
cns fix: Using Node IP as the primary IP allowing the use of all the IPs in the subnet for pods in Vnet Scale Mode and added the fix for Vnet Scale Cillium (#2660) 2024-04-01 17:00:42 +00:00
common feat: Dev stateless cni (#2276) 2023-12-12 00:15:54 +00:00
crd [refactor] make podname optional (#2584) 2024-02-15 04:17:26 +00:00
debug/windows/npm test(scale): [NPM] fix flakes in kwok and capture kernel state on failure (#2249) 2023-11-29 15:37:46 -08:00
docs Create initial contrbuting guides (#2244) 2023-09-26 14:53:18 -07:00
dropgz chore: Updating CNI in dropgz to 1.5.24 (#2678) 2024-04-16 16:22:23 +00:00
ebtables [CNI] zap logger for platform package (#2233) 2023-10-13 12:08:58 -07:00
examples/cns Add CNS api examples for create and delete HNS networks (#337) 2019-04-15 15:58:44 -07:00
hack ci: Kernel Upgrade Script (#2552) 2024-02-29 02:56:05 +00:00
internal fix: don't delete an existing conflist (#2115) 2023-08-28 23:11:12 +00:00
ipam [CNI] Migrate zap logger for acn ipam package (#2299) 2023-10-28 04:38:36 +00:00
iptables fix: Prevent iptable list cmd to do reverse dns lookup (#2682) 2024-04-12 22:42:34 +00:00
keyvault deps: bump github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets from 0.7.1 to 0.11.0 (#1693) 2023-03-21 20:44:15 +00:00
log fix: deadlock when os.Stat errors within rotate method (#1716) 2023-08-10 13:16:58 -07:00
netio test: validate secondary endpoint client failure (#2345) 2023-11-03 23:32:40 +00:00
netlink test: validate secondary endpoint client failure (#2345) 2023-11-03 23:32:40 +00:00
netns Set constant mac for host veth interface in transparent vlan mode (#1906) 2023-04-17 14:26:00 -07:00
network chore: remove redundant logs (#2642) 2024-03-20 20:55:38 +00:00
nmagent fix SupportedAPIs in nmagent client to handle non-200 resp correctly (#2623) 2024-03-04 20:26:06 +00:00
nns cni/network unit test coverage (#1020) 2021-09-20 16:58:18 -07:00
npm ci: update NPM Windows daemonset for k8s version 1.28 (#2622) 2024-03-06 18:39:18 +00:00
ovsctl [CNI] Migrate zap logger for acn ipam package (#2299) 2023-10-28 04:38:36 +00:00
pkgerrlint Add a linter for detecting fmt.Errorf w/ %w (#1952) 2023-05-09 15:47:39 -05:00
platform fix: skip setting SdnRemoteArpMacAddress when hns is not enabled (#2315) 2023-11-01 05:13:11 +00:00
processlock refactor: move from io/ioutil to io and os packages (#1096) 2021-11-17 16:31:42 -06:00
proto/nodenetworkservice/3.302.0.744 CNI changes to support baremetal scenario (#835) 2021-03-26 10:28:42 -07:00
scripts Update install-cni-plugin.sh (#1792) 2023-04-30 20:52:30 +00:00
server/tls adding a cert refresher construct (#1426) 2022-06-16 23:32:33 +00:00
store [CNI] zap logger migration for store package (#2231) 2023-09-25 15:59:56 +00:00
telemetry feat: Dev stateless cni (#2276) 2023-12-12 00:15:54 +00:00
test chore: update the cilium nightly config (#2669) 2024-04-09 23:36:54 +00:00
testutils Cns windows aks (#1059) 2021-11-22 09:23:01 -08:00
tools chore: update to go1.21 (#2384) 2023-11-15 15:17:26 -06:00
zapai deps: bump go.uber.org/zap from 1.26.0 to 1.27.0 in /zapai (#2601) 2024-02-29 02:57:43 +00:00
zapetw ETW logging implementation in CNI (#2668) 2024-04-18 18:17:18 +00:00
.gitattributes CI: Add golint-ci (#888) 2021-06-01 16:58:56 -07:00
.gitignore chore: [NPM] Remove TLS Certifications in NPM (#2561) 2024-02-07 17:16:20 +00:00
.golangci.yml fix: change to new-from-rev master in lint action (#2448) 2023-12-19 15:57:05 -06:00
CONTRIBUTING.md Create initial contrbuting guides (#2244) 2023-09-26 14:53:18 -07:00
Dockerfile.cnm pull images from mcr (#1347) 2022-04-26 17:42:45 -05:00
LICENSE Added LICENSE 2017-01-31 19:51:14 -08:00
MAINTAINERS Update MAINTAINERS 2018-01-19 11:09:21 -08:00
Makefile fix: remove cnms code (#2592) 2024-02-29 01:34:30 +00:00
README.md docs: [NPM] add windows documentation and update links to MSDocs (#1805) 2023-02-16 21:12:22 +00:00
SECURITY.md Microsoft mandatory file (#1390) 2022-05-27 12:44:20 -05:00
Tiltfile feat: [NPM] Restructure code and add deploy manifests (#1203) 2022-02-04 16:25:12 -08:00
go.mod deps: bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible (#2653) 2024-03-20 21:01:18 +00:00
go.sum deps: bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible (#2653) 2024-03-20 21:01:18 +00:00

README.md

Microsoft Azure Container Networking

Build Status Go Report Card GitHub release

Azure Network Policy Manager Conformance
Cyclonus Network Policy Suite Cyclonus Network Policy Test
Kubernetes Network Policy E2E Build Status

Overview

This repository contains container networking services and plugins for Linux and Windows containers running on Azure:

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:

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.