亿琪软件-开源博客 - Kubernetes
type: channel
link: https://www.yiqisoft.cn/blogs/tag/Kubernetes/
items: 离线部署 k3s 集群和搭建管理环境
items: K3S 私有化部署方案实践
items: 如何在 Kubernetes 中部署 ThingsBoard？步骤很简单，过程很艰辛！

离线部署 k3s 集群和搭建管理环境
type: item
date: 2025-04-27T01:46:00+00:00
description: 环境准备 下载离线安装文件 准备数据库 PostgreSQL 安装部署 k3s 准备服务器 导入镜像包 拷贝主程序 k3s 安装 安装 Helm 部署工具 部署 Cert Manager 部署 Rancher 集群管理工具 导入镜像 部署 Rancher 部署网络存储 使用 Ceph（推荐） 使用 NFS 网络文件系统 部署 Harbor 私有化仓库 部署 pv 和 pvc 安装 NFS 依赖 部署 Harbor 部署 ChartMuseum 管理工具 下载 ChartMuseum 镜像 部署 ChartMuseum Helm Chart 上传 Charts 到 ChartMuseum 部署 frps 反向代理 编译 frps 开发 frps Helm Chart 部署到 k3s 管理集群 验证结果 管理新的集群（业务集群） 环境准备 下载离线安装文件 本例子用 v1.30.4+k3s1 安装脚本 install.sh wget https://github.com/k3s-io/k3s/raw/refs/tags/v1.30.4+k3s1/install.sh 主程序 k3s wget https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s 镜像压缩包 wget https://github.com/k3s-io/k3s/releases/download/v1.30.4%2Bk3s1/k3s-airgap-images-amd64.tar 准备数据库 PostgreSQL 数据库 name ip notes database 192.168.100.100 PostgreSQL 创建 compose.yml services: postgres: image: postgres:alpine container_name: postgres restart: unless-stopped environment: POSTGRES_USER: k3s POSTGRES_PASSWORD: talent POSTGRES_DB: k3s ports: - "5432:5432" volumes: - ./data:/var/lib/postgresql/data - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh 创建脚本 init-db.sh #!/bin/bash set -e psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname=postgres <<-EOSQL CREATE DATABASE harbor; EOSQL 启动 PostgreSQL 数据库容器 docker compose up -d 验证数据库 docker exec -it postgres psql -U k3s -c '\l' List of databases Name | Owner | Encoding | Locale Provider | Collate | Ctype | Locale | ICU Rules | Access privileges -----------+-------+----------+-----------------+------------+------------+--------+-----------+------------------- harbor | k3s | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | k3s | k3s | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | ... (5 rows) 安装部署 k3s 准备服务器 准备三台机器，都作为 master 运行，本节内容需要在三台都执行。 name ip notes master01 192.168.100.101 必须 master02 192.168.100.102 可选 master03 192.168.100.103 可选 cat <<EOF >> /etc/hosts 192.168.100.100 database 192.168.100.101 master01 192.168.100.102 master02 192.168.100.103 master03 EOF 导入镜像包 离线安装重要步骤 mkdir -p /var/lib/rancher/k3s/agent/images/ cp k3s-airgap-images-amd…

