nertctl使用了解

測試了幾個容器,似乎未對k8s的containerd產生影響,都能訪問
再次測試,containerd發生了重啟,nrtdctl啟動的容器都沒了

####   sealos 創建containerd集群
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.29.9 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --single####   sealos 創建docker集群
sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes-docker:v1.28.0 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --singleroot@admin:~/nerdctl# kubectl get node
NAME   STATUS   ROLES           AGE     VERSION
byd    Ready    control-plane   1h   v1.29.9
#拉倒指定命名空間里,container加速代理未調試成功
root@admin:~# ctr -n k8s.io images  pull --user cn-south-1@...8 swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9
root@admin:~# ctr -n k8s.io images ls
~# cat redis.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: redis-deployment
spec:replicas: 1selector:matchLabels:app: redistemplate:metadata:labels:app: redisspec:containers:- name: redis-containerimagePullPolicy: IfNotPresentimage: swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9ports:- containerPort: 6379resources:limits:memory: "128Mi"cpu: "200m"---
apiVersion: v1
kind: Service
metadata:name: redis-service
spec:selector:app: redistype: NodePortports:- name: httpport: 6379targetPort: 6379nodePort: 30079root@admin:~# kubectl apply -f redis.yaml    #測試服務是否可用
root@admin:~/nerdctl# kubectl get pod
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-65d75b7b66-rtcsb   1/1     Running   0          11m

安裝nertctl

################   nertctl
root@admin:~# NERDCTL_VERSION=$(curl -s https://api.github.com/repos/containerd/nerdctl/releases/latest | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
root@admin:~# echo $NERDCTL_VERSION
2.1.3
root@admin:~# wget https://github.com/containerd/nerdctl/releases/download/v${NERDCTL_VERSION}/nerdctl-${NERDCTL_VERSION}-linux-amd64.tar.gzhttps://github.com/containerd/nerdctl/releases/download/v2.1.3/nerdctl-2.1.3-linux-amd64.tar.gzroot@admin:~/nerdctl# ./nerdctl images
REPOSITORY                                     TAG      IMAGE ID        CREATED           PLATFORM       SIZE       BLOB SIZE
swr.cn-south-1.myhuaweicloud.com/dddup/redis    6.0.9    94fb31b76518    16 minutes ago    linux/amd64    114.4MB    38.23MBroot@admin:~/nerdctl# ./nerdctl ps
CONTAINER ID    IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMESroot@admin:~/nerdctl# ./nerdctl run -d --name redis6349  -p 6379:6379 swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9
FATA[0000] failed to verify networking settings: failed to create default network: needs CNI plugin "bridge" to be installed in CNI_PATH ("/opt/cni/bin"), see https://github.com/containernetworking/plugins/releases: exec: "/opt/cni/bin/bridge": stat /opt/cni/bin/bridge: no such file or directory

安裝網絡插件

# 創建目錄(如果不存在)
mkdir -p /opt/cni/bin# 下載并解壓 CNI 插件
wget https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz
tar -C /opt/cni/bin -xzf cni-plugins-linux-amd64-v1.3.0.tgzroot@admin:~# ls /etc/cni/net.d/
05-cilium.conf  default         # k8s默認創建的,先不管
root@admin:~/nerdctl# cat /etc/cni/net.d/05-cilium.conf
{"cniVersion": "0.3.1","name": "cilium","type": "cilium-cni","enable-debug": false,"log-file": "/var/run/cilium/cilium-cni.log"
}# 創建 nerdctl 的 CNI 配置目錄
mkdir -p /etc/cni/net.d# 復制 Kubernetes 的 CNI 配置文件(通常由 Flannel/Calico 等創建)
cp /etc/cni/net.d/05-cilium.conf  /etc/cni/net.d/nerdctl.conflist   #  這似乎沒用用到root@admin:~/nerdctl# vim /etc/cni/net.d/nerdctl.conflist  # 改名字
{"cniVersion": "0.3.1","name": "cilium-nertctl",#  k8s使用的名字是cilium"type": "cilium-cni","enable-debug": false,"log-file": "/var/run/cilium/cilium-cni-nertctl.log"#  k8s使用的名字是cilium
}
root@admin:~/nerdctl# ./nerdctl run -d --name redis6379  -p 6379:6379 swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9
c3af9125384cb01120fc00e5fd737010863587b11668f4f291d401d874963102
root@admin:~/nerdctl# ./nerdctl inspect redis6379|grep -i address"address": "/run/containerd/containerd.sock""nerdctl/log-config": "{\"driver\":\"json-file\",\"address\":\"/run/containerd/containerd.sock\"}","GlobalIPv6Address": "","IPAddress": "10.4.0.3","MacAddress": "3e:54:89:65:4c:cf","IPAddress": "10.4.0.3","GlobalIPv6Address": "","MacAddress": "3e:54:89:65:4c:cf"root@admin:~/nerdctl# cat /etc/cni/net.d/nerdctl-bridge.conflist  # 這似乎是自動創建的
{"cniVersion": "1.0.0","name": "bridge","nerdctlID": "17f29b073143d8cd97b5bbe492bdeffec1c5fee55cc1fe2112c8b9335f8b6121","nerdctlLabels": {"nerdctl/default-network": "true"},"plugins": [{"type": "bridge","bridge": "nerdctl0","isGateway": true,"ipMasq": true,"hairpinMode": true,"ipam": {"ranges": [[{"gateway": "10.4.0.1","subnet": "10.4.0.0/24"}]],"routes": [{"dst": "0.0.0.0/0"}],"type": "host-local"}},{"type": "portmap","capabilities": {"portMappings": true}},{"type": "firewall","ingressPolicy": "same-bridge"},{"type": "tuning"}]
}root@admin:~# kubectl get pod -owide
NAME                                READY   STATUS    RESTARTS   AGE   IP          NODE   NOMINATED NODE   READINESS GATES
nginx-deployment-65d75b7b66-rtcsb   1/1     Running   0          32m   10.0.0.48   byd    <none>           <none>

