{"id":28740925,"url":"https://github.com/aliyuncontainerservice/alibabacloud-erdma-controller","last_synced_at":"2025-07-12T08:06:27.629Z","repository":{"id":262602865,"uuid":"863830259","full_name":"AliyunContainerService/alibabacloud-erdma-controller","owner":"AliyunContainerService","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-09T07:29:55.000Z","size":170,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-07-09T23:37:55.621Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AliyunContainerService.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-27T01:57:26.000Z","updated_at":"2025-07-09T07:29:59.000Z","dependencies_parsed_at":"2024-11-13T10:26:17.843Z","dependency_job_id":"c1c72344-51da-4158-bb5b-66b2f84bda25","html_url":"https://github.com/AliyunContainerService/alibabacloud-erdma-controller","commit_stats":null,"previous_names":["aliyuncontainerservice/alibabacloud-erdma-controller"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AliyunContainerService/alibabacloud-erdma-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliyunContainerService%2Falibabacloud-erdma-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliyunContainerService%2Falibabacloud-erdma-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliyunContainerService%2Falibabacloud-erdma-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliyunContainerService%2Falibabacloud-erdma-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AliyunContainerService","download_url":"https://codeload.github.com/AliyunContainerService/alibabacloud-erdma-controller/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AliyunContainerService%2Falibabacloud-erdma-controller/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264958623,"owners_count":23689035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-16T07:09:35.040Z","updated_at":"2025-07-12T08:06:27.600Z","avatar_url":"https://github.com/AliyunContainerService.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# alibabacloud-erdma-controller\nKubernetes controller for alibabacloud erdma resource\n\n## Description\nDynamic configure erdma devices on kubernetes nodes, and automatically inject erdma-accelerated networks for Kubernetes Pods.\n\n![alibabacloud-erdma-controller](docs/images/erdma-controller.png)\n\n## Getting Started\n\n### Prerequisites\n- helm\n- Kubernetes Cluster With AlibabaCloud ECS Nodes\n- AlibabaCloud Linux 3 with Kernel Version \u003e= 5.10.134-17\n\n### To Deploy on the cluster\n#### create \u0026 authorize ram role\u0026policy\nalibabacloud-erdma-controller need following permissions:\n```json\n{\n  \"Version\": \"1\",\n  \"Statement\": [\n    {\n      \"Action\": [\n        \"ecs:DescribeInstances\",\n        \"ecs:DescribeInstanceTypes\",\n        \"ecs:DescribeNetworkInterfaces\",\n        \"ecs:ModifyNetworkInterfaceAttribute\",\n        \"ecs:CreateNetworkInterface\",\n        \"ecs:AttachNetworkInterface\"\n      ],\n      \"Resource\": [\n        \"*\"\n      ],\n      \"Effect\": \"Allow\"\n    }\n  ]\n}\n```\n#### prepare configuration\nprepare a values.yaml file with the following content to authorize controller to access erdma API:\n##### use rrsa authorization\n```yaml\ncredentials:\n  type: \"oidc_role_arn\"\nserviceAccount:\n  annotations:\n    pod-identity.alibabacloud.com/role-name: {your-ram-role-name}\n```\n*need config rrsa components on ACK, [refer doc.](https://help.aliyun.com/zh/ack/ack-managed-and-ack-dedicated/user-guide/use-rrsa-to-authorize-pods-to-access-different-cloud-services)*\n\n##### use access_key authorization\n```yaml\ncredentials:\n  type: \"access_key\"\n  accessKeyID: \"{access key}\"\n  accessKeySecret: \"{access key secret}\"\n```\n#### helm install\n```sh\nhelm install -f values.yaml --namespace kube-system alibaba-erdma-controller deploy/helm/\n```\n\n#### check status\n##### check pods\n```sh\nkubectl get pod -n kube-system | grep erdma\n```\n##### check erdma devices\n```sh\nkubectl get erdmadevices\n```\n##### check device plugin\n```sh\nkubectl get node -o yaml | grep aliyun/erdma\n```\n\n### Using ERDMA Accelerated Network\n#### Pod Configurations to Enable ERDMA Accelerated Network\n* add `aliyun/erdma` resource in pod spec # config erdma devices for pod\n* `network.alibabacloud.com/erdma-smcr: \"true\"` # config smcr for pod, dynamicially replace tcp connection to erdma, need `network.alibabacloud.com/erdma` enabled first.\n\n#### Example\n```yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  labels:\n    app: erdma\n  name: erdma\nspec:\n  replicas: 1\n  selector:\n    matchLabels:\n      app: erdma\n  template:\n    metadata:\n      labels:\n        app: erdma\n      annotations:\n        network.alibabacloud.com/erdma-smcr: \"true\"\n    spec:\n      containers:\n      - command:\n        - sleep\n        - \"360000\"\n        image: registry.aliyuncs.com/wangbs/netdia:latest\n        name: erdma\n        resources:\n          limits:\n            aliyun/erdma: 1\n```\n\n### To Uninstall\nuninstall helm\n```sh\nhelm -n kube-system uninstall alibaba-erdma-controller \n```\n\n## Build\n### Build Controller\n```sh\ndocker build --tag registry.aliyuncs.com/erdma/controller:latest --target controller .\n```\n### Build Agent\n```sh\ndocker build --tag registry.aliyuncs.com/erdma/agent:latest --target agent .\n```\n### Build SMCR_INIT\n```sh\ndocker build --tag registry.aliyuncs.com/erdma/smcr_init:latest --target smcr_init .\n```\n\n## License\n\nCopyright 2024.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n```text\nhttp://www.apache.org/licenses/LICENSE-2.0\n```\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyuncontainerservice%2Falibabacloud-erdma-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliyuncontainerservice%2Falibabacloud-erdma-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliyuncontainerservice%2Falibabacloud-erdma-controller/lists"}