1 Star 0 Fork 0

g-devops / fk-portainer-stack-utils

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or Download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

psu - Portainer命令行工具

(PSU):Portainer Stack Utils
该程序为PT命令行客户端,可配合Jenkins实现高效的持续集成与持续部署平台(CI/CD)。

(1)由Go编写,原作者2018.11-2019.11开源于github,现基于原版做修复及功能扩展: Jenkins/本地环境 > PSU > PT > Agent, 做物理机/容器多主机的stack部署管理。
(2)应用部署,在PT与Agent之间基于反向HTTP连接不占用节点端口,同时可避免传统基于SSH的部署的安全隐患或限定。

  • (Doc)补充.psu.yaml配置用法,新加stack-minio-sample示例
  • (Fix)修复stack delete操作(基于PT1.22.0, 兼容PT2.x最新版)
  • (Feat)Deploy:支持宿主机upload远程上传,exec远程执行
  • (Feat)Deploy:psu statck deploy -d 上传本地目录到远程>> dcp up
  • (Feat)Upload: 更换tar.go解决相对路径问题,生成tarCache在内存,直接发到http远程,不本地落盘
  • (Feat)Upload: 支持.psuignore过滤。(go-gitignore)
  • (Feat)Upload:小内存大文件上传,io.Pipe模式 (直接tarBuf上送远端, 取消gzip压缩)
  • (Feat)Exec:支持color显示,windows下换行支持。(ansicolor)
  • (Feat)PT端普通用户,PSU部署容器的管理(节点级别的粗粒度权限)
  • (TODO)PT端部署日志审计(不写到boltdb)

Portainer/Agent组件:

  • PT管理端:可使用官方版(暂不支持Agent绑定本地socket),或:汉化/定制版(支持Agent免占用TCP端口)
  • Agent端:(需宿主机部署,需使用定制版,以支持物理机的部署管理)
    • (Feat):适配宿主机部署
    • (Alter):去除k8s的支持(用不到,包瘦身:34M> 15M)
    • (Fix): 宿主机部署模式下,修正宿主机文件浏览、容器Volume文件浏览
    • (Feat):新加两个环境变量:EnvKeyDockerBinaryPath, EnvKeyDockerVolumePath
    • (Feat):宿主机>> 安装脚本binary_ins.sh
    • (Feat):宿主机>> 远程上传文件、远程执行shell脚本的实现
    • (Feat):远程上传>> 大文件接收的支持(已测内网: 1.4G文件 约30s接收完成)

一、快速体验

    1. Portainer快速安装: 汉化/定制版
    1. PSU使用(本地快速部署/持续集成)
# 下载psu(见gitee仓库发行版)
psu --version

# windows
psu.exe stack deploy stack12-win -d ./_ex/stack-minio-sample --endpoint=172.16.0.x
# linux
psu stack deploy stack13-nux -d ./_ex/stack-minio-sample --endpoint=172.16.0.x
    1. .psu.yaml (配置于用户目录下)
url: http://localhost:9000
user: admin
password: xxx
# 
stack:
  deploy:
    stack-rpath: /opt/stack-apps #指定部署目录

二、使用示例

1)psu - 本地部署 (windows)

psu.exe stack deploy stack16-win -d ./_ex/stack-minio-sample --endpoint=172.16.0.x

2)psu - Jenkins (linux)

./psu stack deploy stack17-nux -d ./_ex/stack-minio-sample --endpoint=172.16.0.x

3)PT端 - 多主机管理(EDGE模式)

  • Home主页/节点管理
    • 1.支持Group可按环境分组:dev,test,prod
    • 2.支持Tags标签:宿主节点可设定多个业务主机标签

Home主页

环境分组/节点标签

4)Agent端 - 节点初始

# 物理机安装
export DEPLOY="/opt/svr/portainer-agent"
export URL="http://172.25.21.60:9000"
export USER="admin"
export PASS="xxx"
curl -s https://gitee.com/g-devops/fk-agent/raw/sam-custom/_deploy/binary_ins.sh |bash -
# 卸载
curl -s https://gitee.com/g-devops/fk-agent/raw/sam-custom/_deploy/binary_ins.sh |bash -s uninstall

Repository Comments ( 0 )

Sign in to post a comment

About

基于Portainer,做物理机/容器自动部署。(PSU):PT命令行客户端,可配合Jenkins实现高效的持续集成与持续部署平台(CI/CD) expand collapse
Cancel

Contributors

All

Activities

Load More
can not load any more
Go
1
https://gitee.com/g-devops/fk-portainer-stack-utils.git
git@gitee.com:g-devops/fk-portainer-stack-utils.git
g-devops
fk-portainer-stack-utils
fk-portainer-stack-utils
sam-custom

Search

161121 f78d6d6f 1850385 154831 86f8c370 1850385