K3S安装的时候默认使用docker
发表于|更新于|软件
|浏览量:
K3S安装的时候默认使用docker
问题
k8s在1.20之后就弃用docker的运行时了,所以k3s也开始默认使用containerd作为默认的运行时。
这导致一个问题。那就是k3s无法访问本地docker镜像。
解决方案
一种解决方案就是使用containerd的镜像,而不是docker。还有一种方式是在安装时就指定k3s使用docker作为运行环境。
1 | /usr/local/bin/k3s-uninstall.sh |
国内用户,可以使用以下方法加速安装:
1 | curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --docker |
文章作者: Arthur Ming
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Damingerdai's Blog!
相关推荐

2023-09-27
HorizontalPodAutoscaler入门实践
HorizontalPodAutoscaler在Kubernetes中,HorizontalPodAutoscaler 自动更新工作负载资源(例如Deployment或者StatefulSet),目的是自动扩缩工作负载以满足需求。水平扩缩意味着对增加的负载的响应是部署更多的 Pod。 本文目的是通过Docker Desktop上的Kubernetes实例去实践pod的水平扩展。 本文默认Docker Desktop上的Kubernetes已经安装完成。如果需要帮助,可以阅读Docker Desktop自带k8s安装笔记。 安装 Metrics server由于Docker Desktop上的Kubernetes默认并没有安装Metrics server,而HorizontalPodAutoscaler依赖通过Metrics server获取到的数据, 因此需要提前安装。 12kubectl top node error: Metrics API not available 从Metrics server的release页面获取最新的components.yaml文件, 然后执行...

2026-01-08
轻量化 K8s 管理方案:在 k3s 中部署 Skooner 可视化面板
前言管理 Kubernetes 集群不应该以牺牲系统资源为代价。虽然官方 Dashboard 功能强大,但对于小型集群或单节点 k3s 环境来说,它往往显得过于臃肿。如果你正在寻找一个极致轻快、响应迅速的管理界面,Skooner 是一个完美的平衡点。 Skooner(原名 K8dash)是一款开源、超轻量级的实时仪表盘,它在不增加集群负担的前提下,提供了核心的资源观测能力。 为什么选择 Skooner?Skooner 的设计哲学与 k3s 的轻量化理念完美契合: 极低的资源占用:它的内存占用通常不到 50MB,在你的系统监控中几乎可以忽略不计。 实时状态感知:基于 WebSocket 技术,无需手动刷新页面即可实时查看 CPU、内存消耗以及 Pod 状态。 移动端自适应:UI 采用响应式设计,即使在手机或平板浏览器上也能轻松排查集群问题。 部署步骤在本指南中,我们将通过 NodePort (32007) 的方式部署并暴露 Skooner,以便你直接通过物理机 IP 访问。 1. 部署核心组件首先,一键安装 Skooner 的命名空间、服务和部署资源: 12kubectl ap...

2021-01-14
Docker Desktop自带k8s安装笔记
Docker Desktop自带k8s安装笔记安装一个k8s还是一个比较复杂的事情,但是Docker Desktop已经自带了一个简易版的k8s,可以基本满足正常的学习使用 安装Docker对于Mac用户,请点击Docker Desktop对于Windows10用户,请点击Docker Desktop 配置docker的国内镜像国内的网络下载可能比较慢,建议使用下面的镜像 1234567891011121314151617{ "registry-mirrors": [ "https://dockerproxy.com", "https://dockerhub.azk8s.cn", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "https://mirror.baidubce.com", "http://hub...

2026-04-05
从 Demo 到生产级:Kite 在 K3s 上的 PostgreSQL 与 Ingress 部署实战
从 Demo 到生产级:Kite 在 K3s 上的高可用数据库与 HTTPS 部署实践引言在之前的文章 《玩转 K8s 面板:轻量级 Kite 安装全记录 (K3s 篇)》 中,我们快速搭建了测试环境。但随着使用深入,原方案的局限性开始显现。今天我们将进行一次彻头彻尾的“生产级”改造。 1. 原方案的痛点:为什么不能用于生产?原方案最大的问题在于数据持久化。 默认 SQLite 的风险:原方案依赖 Pod 内部或本地路径的 SQLite 数据库。在 Kubernetes 环境下,Pod 是随毁随建的(Stateless)。 数据丢失:一旦节点重启、Pod 漂移或进行版本升级,所有用户配置、AI 工作流数据将全部丢失。 不可扩展性:SQLite 不支持多实例并发写入,限制了未来的水平扩展。 2. 外部数据库集成:计算与存储分离为了实现数据持久化,我们将数据库移出 K3s 集群,部署在独立的服务器(192.168.31.220)上。 2.1 数据库初始化在 PG 服务器上执行: 1234CREATE DATABASE kite_db;CREATE USER kite_user...

2022-01-17
Mac版minikube安装笔记
Mac版minikube安装笔记minikube是一个专注于让Kubernetes更加容易学习和开发的本地Kubernetes。只需要Docker或者虚拟机环境,我们便可以通过minikube start就能快速启动Kubernetes。 要求安装minikube需要以下要求: 至少两个CPU 至少2GB内容 至少20GB的硬盘空间 容器或者虚拟机, 比如Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation 安装针对macos的x86-64的平台的,可以使用homebrew进行安装: 1brew install minikube 如果倾向于二进制文件安装,可以使用下面的命令: 12curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64sudo install minikube-darwin-amd64 /usr/loca...

2025-02-13
在k8s中如何强制删除处于Terminating状态的namesapce
概述在k3s中删除一个namespace十分简单,就是一个命令的事儿: 1kubectl delete ns ${namespace} 但是可能存在删除失败或者namespace一直处于Terminating状态的话,那么上面的命令可能行不通。这里介绍两种实用的解决方案去帮助我们解决。 注意: 这两种方案可能存在错误删除的情况,请谨慎操作。 强制删除kubectl提供force和grace-period=0两个参数帮助我们强制删除namespace: 1kubectl delete ns ${namespace} --force --grace-period=0 说明: –force:强制删除资源,跳过正常的删除流程。 –grace-period=0:立即删除资源,不等待任何清理操作。 使用Kubernetes API 删除获取处于Terminating状态的namespace: 1kubectl get ns |grep Terminating |awk {'print $1'...