VScode Unable to load schema

打开ansible yaml文件, 经常报错:

是代理的问题,可添加代理:

我选择关闭代理:

烦人的报错提示终于消失了

WD Mycloud + Frp 内网穿透

Frp内网穿透这个真的是折腾了很久很久,WD MYycloud板块的各种帖子、Frp的Github中文文档、Issue页问答、各种技术博主的笔记、域名的配置等等,看的我晕头转向,期间还不断的被误导。总之折腾了很久总算把Frp内网穿透搞明白了,也稍微窥见了Linux的好玩之处。刚开始本来成功在路由器上配置了Frpc,看到说明页上写着必须使用虚拟内存,而陪伴我多年的U盘很争气的在格式化后光荣退伍。于是想到把Frpc运行到WD Mycloud上,看了那是云网站WD Mycloud板块非常含糊的教程后照猫画虎始终无法成功。最后看Frp的Github issue问答的时候才发现我从论坛附件下载的客户端文件版本太旧了。下载新版Frpc后成功穿透,然后开心的各种域名配置…… 服务端环境:CentOS7 + lnmp 1.4 客户端环境:WD Mycloud 顶级域名:需要有一个 一、Frps 服务端的安装 1、用Putty登陆到VPS,依次输入以下代码

  2、安装过程中需要手动输入一些参数 Please input frps bind_port [1-65535](Default Server Port: 7000): #输入frp提供服务的端口,用于服务器端和客户端通信 Please input frps dashboard_port [1-65535](Default dashboard_port: 7500): #输入frp的控制台服务端口,用于查看frp工作状态 Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口 Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): Read more…

nginx通过传参做动态代理

nginx通过传参做动态代理:可以访问http://172.20.47.38/console/?host=172.20.47.11, 来直接代理到gotty的172.20.47.11:50000 的websocket

  可以将参数进行base64加密, 如:

然后通过访问http://172.20.47.38/console/?host=MTcyLjIwLjQ3LjM4 来访问gotty: 参考: http://man.hubwiz.com/docset/OpenResty.docset/Contents/Resources/Documents/set-misc-nginx-module.html#set_unescape_uri nginx要添加set-misc-nginx-module模块, 具体安装方式如下:

配置文件如下, 逻辑为: 第一次访问时, $uri是/console/ 则进行set_decode_base64解码,设置cookie 然后再访问几个js文件, 匹配.js, js再调用ws

      —- 旧的请求根目录版:

 

容器集成sftp服务

有个需求, 需要用户在调试时能方便地将文件拷贝到容器里, 需要做个带ftp功能的容器, 参考了: https://github.com/rlesouef/alpine-sftp 整个工程目录结构:

其中download为各文件下载目录 拿tomcat来作例: 配置文件config_x86_online.yml:

  也可以定义arm64架构的config来构建:

  首先Dockerfile, 下面是Dockerfile模板: base_alpine.j2

  tomcat.j2

  sftp-entrypoint.sh改了一下, 把后面启动sshd的删除了, 放到了supervisor管理, 另外增加了传环境变量来支持进行多目录挂载, 比如传: -e “SFTP=sftp:sftp:1001:100:/usr/local/tomcat,tomcat;/etc/supervisor.d,supervisor.d” 可以将/usr/local/tomcat挂载到/home/sftp/tomcat 也可将/etc/supervisor.d挂载到/home/sftp/supervisor.d

运行用户自定义的脚本bindmount.sh

  总的entrypoint.sh:

  总构建脚本build.py:

  后期可以基于base-alpine.j2来灵活定制, 如nginx.j2模板

  node.j2:

  最后执行命令构建:python Read more…

容器内更改系统时间

修改deploy, 增加如下:

截取部分deploy yaml配置:

  然后登录容器执行date -s “20200515 13:58:00” 即可更改时间

k8s利用反亲和性扩多实例

所有node文件az.txt, 其中1为zone1, 2为zone2, 3为zone3

run.sh

 

wd mycloud ssh 登录不上

WD mycloud还是一如既往的烂, 升级完组件后连ssh都进不去了, ssh root@192.168.1.2 直接报Permission denied 查了下资料, 用户名竟然改成了sshd, WTF! ssh sshd@192.168.1.2 即可进去 参考: https://community.wd.com/t/ssh-as-root-failing-with-permission-denied/240773/2

使screen支持滚动

  在Linux中,常用的串口工具有minicom和screen,minicom可能使用得比较多,但是我比较喜欢screen,因为它的输出是彩色的,更舒服、更能突出重点。 使用screen来打开串口也非常简单,如:screen /dev/ttyS0 115200 默认情况下,screen使用自己的缓冲区,使得无法方便地使用鼠标的滚轮或者终端(如konsole)的滚动条来拖动查看之前的输出信息。实际上,我们完全可以简单地通过配置文件(~/.screenrc)来实现这个功能:

  其实,只需要第一句就够了。第二句干嘛用的?其实我也不知道。。。 参考资料: http://unix.stackexchange.com/questions/43229/is-there-a-way-to-make-screen-scroll-like-a-normal-terminal http://www.saltycrane.com/blog/2008/01/how-to-scroll-in-gnu-screen/