創建自定義網絡

root@admin:~/nerdctl# ./nerdctl network create   --subnet "192.168.200.0/24"   --gateway "192.168.200.1"   my-custom-net
6aba327441687a0a506461680532503e64e093ce89d28ce8cff978768843acf2# 使用自定義網絡
root@admin:~/nerdctl# ./nerdctl run --net my-custom-net -d --name redis16379  -p 16379:6379 swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9
6a98b4a4460f23386d6a1fdf5109996b2b91aeea20aeed5a9ccde332a0c39847
root@admin:~/nerdctl# ./nerdctl ps
CONTAINER ID    IMAGE                                                COMMAND                   CREATED          STATUS    PORTS                      NAMES
6a98b4a4460f    swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9    "docker-entrypoint.s…"    8 seconds ago    Up        0.0.0.0:16379->6379/tcp    redis16379
cbfa26fedcea    swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9    "docker-entrypoint.s…"    7 minutes ago    Up        0.0.0.0:6379->6379/tcp     redis6379root@admin:~/nerdctl# cat /etc/cni/net.d/default/nerdctl-my-custom-net.conflist
{"cniVersion": "1.0.0","name": "my-custom-net","nerdctlID": "6aba327441687a0a506461680532503e64e093ce89d28ce8cff978768843acf2","nerdctlLabels": {},"plugins": [{"type": "bridge","bridge": "br-6aba32744168","isGateway": true,"ipMasq": true,"hairpinMode": true,"ipam": {"ranges": [[{"gateway": "192.168.200.1","subnet": "192.168.200.0/24"}]],"routes": [{"dst": "0.0.0.0/0"}],"type": "host-local"}},{"type": "portmap","capabilities": {"portMappings": true}},{"type": "firewall","ingressPolicy": "same-bridge"},{"type": "tuning"}]
}

compose使用

root@admin:~/nerdctl# ./nerdctl network ls
NETWORK ID      NAME              FILEcilium            /etc/cni/net.d/05-cilium.conf   # 這些網絡通常由容器運行時或系統直接提供,不需要通過 nerdctl 管理生命周期。
6aba32744168    my-custom-net     /etc/cni/net.d/default/nerdctl-my-custom-net.conflist   # 手動創建的
17f29b073143    bridge            /etc/cni/net.d/nerdctl-bridge.conflist   # 自動創建的cilium-nertctl    /etc/cni/net.d/nerdctl.conflist   # 手動復制改名的hostnoneroot@admin:~/nerdctl# cat my-redis.yaml
services:redis:image: swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9container_name: my-rediscommand: redis-server --requirepass "yourpassword"  # 設置密碼ports:- "26379:6379"networks:- my-custom-netnetworks:my-custom-net:external: trueroot@admin:~/nerdctl# ./nerdctl compose -f my-redis.yaml up -d
root@admin:~/nerdctl# ./nerdctl compose -f my-redis.yaml up -d  --force-recreate
root@admin:~/nerdctl# ./nerdctl ps
CONTAINER ID    IMAGE                                                COMMAND                   CREATED           STATUS    PORTS                      NAMES
cd51c9a8881d    swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9    "docker-entrypoint.s…"    11 seconds ago    Up        0.0.0.0:26379->6379/tcp    my-redis
6a98b4a4460f    swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9    "docker-entrypoint.s…"    42 minutes ago    Up        0.0.0.0:16379->6379/tcp    redis16379
cbfa26fedcea    swr.cn-south-1.myhuaweicloud.com/dddup/redis:6.0.9    "docker-entrypoint.s…"    50 minutes ago    Up        0.0.0.0:6379->6379/tcp     redis6379

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93748.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93748.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93748.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

