k8s
文章平均质量分 92
云游
利用自己的绵薄力量帮助别人少走弯路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
docker:将cas、tomcat、字体统一打包成docker容器
本文介绍了使用Docker容器化部署CAS登录认证系统的实践方案。针对传统Tomcat部署中字体文件和依赖包缺失的问题,作者采用Docker技术将应用、Tomcat 9.0.31、字体文件及Java17环境打包成统一镜像。详细说明了基于eclipse-temurin:17-jdk基础镜像构建的Dockerfile配置,包括字体文件复制、时区设置和卷挂载等关键步骤。通过docker buildx命令构建cas:1.1镜像并保存为tar文件,最后演示了容器运行和日志目录挂载的部署方法。该方案有效解决了环境差异问原创 2025-07-30 18:37:17 · 919 阅读 · 0 评论 -
Error response from daemon: invalid pool request: Pool overlaps with other one on this address space
检查网络冲突:在设计网络拓扑时,请确保不同网络之间没有 IP 地址冲突,特别是在多主机环境中使用 overlay 网络时尤为重要。注通过docker network inspect ***查看每个网络的详细内容,看到底哪个网络占用了172.20段网络。这会将名为 my_container 的容器连接到名为 my_network 的网络。这将尝试删除名为 my_network_1 和 my_network_2 的网络。使用场景:当需要为一组容器定义自定义网络以实现隔离或特定的网络配置时使用。原创 2025-07-03 15:17:31 · 1104 阅读 · 0 评论 -
docker:将python开发的大模型应用,打成docker容器
本文介绍了基于大模型的应用系统在离线环境部署时,通过Docker容器解决依赖包缺失问题的方法。使用Miniconda3基础镜像,通过conda-pack预打包环境(12G),显著缩短部署时间(相比在线安装节省约4小时)。详细说明了Dockerfile编写过程,包括环境配置、文件复制、路径设置等步骤,并提供了容器构建和运行的命令。该方法虽然增大了部署包体积(从4G增至12G),但有效解决了信创服务器离线部署的依赖问题,提升了部署效率。原创 2025-08-02 14:16:55 · 877 阅读 · 0 评论 -
Connection timed outIs the server running on host and ccepting TCP/IP connections on port 5433
问题出在宿主机网络栈与 Docker 网络之间的通信阻断。有多个默认路由冲突。gpdb_a、gpdb_b间通过自定义网络实现通信。1.通过ip route show查看路由表。linux的IP命令详见。原创 2025-07-03 14:40:30 · 1227 阅读 · 0 评论 -
System is booting up. Unprivileged users are not permitted Connection closed by 172.19.0.2 port 22
这一行表示在处理认证请求时,将使用 password-auth 文件中定义的所有认证模块。PAM 提供了一种动态认证机制,允许系统管理员通过修改配置文件来控制服务如何进行用户认证、账户管理、密码管理和会话管理。这个模块根据 SELinux 的策略来决定是否允许用户的访问。force revoke 参数强制撤销用户的密钥,以防止潜在的安全风险。再次引入 postlogin 文件中的会话管理模块,确保用户登录后的任何必要操作都被执行。引入 password-auth 文件中的账户管理模块。原创 2025-07-03 15:45:30 · 724 阅读 · 0 评论 -
离线环境部署docker.socket后,重启docker,报docker.socket: Control process exited, code=exited, status=216/GROUP
Docker.socket是Docker守护进程的通信接口,负责接收客户端请求。当systemctl重启Docker时出现依赖错误,检查docker.socket状态发现失败,原因是缺失docker用户组。原创 2025-06-22 14:44:57 · 1323 阅读 · 0 评论 -
离线升级docker-compose到2.37.2后,执行docker-compose --version报cannot execute binary file: Exec format error
docker-compose 是 Docker 提供的一个工具,用于定义和运行 多容器 Docker 应用程序。它通过一个 YAML 文件(通常是 docker-compose.yml)来配置应用程序所需的所有服务、网络、卷、环境变量等资源,并通过简单的命令即可启动、停止、重建整个应用环境。原创 2025-06-22 15:48:35 · 1092 阅读 · 0 评论 -
离线部署docker中的containerd服务
containerd 是一个行业标准的容器运行时,专注于简单、健壮的容器执行。它是从 Docker 中分离出来的项目,旨在作为一个底层的运行时接口,供更高层次的容器管理层使用。containerd 负责镜像传输、存储、容器执行、网络配置等工作。它向上为 Docker 等高级容器管理层提供 API 接口,向下则直接调用操作系统内核特性或通过 runC 来运行容器。是由 containerd 自动创建的,前提是 containerd 已经被正确安装、配置并启动。原创 2025-06-22 15:05:23 · 945 阅读 · 0 评论 -
validate CRI v1 image API for endpoint “unix:///run/containerd/containerd.sock“
这个错误表明 crictl 无法通过当前配置与容器运行时(如 containerd)进行通信。具体来说,crictl 正在尝试使用 CRI v1 的 ImageService API,但目标端点(containerd)似乎没有实现该服务,或者其配置不正确。3.3 使用 crictl 测试连接。没有启用 CRI 支持就会报错。3.2使用 ctr 命令测试。原创 2025-07-07 20:05:52 · 1338 阅读 · 0 评论 -
k8s:利用kubectl部署nginx
本文介绍了在离线环境下基于Hygon C86处理器和麒麟操作系统部署HTTPS服务的完整流程。首先通过CA签发服务器证书并创建Kubernetes Secret存储证书密钥,然后配置Nginx服务(包含HTTP/HTTPS监听端口),接着创建PV/PVC存储和部署Nginx容器,最后通过NodePort服务暴露端口。关键步骤包括:1)使用ConfigMap管理Nginx配置;2)通过Secret挂载TLS证书;3)绑定本地存储路径;4)实现双端口(80/443)服务暴露。最终可通过NodePort端口同时提原创 2025-07-26 10:32:19 · 1373 阅读 · 1 评论 -
k8s:将打包好的 Kubernetes 集群镜像推送到Harbor私有镜像仓库
本文介绍了在离线环境中部署Harbor镜像仓库的完整流程。首先通过脚本创建多个Harbor项目,然后使用KubeKey工具将预打包的Kubernetes镜像(kubesphere.tar.gz)推送到Harbor仓库。接着配置containerd以支持从私有仓库拉取镜像,包括设置TLS证书和镜像仓库端点。最后解决Kubernetes 1.26.12安装过程中pause镜像的拉取问题,通过重命名本地镜像的方式替代原本需要从registry.k8s.io获取的pause镜像。整个过程涉及Harbor项目创建、镜原创 2025-07-26 10:15:20 · 1417 阅读 · 0 评论 -
K8s:离线部署Kubernetes1.26.12及采用外部Harbor
本文详细介绍了在离线环境下使用KubeKey部署KubeSphere集群的完整流程。主要内容包括:1)在联网服务器下载KubeKey工具、获取镜像列表并构建离线安装包;2)在离线服务器创建配置文件,配置私有镜像仓库信息;3)通过KubeKey命令执行离线安装。文中提供了详细的manifest-sample.yaml和config-sample.yaml配置文件示例,包含Kubernetes v1.26.12、containerd 1.7.13等组件版本信息,以及华为云镜像仓库地址。该方案适用于无公网环境的国原创 2025-07-23 20:39:18 · 1517 阅读 · 1 评论 -
k8s:docker compose离线部署haborV2.13.1及采用外部的postgresql及redis数据库
本文介绍了在离线环境(Hygon C86 32核处理器+麒麟系统)部署Harbor 2.13.1的详细过程。主要内容包括:1)准备离线安装包并解压;2)配置harbor.yml文件(设置访问地址、HTTPS证书、管理员密码等);3)修改docker-compose.yml为关键服务添加privileged权限;4)调整docker配置添加insecure-registries并重启服务;5)最后执行docker-compose启动Harbor服务。文中特别强调了HTTPS证书配置、权限问题处理等关键步骤,为原创 2025-07-23 20:14:44 · 1124 阅读 · 0 评论 -
k8s:利用helm离线部署tomcatV11.0.9,报The TOMCAT_PASSWORD environment variable is empty or not set
摘要:安装Tomcat时出现凭据文件不可读错误,原因是usePasswordFiles参数被设为true导致凭据以文件形式挂载而非环境变量。解决方案是将usePasswordFiles设为false,并指定私有镜像仓库、Secret密钥等配置参数。文档还提供了进入Pod、导出部署配置、查看容器用户及卸载Tomcat等操作命令,涵盖了从安装部署到维护管理的完整流程。关键配置包括镜像仓库地址、安全策略设置、密码传递方式等,适用于企业级Tomcat容器化部署场景。原创 2025-07-22 19:53:30 · 645 阅读 · 0 评论 -
k8s:离线部署tomcatV11.0.9,报Cannot find /opt/bitnami/tomcat/bin/setclasspath.sh
本文记录了在离线环境下部署Tomcat容器时遇到的权限问题及解决方案。在Docker环境中运行Tomcat时出现"找不到setclasspath.sh"错误,通过添加--security-opt seccomp=unconfined参数解决。在Kubernetes环境中部署时出现相同问题,通过设置containerSecurityContext.seccompProfile.type=Unconfined解决。文章对比了Unconfined和RuntimeDefault两种seccomp原创 2025-07-22 19:11:20 · 815 阅读 · 0 评论 -
k8s:利用helm离线部署consul v1.21.2
本文介绍了在离线环境下部署Consul服务网格的完整流程。环境采用国产化硬件(Hygon CPU+麒麟OS)和Kubernetes生态(KubeSphere 4.1.2),详细说明了Consul各端口功能(8500/HTTP API、8600/DNS等)。通过互联网机器使用Helm下载Bitnami仓库的Consul Chart和镜像,经Docker保存为离线包后,在离线服务器完成镜像加载、标签修改及推送到私有仓库(Harbor)的全过程。最后使用Helm安装配置Consul,包含镜像仓库地址、拉取策略等关原创 2025-07-22 19:01:51 · 1129 阅读 · 0 评论 -
k8s:离线部署存在的相关问题
摘要:本文解决三个常见Kubernetes环境问题:1) 编译docker-compose时缺少Go环境,通过安装Go1.24.4并配置环境变量解决;2) node节点kubectl连接APIServer失败,需从master节点拷贝admin.conf配置文件;3) node节点从Harbor拉取镜像时证书验证失败,需配置CA证书。每个问题均包含详细错误现象、原因分析及操作步骤说明,涉及环境变量配置、kubeconfig文件结构解析等关键知识点。原创 2025-07-20 15:19:36 · 881 阅读 · 0 评论 -
k8s:离线添加集群节点
本文介绍了在Kubernetes集群中离线添加节点的完整流程。主要内容包括:1)CA证书配置,将Harbor主机的CA证书分别添加到系统信任库、containerd和docker的证书目录;2)节点准备工作,包括拷贝KubeKey工具、配置文件和离线包;3)使用kk命令添加节点,指定配置文件和KubeSphere离线包路径进行部署。关键步骤涉及证书更新、服务重启、目录创建及配置文件编辑等操作,确保新节点能安全访问Harbor仓库并加入集群。原创 2025-07-20 15:06:18 · 969 阅读 · 0 评论 -
k8s:离线添加集群节点的相关组件安装与升级
本文介绍了在离线环境下基于Hygon C86和麒麟操作系统的Kubernetes集群相关组件安装与升级过程。主要包括:1)通过rpm包安装conntrack 1.4.4;2)源码编译安装socat 1.8.0;3)将Docker从23.0.6升级到28.2.2,包括二进制文件替换、服务配置和用户组处理;4)安装Compose 2.27.2和containerd 1.7.27,涵盖配置文件生成、服务启动及状态检查。所有操作均采用离线方式进行,通过scp命令在各节点间传输安装包,并详细记录了各组件安装步骤和验证原创 2025-07-20 14:54:47 · 1253 阅读 · 0 评论 -
k8s:手动创建PV,解决postgis数据库本地永久存储
本文介绍了在离线环境下基于Kubernetes集群配置PostgreSQL本地存储的详细步骤。首先创建了名为local-postgresql的StorageClass,采用WaitForFirstConsumer绑定模式,并设置回收策略为Retain。然后手动创建了10Gi容量的PersistentVolume,指定本地存储路径为/app/postdata,并配置节点亲和性确保仅master节点可用。文中详细解释了每个配置参数的含义,包括StorageClass的Provisioner、VolumeBind原创 2025-07-18 18:40:08 · 1089 阅读 · 1 评论 -
k8s:利用kubectl部署postgis:17-3.5
CPU:Hygon C86 7285 32-core Processor操作系统:麒麟操作系统containerd:1.7.27Kubernetes:1.26.12KubeSphere:4.1.2kubekey:3.1.10Harbor:2.13.1Postgis:17-3.5原创 2025-07-18 18:17:36 · 936 阅读 · 0 评论 -
通过HTTPS访问Harbor2.13.1 的配置
操作系统版本:Ubuntu 24.04.2 LTSopenssl的版本:3.0.15Harbor版本:2.13.1。原创 2025-06-29 18:19:13 · 1107 阅读 · 0 评论 -
登录Harbor2.13.1,报unable to get PrivateKey from PEM type: PRIVATE KEY
OpenSSL 3.0 中的行为已经发生了变化,它不再默认输出传统的 PKCS#1 格式(即 -----BEGIN RSA PRIVATE KEY-----),而是仍然输出了 PKCS#8 格式。你需要使用 -traditional 参数来强制 OpenSSL 使用传统格式输出 RSA 私钥,但在 OpenSSL 3.0 中,这个参数不能直接用在 rsa 命令上,而必须配合 pkey 工具一起使用。强制 OpenSSL 输出传统格式的私钥(即 PKCS#1 格式)。指定输出的私钥文件路径。原创 2025-06-29 18:38:38 · 1025 阅读 · 0 评论 -
k8s:Error downloading plugin manifest keys“ error=“Get \“https://grafana.net/api/plugins/ci/keys\“
类型是否适合外网访问推荐用途ClusterIP❌ 否集群内访问NodePort✅ 是测试环境、私有网络访问✅ 是公有云生产环境Ingress✅ 是统一 API 网关、路径路由。原创 2025-07-12 23:13:11 · 797 阅读 · 0 评论 -
k8s:安装 Helm 私有仓库ChartMuseum、helm-push插件并上传、安装Zookeeper
ChartMuseum 是 Kubernetes 生态中用于存储、管理和发布 Helm Charts 的开源系统,主要用于扩展 Helm 包管理器的功能集中存储:提供中央化仓库存储Charts,支持版本管理和权限控制。跨集群部署:支持多集群环境下共享Charts,简化部署流程。离线部署:适配无网络环境,可将Charts存储在本地或局域网内。HTTP接口:通过HTTP协议提供服务,用户可通过Helm客户端上传、下载及搜索Charts。。原创 2025-07-10 20:23:48 · 1301 阅读 · 0 评论 -
k8s:0/1 nodes are available: pod has unbound immediate PersistentVolumeClaims.
ZooKeeper Pod (zookeeper-0) 处于 Pending 状态,表明Pod 无法启动是因为它依赖的 PersistentVolumeClaim (PVC) 没有绑定到任何 PersistentVolume (PV)。path: "/mnt/datalog" # 根据实际情况更改路径。path: "/mnt/data" # 根据实际情况更改路径。PVC 已经创建但尚未绑定到任何 PV。创建如下 PV 定义文件(操作系统:麒麟操作系统。原创 2025-07-13 16:38:16 · 1325 阅读 · 0 评论
分享