Gravitational Teleport docker-compose组件独立部署运行
Gravitational Teleport 可以作为堡垒机进行使用,上次写过一个all in one 的,这次参考官方
的配置运行一个proxy node auth 分离的应用
备注: 基于docker-compose 运行
环境准备
- docker-compose 文件
version: '2'
services:
two-auth:
mem_limit: 300m
image: quay.io/gravitational/teleport:3.1.1
container_name: two-auth
volumes:
- ./data/two/auth:/var/lib/teleport
- ./two-auth.yaml:/etc/teleport/teleport.yaml
networks:
teleport:
ipv4_address: 172.10.1.2
two-proxy:
mem_limit: 300m
image: quay.io/gravitational/teleport:3.1.1
container_name: two-proxy
ports:
- "5080:5080"
- "5023:5023"
volumes:
- ./data/two/proxy:/var/lib/teleport
- ./two-proxy.yaml:/etc/teleport/teleport.yaml
networks:
teleport:
ipv4_address: 172.10.1.3
two-node:
mem_limit: 300m
image: quay.io/gravitational/teleport:3.1.1
container_name: two-node
volumes:
- ./data/two/node:/var/lib/teleport
- ./two-node.yaml:/etc/teleport/teleport.yaml
networks:
teleport:
ipv4_address: 172.10.1.4
networks:
teleport:
ipam:
driver: default
config:
- subnet: 172.10.1.0/16
ip_range: 172.10.1.0/24
gateway: 172.10.1.254
volumes:
certs:
- auth 配置文件
two-auth.yaml: 同时运行在node 角色
# Auth server for cluster "two". Also runs "node" role
teleport:
nodename: two-auth
log:
output: /var/lib/teleport/teleport.log
severity: INFO
data_dir: /var/lib/teleport
storage:
path: /var/lib/teleport/backend
type: dir
auth_service:
enabled: yes
authentication:
type: local
second_factor: off
cluster_name: two
tokens:
- "node,auth,proxy:foo"
listen_addr: 172.10.1.2:3025
ssh_service:
enabled: yes
labels:
cluster: two
role: auth+node
commands:
- name: kernel
command: [/bin/uname, -r]
period: 5m
proxy_service:
enabled: no
- proxy 配置文件
two-proxy.yaml 文件:同时运行node 角色,注意指定了auth 服务同时使用静态token 进行
加入
# Proxy server for cluster "two". Also runs "node" role
teleport:
nodename: two-proxy
auth_servers: ["two-auth"]
auth_token: foo
log:
output: /var/lib/teleport/teleport.log
severity: INFO
data_dir: /var/lib/teleport
storage:
path: /var/lib/teleport/backend
type: dir
auth_service:
enabled: no
ssh_service:
enabled: yes
labels:
cluster: two
role: proxy+node
commands:
- name: kernel
command: [/bin/uname, -r]
period: 5m
proxy_service:
enabled: yes
listen_addr: 0.0.0.0:5023
web_listen_addr: 0.0.0.0:5080
- node 配置
two-node.yaml,同时使用静态token 进行加入
# Dumb SSH node for cluster "two"
teleport:
nodename: node-on-second-cluster
auth_servers: ["two-auth"]
auth_token: foo
advertise_ip: 172.10.1.4
log:
output: /var/lib/teleport/teleport.log
severity: INFO
data_dir: /var/lib/teleport
storage:
path: /var/lib/teleport/backend
type: dir
ssh_service:
enabled: yes
labels:
cluster: two
role: dumb_node
proxy_service:
enabled: no
auth_service:
enabled: no
运行&&测试
- 运行
docker-compose up -d
- 添加用户
auth server inside 容器
tctl -c /etc/teleport/teleport.yaml users add root
Signup token has been created and is valid for 1 hours. Share this URL with the user:
https://localhost:3080/web/newuser/54ac1593143d9a44a497c1346f9e0fc9
NOTE: Make sure two-proxy:3080 points at a Teleport proxy which users can access.


