关于k8s和harbor脚本安装的一系列操作

一、k8s工具kuboard创建方法

方法1:docker命令(已亲测)

复制代码
docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  --network=bridge \
  -p 30080:80/tcp \
  -p 10081:10081/udp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://10.0.0.200:30080" \
  -e KUBOARD_AGENT_SERVER_UDP_PORT="10081" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /data/kuboard:/data \
  eipwork/kuboard:v3

方法2: k8s安装(暂未测试)

复制代码
# 下载yaml文件
curl -o kuboard-v3.yaml https://addons.kuboard.cn/kuboard/kuboard-v3.yaml


# 修改yaml配置:
# KUBOARD_ENDPOINT 参数的作用是,让部署到k8s中的 kuboard-agent 知道如何访问
Kuboard Server,也可是外网ip或域名
KUBOARD_ENDPOINT: 'http://192.168.11.1:30567'

# 换成自己集群中现有的sc
storageClassName: managed-nfs-storage


# 安装 初始密码:admin/Kuboard123
kubectl apply -f kuboard-v3.yaml

注意:添加集群的api是https

二、Harbor的脚本安装

(1)🚀 Ubuntu 环境下 Harbor 2.13.2 离线安装脚本(已有 Docker)

本脚本会直接使用已有的离线包 harbor-offline-installer-v2.13.2.tgz,无需再下载。

复制代码
#!/bin/bash
set -e

# 配置信息(可根据需要修改)
HARBOR_VERSION="v2.13.2"
HARBOR_HOST="10.0.0.103"
HARBOR_ADMIN_PASSWORD="Harbor12345"
HARBOR_DATA_DIR="/data/harbor"
# 你的离线包路径,请根据实际存放位置修改
OFFLINE_PACKAGE="/root/harbor-offline-installer-v2.13.2.tgz"

# 1. 安装 Docker Compose(Harbor 依赖)
echo "=== 安装 Docker Compose ==="
if ! command -v docker-compose &> /dev/null; then
    apt update && apt install -y docker-compose
fi

# 2. 创建 Harbor 数据目录
echo "=== 创建 Harbor 数据目录 ==="
mkdir -p ${HARBOR_DATA_DIR}/cert
cd ${HARBOR_DATA_DIR}

# 3. 解压离线安装包
echo "=== 解压 Harbor ${HARBOR_VERSION} 离线包 ==="
if [ -f ${OFFLINE_PACKAGE} ]; then
    tar zxf ${OFFLINE_PACKAGE} -C ${HARBOR_DATA_DIR}
else
    echo "错误:离线包 ${OFFLINE_PACKAGE} 不存在!"
    exit 1
fi
cd harbor

# 4. 生成自签证书
echo "=== 生成自签证书 ==="
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 \
  -nodes -keyout ${HARBOR_DATA_DIR}/cert/${HARBOR_HOST}.key \
  -out ${HARBOR_DATA_DIR}/cert/${HARBOR_HOST}.crt \
  -subj "/CN=${HARBOR_HOST}" \
  -addext "subjectAltName=IP:${HARBOR_HOST}"

# 5. 配置 Harbor(修复了 sed 分隔符问题)
echo "=== 配置 Harbor ==="
cp harbor.yml.tmpl harbor.yml
sed -i "s#hostname: reg.mydomain.com#hostname: ${HARBOR_HOST}#g" harbor.yml
sed -i "s#port: 80#port: 80#g" harbor.yml
sed -i "s#https: #https: #g" harbor.yml
sed -i "s#  port: 443#  port: 443#g" harbor.yml
sed -i "s#  certificate: /your/certificate/path#  certificate: ${HARBOR_DATA_DIR}/cert/${HARBOR_HOST}.crt#g" harbor.yml
sed -i "s#  private_key: /your/private/key/path#  private_key: ${HARBOR_DATA_DIR}/cert/${HARBOR_HOST}.key#g" harbor.yml
sed -i "s#harbor_admin_password: Harbor12345#harbor_admin_password: ${HARBOR_ADMIN_PASSWORD}#g" harbor.yml
sed -i "s#data_volume: /data#data_volume: ${HARBOR_DATA_DIR}#g" harbor.yml

# 6. 安装并启动 Harbor
echo "=== 安装并启动 Harbor ==="
./install.sh

echo "=== Harbor ${HARBOR_VERSION} 安装完成 ==="
echo "访问地址: https://${HARBOR_HOST}"
echo "管理员账号: admin / ${HARBOR_ADMIN_PASSWORD}"

(2)执行完脚本可能出现下面的报错(没有python依赖)

解决上面错误的依赖问题(按照下面的步骤进行操作,注意我的ubuntu的版本是24.04)

1. 卸载旧版 docker-compose

复制代码
# 如果之前安装了旧版,先卸载
apt remove -y docker-compose

2. 安装 Docker Compose V2

复制代码
# 下载最新稳定版(v2.27.1)
curl -SL https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

# 赋予执行权限
chmod +x /usr/local/bin/docker-compose

# 创建软链接,确保 Harbor 安装脚本能找到它
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3. 验证安装

复制代码
docker-compose version

输出类似 Docker Compose version v2.27.1 就说明安装成功了。

然后再次执行上面的脚本成功后的显示

(3)关于harbor延申的问题

想拉取镜像的时候出现:docker push 10.0.0.13/item/nginx:1.24

本人的疑问:跟这个镜像打标签的时候是 harbor.wang.org/item/nginx:1.24,却显示10.0.0.103/xx

解决方法如下操作:主要是改hostname!

  • 停止 Harbor 服务

    复制代码
    cd /data/harbor/harbor
    docker-compose down
  • 修改 harbor.yml 配置文件 确保 hostname 字段是你的域名:

    复制代码
    hostname: harbor.wang.org
  • 重新生成配置并启动

    复制代码
    ./prepare
    docker-compose up -d
相关推荐
王九思1 小时前
云原生HashiCorp Vault加密
云原生
咸鱼xxx2 小时前
N8N搭建Agent(Docker Desktop版本)
docker·ai·容器·agent·n8n
袁袁袁袁满2 小时前
Docker服务彻底清空的所有相关资源(容器、镜像、网络、数据卷等)
linux·运维·ubuntu·docker·容器·docker清空资源·docker停掉资源
上天_去_做颗惺星 EVE_BLUE2 小时前
Android设备与Mac/Docker全连接指南:有线到无线的完整方案
android·linux·macos·adb·docker·容器·安卓
-dcr2 小时前
52.kubernetes基础
运维·云原生·kubernetes
leaf9z2 小时前
docker镜像加速网站
docker·容器
Leon-zy3 小时前
Redis7.4.5集群部署3主3从
redis·分布式·缓存·云原生
牛奶咖啡133 小时前
Prometheus+Grafana构建云原生分布式监控系统(一)
云原生·devops·分布式系统·sre·监控方法论·需监控哪些指标·监控与可观测性
nix.gnehc3 小时前
Anolis23 环境下 Docker 与私有 Harbor 仓库完整部署指南
运维·docker·容器