K3S 私有化部署方案实践
type: item
date: 2024-10-05T16:32:00+00:00
description: 准备工作 硬件 软件 基础配置 数据库配置 Docker 数据库 PostgreSQL MySQL 部署 K3S 管理集群 主机名 K3S 核心安装 自动安装(推荐) 手动二进制文件安装(不推荐) Master / Worker 手动加入(如有必要) 安装 Rancher 集群管理工具和 Harbor Registry 仓库 准备工作 安装 Kubernetes 包管理工具 Helm 安装证书管理器 cert-manager 安装 Rancher 安装 Harbor 使用 Ceph（推荐） 使用 NFS 部署 pv 和 pvc 部署 Harbor Helm 批量上传所需 image 到 Harbor 部署 K3S 业务集群 所有的 Master 和 Worker 都加入业务集群 Rancher 中创建一个新的集群 Master 加入集群(初始化业务集群) Worker 加入业务集群 (部署/更新) Harbor hub CA 证书到所有的 Master 和 Worker (手动操作)导出 Harbor hub HTTPS 证书 (自动部署)Harbor Hub CA 证书 新建一个 Secret 新建一个 DaemonSet 基于 K3S 部署业务应用(边缘计算框架) EdgeX Foundry Base 部署辅助应用：流媒体，推理服务器，NVR 部署 OpenVINO AI 应用 总结 准备工作 硬件 主 K3S Master 节点：3台, master101, master102, master103 业务 K3S Master 节点：3台，master151, master152, master153 Worker 节点：N台，随意, worker01, worker02, ... 软件 基础配置 操作系统：Ubuntu Server 22.04 最小化安装系统，包含：openssh-server, iputils-ping, net-tools, vim PRETTY_NAME="Ubuntu 22.04.5 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.5 LTS (Jammy Jellyfish)" 管理集群 主机名 IP 其他 database 192.168.198.100 数据库+NFS存储，如有需要做 HA master101 192.168.198.101 管理 K3S master master102 192.168.198.102 管理 K3S master master103 192.168.198.103 管理 K3S master 业务集群 主机名 IP 其他 master151 192.168.123.151 业务 K3S master + worker master152 192.168.123.152 业务 K3S master + worker master153 192.168.123.153 业务 K3S master + worker worker161 192.168.123.161 业务 worker worker162 192.168.123.162 业务 worker 数据库配置 Docker 准备 docker 环境 curl -fsSL https://get.docker.com | sh - 验证 docker docker images REPOSITORY TAG IMAGE ID CREATED SIZE 设置一个 Registry 镜像 cat /etc/docker/daemon.json { "insecure-registries" : [ "0.0.0.0/0" ], "registry-mirrors": [ "https://xxx.mirror.swr.myhuaweicloud.com" ] } 重启 docker systemctl restart docker 数据库 PostgreSQL 创建 compose.yml services: postgres: image: postgres:alpine container_name: postgres restart: unless-stopped environment: POSTGRES_USER: k3s POSTGRES_PASSWORD: talent POSTGRES_DB: k3s ports: - "5432:5432" volumes: - ./data:/var/lib/postgresql/data - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh …

如何在 Kubernetes 中部署 ThingsBoard？步骤很简单，过程很艰辛！
type: item
date: 2020-11-22T01:11:00+00:00
description: 目录 关注我们 关注 ThingsBoard 微信公众号 访问 ThingsBoard 中文社区网站 众所周知，Kubernetes（k8s）太火了，太牛了，咱们把部署在 ThingsBoard 上更是理所当然。一句话总结：步骤很简单，过程很艰辛！ 准备 Docker 和 Kubernetes 环境 安装 Docker Desktop CE 版本 安装 Kubenetes 本地版本 kubectl version --client !/bin/bash get images show images !/bin/bash get images (ui) show images kubectl version kubectl apply -f k8s-dashboard.yaml kubectl proxy kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.41.2/deploy/static/provider/cloud/deploy.yaml kubectl apply -f ingress-nginx.yaml docker pull k8s.gcr.io/ingress-nginx/controller:v0.41.2@sha256:1f4f402b9c14f3ae92b11ada1dfe9893a88f0faeb0b2f4b903e2c67a0c3bf0de kubectl get pods -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx --watch 关注我们 关注 ThingsBoard 微信公众号 手动增加微信公众号：thingsboard_cn 访问 ThingsBoard 中文社区网站 访问网址：http://www.thingsboard.club 众所周知，Kubernetes（k8s）太火了，太牛了，咱们把部署在 ThingsBoard 上更是理所当然。一句话总结：步骤很简单，过程很艰辛！ 准备 Docker 和 Kubernetes 环境 安装 Docker Desktop CE 版本 笔者使用的老版本 MacBook Pro 13，下载安装 Docker Desktop CE 版本，这个比较简单，官方下载，安装即可完成，启动。 ![docker.png][1] 启用 Docker Desktop 中 Kubernetes ![kubernetes-in-docker.png][2] 哇塞，是不是太简单了？当然不会那么容易搞定，你会一直出现 “Starting” 的状态，别傻等，要去 Google 一下。关键字：如何成功启动 Docker 自带的 Kubernetes？ 总之，你一定要找到办法解决你的 Kubernetes 成功启动。 安装 Kubenetes 本地版本 安装 Kubernetes，就是简单，本地安装搞定 # brew install kubernetes-cli kubectl version --client Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.4", GitCommit:"d360454c9bcd1634cf4cc52d1867af5491dc9c5f", GitTreeState:"clean", BuildDate:"2020-11-12T01:09:16Z", GoVersion:"go1.15.4", Compiler:"gc", Platform:"darwin/amd64"} - 为了让 Docker Desktop 启动 k8s，需下载相关的 docker images，需要通过一个脚本 docker-images-k8s.sh，然后运行，从 aliyun 下载 docker image 比较快。 !/bin/bash set -e KUBE_VERSION=v1.19.3 KUBE_PAUSE_VERSION=3.2 ETCD_VERSION=3.4.13-0 COREDNS_VERSION=1.7.0 GCR_URL=k8s.gcr.io ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers get images images=(kube-proxy:${KUBE_VERSION} kube-scheduler:${KUBE_VERSION} kube-controller-manager:${K…