三、k8s 1.29 之 資源清單

一、什么是資源 資源(Resources) 是指集群中可被分配、管理和調度的各種實體,既包括計算、存儲、網絡等基礎設施資源,也包括 K8s 自身定義的 API 對象(如 Pod、Deployment 等)。這些資源是 K8s 調度和管理工作負載的核心基礎。 Kubernetes 中的資源本質上是 “可被操作的…

React中常用的Hook(useEffect、useRef、useMemo、useNavigate、useParams)

React hook1&#xff1a;useEffect 在編程中&#xff0c;副作用是指函數或表達式在執行過程中對外部環境產生影響的行為。例如&#xff1a; 修改外部變量&#xff08;如全局變量、DOM、API 請求、設置定時器等&#xff09; 什么是純函數&#xff1f; // 純函數&#xff1a;輸入…

關聯規則挖掘1:Apriori算法

目錄 一、Apriori算法核心原理 1. 基本概念 2. Apriori性質 二、完整案例計算&#xff08;超市購物數據&#xff09; ?步驟1&#xff1a;按字母序重排每筆交易? ?步驟2&#xff1a;統計頻繁1-項集&#xff08;min_support40%&#xff09;?? ?步驟3&#xff1a;生成…

基于 C++ 線程池的多線程目標檢測后處理系統設計與實現

在實際的智能視頻分析系統中,目標檢測(如 YOLOv5)只是第一步。檢測結果往往需要進行后續處理:畫框、報警、推流、日志記錄等。這些操作如果在檢測主線程中同步執行,會嚴重拖慢整體推理速度。 本文將帶你從零實現一個基于 C++ 模板線程池的異步后處理系統,實現“檢測與后…

Java并發容器詳解

1. JUC并發容器概述 Java集合容器框架主要有四大類別&#xff1a;List、Set、Queue、Map。常見的ArrayList、LinkedList、HashMap等容器都是非線程安全的。 Java提供了同步容器&#xff08;如Vector、Hashtable、SynchronizedList&#xff09;通過synchronized實現同步&#xf…

SpringAI系列---【SpringA集成OllamaI如何先調用向量庫,再把查到的結果一起傳給大模型?】

SpringAI如何先調用向量庫&#xff0c;再把查到的結果一起傳給大模型&#xff1f; 1.引入pom <dependencies><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-ollama</artifactId></depend…

告別“測試滯后”:AI實時測試工具在敏捷開發中的落地經驗

告別“測試滯后”&#xff1a;AI實時測試工具在敏捷開發中的落地經驗 在敏捷開發的“快速迭代”節奏中&#xff0c;測試環節常常成為“拖后腿”的短板。某互聯網公司的敏捷團隊曾陷入這樣的循環&#xff1a;2周迭代周期中&#xff0c;開發用10天完成功能&#xff0c;留給測試的…

K8S-Pod資源對象

一、K8S架構與組件1、K8S架構k8s 總體架構采用了經典的 maste/slave 架構模式&#xff0c;分 master 節點和 worker 節點&#xff0c;節點可以是虛擬機也可以是物理機。K8S組件 master 節點組件Kube-apiserver 用于暴露 Kubernetes API&#xff0c;任何資源請求或調用操作都是通…

PyTorch API 5

文章目錄torch.compiler延伸閱讀torch.fft快速傅里葉變換輔助函數torch.func什么是可組合的函數變換&#xff1f;為什么需要可組合的函數變換&#xff1f;延伸閱讀torch.futurestorch.fx概述編寫轉換函數圖結構快速入門圖操作直接操作計算圖使用 replace_pattern() 進行子圖重寫…

基于決策樹模型的汽車價格預測分析

