Latest

容器镜像(4):镜像的常用工具箱

容器镜像(4):镜像的常用工具箱

前几篇在讲多架构镜像时已经用过 skopeo 和 crane 做镜像复制,这篇系统整理这两个工具的完整能力,同时介绍几个日常操作镜像时同样好用的工具。 一、skopeo:不依赖 Daemon 的镜像瑞士军刀 skopeo 的核心价值是绕过 Docker daemon,直接与 Registry API 交互。上一篇用它做镜像复制和离线传输,但它的能力远不止于此。 1.1 安装 # Ubuntu / Debian sudo apt install -y skopeo skopeo --version # skopeo version 1.15.1 1.2 inspect:免拉取检查镜像元数据 docker inspect 需要先把镜像拉到本地,skopeo inspect 直接向 Registry

容器镜像(3):多架构镜像构建

容器镜像(3):多架构镜像构建

一、什么是多架构镜像 1.1 OCI Image Index 上一篇介绍了单平台镜像的结构:一个 Manifest 指向 Config 和若干 Layer blob。多架构镜像在此之上多了一层——OCI Image Index(也叫 Manifest List),是一个轻量的索引文件,把多个单平台 Manifest 组织在一起: $ docker manifest inspect golang:1.22-alpine { "schemaVersion": 2, "mediaType": "application/vnd.oci.image.index.v1+json", "manifests&

容器镜像(2):containerd 视角下的镜像

容器镜像(2):containerd 视角下的镜像

一、为什么需要了解 containerd 如果你只用 docker run 跑容器,从来不关心底层,那可以不了解 containerd。但如果你在用 Kubernetes,或者想真正理解"容器运行时"是什么,containerd 是绕不开的。 事实上,当你执行 docker run 的时候,containerd 早就在后台悄悄工作了——Docker 从 1.11 版本开始,就把核心运行时剥离出来交给 containerd 负责。 1.1 Docker 的架构演变 早期的 Docker(1.10 及之前)是一个"大一统"的单体程序:一个 dockerd

利用OpenWrt为虚拟机做流量代理

利用OpenWrt为虚拟机做流量代理

安装Openwrt虚拟机 下载镜像:Index of /releases/22.03.5/targets/x86/64/ (openwrt.org) 转换镜像: qemu-img convert -f raw -O vdi openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img.vdi 配置虚拟机网卡: 在VirtualBox中新建HostNetwork(Host-Only网络),网段为192.168.56.0/24 在openwrt虚拟机的网络选项中设置: 1)启用网卡1,连接方式选仅主机网络,名称选上步创建的HostNetwork 2)启用网卡2,连接方式选桥接网卡,名称选本机上能访问外网的网卡 进入openwrt虚拟机,为lan口设置静态IP地址为HostNetwork中的一个IP,这里用 192.

Certified Calico Operator: Level 1 笔记

Certified Calico Operator: Level 1 笔记

证书课程地址:Course | CCO-L1 | Tigera还有一份可能有用的电子书: Tigera_eBook_Intro_to_Kubernetes_Networking.pdf Kubernetes Network Model 1. 每个 Pod 都有一个 IP 地址; 2. 同一个 Pod 中的容器共享同一 IP 地址,并能通过该地址相互通信; 3. Pod 与 Pod 之间可以通过 IP 通信(无需地址转换); 4. 网络隔离可以限制哪里 Pod 可以访问哪些不可以。 安装测试集群 curl https://raw.githubusercontent.com/tigera/ccol1/main/control-init.yaml

手动安装K8s记录

手动安装K8s记录

必要的工具安装 * cfssl * cfssljson * kubectl 证书与CA 配置和生成kubeconfig * kubelet 配置文件 worker-n.kubeconfig,分发到所有 worker 节点上。 * kube-proxy 配置文件 kube-proxy.kubeconfig,分发到所有 worker 节点上。 * kube-controller-manager 配置文件 kube-controller-manager.kubeconfig,分发到所有 控制节点 上。 * kube-scheduler 配置文件 kube-scheduler.kubeconfig,分发到所有 控制节点 上。 * Admin 配置文件 admin.kubeconfig,分发到所有 控制节点 上。 配置加密k8s secrets的秘钥 encryption-config.yaml,分发到所有 控制节点 上。 配置&

PV、PVC、StorageClass 概览

PV、PVC、StorageClass 概览

为何如此设计 1. 解耦对存储的使用与维护 2. 拓展不同的存储需求 定义 PV 描述的是持久化存储数据卷。这个 API 对象主要定义的是⼀个持久化存储在宿主机上的⽬录,⽐如⼀个 NFS 的挂载⽬录。通常情况下,PV 对象是由运维⼈员事先创建在 Kubernetes 集群⾥待⽤的。类似于接口的具体实现,干活的打工人。 PVC 描述的是 Pod 所希望使⽤的持久化存储的属性。PVC 对象通常由开发⼈员创建;或者以 PVC 模板的⽅式成为 StatefulSet 的⼀部分,然后由 StatefulSet 控制器负责创建带编号的 PVC。类似于接口,不提供具体实现。 PV与PVC匹配绑定

Windows连接L2TP/IPSec的VPN

Windows连接L2TP/IPSec的VPN

Windows系统默认不支持连接在防火墙NAT后的L2TP/IPSec协议VPN,但是可以通过修改注册表解决。 修改方法如下: 1. 定位注册表 :HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent 2. 新建DWORD (32位)值,名称:AssumeUDPEncapsulationContextOnSendRule 3. 值填 2 4. 重启系统 In order to disable IPSec on Windows 7/Vista 1. Click Start, then in search box type: run ENTER 2. In the Run dialog type: regedit