- 访问连接

- 历史回放功能


参考资料
https://gravitational.com/teleport/docs/quickstart/
Gravitational Teleport docker-compose组件独立部署运行的更多相关文章
- Docker Compose 项目打包部署
Docker Compose 前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build.docker run 等命令操作容器.然而微服务架构的应用系统一 ...
- Docker Compose编排工具部署lnmp实践及理论(详细)
目录 一.理论概述 编排 部署 Compose原理 二.使用docker compose 部署lnmp 三.测试 四.总结 一.理论概述 Docker Compose是一个定义及运行多个Docker容 ...
- maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)
最近整理基础框架,有些项目不想分布式,所以基础框架必须同时可独立部署,也可直接被作为依赖和业务工程打到一起,记录下解决war项目依赖的要点,一开始用warpath,结果报找不到,有些帖子还是17年的, ...
- surging+CentOS7+docker+rancher2.0 菜鸟部署运行笔记
https://blog.csdn.net/q5934/article/details/82661250 目录 准备工作 开始干活 1.从github 获取surging源码 2.发布Surging. ...
- Docker Compose 部署前后端分离应用
部署前后端分离应用 容器化 Abp 应用 关于 Abp 应用的容器化,其实和普通的 ASP.NET Core 应用差不多,大家可以参考我此前的文章. 唯一需要注意的是:因为 Abp 解决方案中有多个项 ...
- 利用 Docker Compose 搭建 SpringBoot 运行环境(超详细步骤和分析)
0.前言 相信点进来看这篇文章的同学们已经对 Docker Dompose 有一定的了解了,下面,我们拿最简单的例子来介绍如何使用 Docker Compose 来管理项目. 本文例子: 一个应用服务 ...
- 基于Docker Compose部署分布式MinIO集群
一.概述 Minio 是一个基于Go语言的对象存储服务.它实现了大部分亚马逊S3云存储服务接口,可以看做是是S3的开源版本,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...
- 一文掌握Docker Compose
目录 Docker Compose介绍 Docker Compose安装 Docker Compose基本示例 1.基本文件及目录设置 2.创建一个Dockerfile 3.通过docker-comp ...
- 使用 Docker Compose 快速构建 TiDB 集群
本文档介绍如何在单机上通过 Docker Compose 快速一键部署一套 TiDB 测试集群.Docker Compose 可以通过一个 YAML 文件定义多个容器的应用服务,然后一键启动或停止. ...
随机推荐
- 玩转X-CTR100 l STM32F4 l RNG硬件随机数发生器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 STM32F4硬件随 ...
- DevExpress WPF v18.2新版亮点(一)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- java 移动开发获取多级下拉框json数据的类和mobile-select-area插件
我这里以行政区划做例子 //这个类是把数据库中的行政区划转化为json格式的data @SuppressWarnings("rawtypes")public class XzqhL ...
- oracle 正则表达式 匹配
oracle 正则表达式 在实际应用中,想排除带有中文的字段值: select h.froomnumber from t_broker_house h where REGEXP_LIKE(froomn ...
- JS(JQEERY) 获取JSON对象中的KEY VALUE
var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...
- Spring学习五(JDBC支持)
Spring的jdbc支持 1配置db.properties,将有关JDBC的信息载入 2bean文件配置数据源,这里用e3p0作为数据源载入db.properties 3配置template的bea ...
- 安装vue-cookie
// 安装cookie的命令// npm install vue-cookie --save// 为项目配置全局vue-cookieimport VueCookie from 'vue-cookie' ...
- foreman ubuntu16快速安装
Quickstart Guide The Foreman installer is a collection of Puppet modules that installs everything re ...
- nwjs 解决手指可滑动问题
package.json 中添加: "chromium-args": "--touch-events --enable-touch-drag-drop",
- gcd和lcm模板
long long gcd(long long b,long long c)//计算最大公约数{ return c==0?b:gcd(c,b%c);} long long lcm(long long ...