一、整體流程概覽這份代碼實現了一個完整的機器學習預測流程&#xff0c;核心目標是通過汽車的各項特征預測其價格。整體流程分為 6 個主要步驟&#xff1a;模擬生成汽車數據集&#xff08;含價格標簽&#xff09;數據預處理&#xff08;清洗、編碼、特征選擇&#xff09;探索性…

0基礎安卓逆向原理與實踐:第2章:編程基礎與工具鏈

第2章:編程基礎與工具鏈 2.1 Java編程基礎 2.1.1 Java語言特性 Java是安卓應用開發的主要語言,具有以下核心特性: mindmaproot((Java特性))面向對象封裝繼承多態抽象平臺無關字節碼JVM一次編譯到處運行內存管理自動垃圾回收堆棧管理引用類型安全性字節碼驗證安全管理器訪…

深入理解JVM內存結構:從字節碼執行到垃圾回收的全景解析

&#x1f9e0; 深入理解JVM內存結構&#xff1a;從字節碼執行到垃圾回收的全景解析 #JVM內存模型 #Java性能優化 #垃圾回收機制 #并發編程一、JVM內存結構全景圖二、線程共享區域詳解 2.1 堆&#xff08;Heap&#xff09;—— 對象生存的宇宙 存儲內容&#xff1a; 所有new創建…

用 C++ 構建高性能測試框架:從原型到生產實戰指南

用 C 構建高性能測試框架&#xff1a;從原型到生產實戰指南 ?C 測試框架的關鍵價值?&#xff1a;當你的測試需要每秒處理百萬級交易&#xff0c;微秒級延遲要求已成為常態時&#xff0c;Python GC 的暫停便是不可接受的奢侈。 本文將深入探討如何用 C 構建兼具靈活性和高性能…

【C語言16天強化訓練】從基礎入門到進階:Day 4

&#x1f525;個人主頁&#xff1a;艾莉絲努力練劍 ?專欄傳送門&#xff1a;《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題、洛谷刷題、C/C基礎知識知識強化補充、C/C干貨分享&學習過程記錄 &#x1f349;學習方向&#xff1a;C/C方向 ??人…

C語言:字符函數與字符串函數(1)

在編程的過程中&#xff0c;我們經常會遇到需要處理字符和字符串的情況&#xff0c;為了方便操作字符和字符串&#xff0c;C語言標準庫中提供了一系列庫函數&#xff0c;接下來我們就學習一下這些函數。 目錄 1. 字符分類函數 2. 字母轉換函數 3. strlen函數的使用和模擬實現…

數據結構與算法系列(大白話模式)小學生起點(一)

出身&#xff0c;并不重要 &#xff01;&#xff01;&#xff01;&#xff01;只要有恒心&#xff0c;有毅力&#xff0c;肯于付出與學習&#xff0c;皆會取得相應的成就&#xff01;天道酬勤&#xff0c;天行健&#xff0c;君子當自強不息&#xff01;道可道&#xff0c;非常道…

計算機視覺第一課opencv(二)保姆級教學

目錄 簡介 一、邊界填充 1.函數說明 2.案例分析 二、圖像運算 1.號運算 2.cv2.add()函數 3.圖像加權運算 三、閾值處理 四、圖像平滑處理 1.椒鹽噪聲 2.均值濾波&#xff08;Mean Filtering&#xff09; 3.方框濾波 4. 高斯濾波&#xff08;Gaussian Filtering&am…

DINOv3

一、摘要 https://arxiv.org/pdf/2508.10104 自監督學習有望消除對人工數據標注的需求&#xff0c;使模型能夠輕松擴展到大規模數據集和更大規模的架構。由于不針對特定任務或領域進行定制&#xff0c;這種訓練范式具有從各種來源學習視覺表示的潛力&#xff0c;能夠使用單一…

??pytest+yaml+allure接口自動化測試框架

高薪必備&#xff01;18K接口自動化測試框架落地全流程&#xff5c;零基礎到實戰通關前言# 自動化測試&#xff0c;是目前測試行業一項比較普遍的測試技術了&#xff0c;之前的以UI自動化測試為主&#xff0c;現在的以接口自動化測試為主&#xff0c;無論技術更迭&#xff0c;…

LeetCode每日一題,2025-8-20

統計全為1的正方形子矩陣 這題是正方形&#xff0c;比較簡單 暴力就是二維前綴和。 或者用dp&#xff0c;dp[i][j]表示以i&#xff0c;j為右下角的最大正方形的邊長&#xff0c;它由(i-1,j),(i,j-1),(i-1,j-1)三者共同決定&#xff0c;通過找規律可知&#xff0c;由三個的最小值…