当前位置: 首页 > news >正文

建设行政管理部门网站怎们自己做网站

建设行政管理部门网站,怎们自己做网站,上海市中小企业服务云,黄骅贴吧招聘2022年目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑#xff0c;生产环境的权限一般都是要做最小化控制#xff0c;尤其是数据库的操作授…目录 背景 组件原理 测试设计 环境 测试脚本 脚本build为linux可执行文件 镜像构建 Dockerfile Docker build 镜像有效性验证 总结 资料获取方法 背景 我们都知道出于安全性考虑生产环境的权限一般都是要做最小化控制尤其是数据库的操作授权更是重中之重。 博主所在公司使用的是Kubernetes(k8s)进行的集群容器管理因为容器发布时的IP都是动态分配的而出于安全性考虑数据库的授权又不能全部放开或者针对整个集群的IP所以有了动态为节点进行数据库授权的需求所以也就诞生我们今天的主角--数据库授权组件Mysql-grant。 当然我们今天介绍的不是这个组件的开发而是相关的测试过程记录。 组件原理 这个数据库动态授权组件的原理不复杂每次Kubernetes有节点变化上线或者下线服务时调取Kubernetes相关的API接口获取已配置的服务改变的对应节点的IP然后对其进行授权或者权限回收操作IPuser。相当于在获取到信息之后执行下面的命令 grant select,insert,update on 库名.表名 to 用户名IP地址 identified by 密码 with grant option;测试设计 在了解了具体的需求之后我很快的确定了测试思路。具体如下 拉起两个mysql数据库每个库中新建两个DB每个DB个新建一张表。写一个无限循环的脚本每隔两秒访问一次数据库插入一条数据查询一次数据。把脚本打包到多个不同的镜像服务中push到公司的镜像库中。然后根据设计的场景使用k8s(Kubernetes)发布、下线服务、做Mysql-grant相关的配置信息改变来完成相关验证; 环境 这次主要用的环境如下 golang开发环境docker环境镜像运行环境centos 测试脚本 考虑到镜像的大小及Dockerfile的复杂性本次使用了golang来写这个脚本直接编辑成二进制文件可以不依赖环境执行具体的脚本如下把他保存为mysqlgrant-test.go即可 package mainimport (timedatabase/sqlfmt_ github.com/go-sql-driver/mysql )func main() {count : 0for{fmt.Println()// fmt.Println(count)fmt.Println(time.Now().Format(2006-01-02 15:04:05))time.Sleep(time.Second * 2)countdb, err : sql.Open(mysql, root:123456tcp(127.0.0.1:3306)/easytest?charsetutf8)checkErr(err)//插入数据stmt, err : db.Prepare(INSERT base_case SET case_name?,project_id?,content?,description?)checkErr(err)res, err : stmt.Exec(count, Golang, time.Now(),time.Now())checkErr(err)id, err : res.LastInsertId()checkErr(err)fmt.Println(id)//查询数据rows, err : db.Query(select * from base_case order by case_id desc limit 1)checkErr(err)for rows.Next() {var content stringvar case_id stringvar case_name stringvar project_id stringvar description stringerr rows.Scan(description, case_id, case_name, project_id, content)checkErr(err)fmt.Println(case_id : case_name project_id description content)// fmt.Println(case_id)// fmt.Println(case_name)// fmt.Println(project_id)// fmt.Println(content)// fmt.Println(description)}db.Close()} }func checkErr(err error) {if err ! nil {panic(err)} }脚本build为linux可执行文件 golang脚本的编译命令如下 go build 脚本名称但是因为楼主使用的是windows默认的会直接build成 .exe文件 所以我们要手动设置环境变量具体命令如下 SET CGO_ENABLED0 SET GOOSlinux SET GOARCHamd64 go build mysqlgrant-test.goGOOS目标平台的操作系统darwin、freebsd、linux、windows GOARCH目标平台的体系架构386、amd64、arm 交叉编译不支持 CGO 所以要禁用它 上面的命令编译 64 位可执行程序你当然应该也会使用 386 编译 32 位可执行程序 镜像构建 Dockerfile 上面的脚本准备好了之后接下来要制作镜像我们这次试用的是dockerfiledockerfile内容如下 FROM centos:6.7 MAINTAINER bingoxxxx.com RUN mkdir -p /usr/local/user-web/mysqlgrant-test ADD ./mysqlgrant-test /usr/local/user-web/mysqlgrant-test #ADD ./conf /usr/local/usr-web/mysqlgrant-test/conf WORKDIR /usr/local/user-web/mysqlgrant-test CMD ./mysqlgrant-testDocker build 将上面的信息保存到dockerfile文件之后切换到文件所在目录执行下面命令来进行镜像的构建 docker build -t mysqlgrant-test/centos:v1.0 . 参数说明 -t 指定要创建的目标镜像名 . Dockerfile 文件所在目录可以指定Dockerfile 的绝对路径注意后面的.不能遗漏它表示在当前目录构建的意思 镜像构建成功之后我们可以通过下面的命令来查看 rootmsxxx:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysqlgrant-test/centos v1.0 70bf1840fd7c 15 seconds ago 158.5 MB镜像有效性验证 我们可以使用新的镜像来创建容器: rootmsxxx:~$ docker run -it mysqlgrant-test/centos:v1.0 /bin/bash --name mysqlgrant参数说明--name mysqlgrant表示为这个容器设置了一个叫mysqlgrant的别名-t:在新容器内指定一个伪终端或终端。-i:允许你对容器内的标准输入 (STDIN) 进行交互。 执行上面的命令后会默认进入mysqlgrant-test目录即我们上面在dockerfile中设置的WORKDIR。 当然我们也可以直接执行下面的命令来获取容器的标准输出 docker logs mysqlgrant这就是脚本输出的内容 至此所有的东西准备完毕只需要根据准备好的测试用例做相关业务场景的验证就可以了。 总结 在新技术应用的过程中难免会遇到一些问题比如我们今天的介绍的容器化过程中解决数据库鉴权问题开发的组件。我的感触是接触新的事物我们能学习到更多的东西。此前学习的docker、golang等等都没有实战的基础这一次虽然也只是简单的实践但是还是有一种豁然开朗的感觉。 资料获取方法 【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连 三连之后我会在评论区挨个私信发给你们~
http://www.hkea.cn/news/14533897/

相关文章:

  • 吴川网站开发公司福州seo网站优化
  • 汽车网站管理系统wordpress自动博客
  • 哪个网站做自媒体比较好十大装修公司排名哪家最好
  • 昆山做网站的jofuns购物车网站源码
  • 免费模板网站wordwordpress哪个主题适合做网址导航
  • 扁平手机网站wordpress导入微信
  • dede修改网站密码wordpress主题图片不居中
  • 广州网站推广自助wordpress 导航栏 搜索
  • 书画协会网站建设莱芜网站优化公司
  • 在线网站seo优化局域网里做网站
  • 梧州网站建设费用wordpress实现新闻列表
  • 如何网站托管disqus wordpress
  • 天津电力建设公司网站南阳网站建设icp备
  • 高大上的企业网站wordpress动态图
  • wordpress站点主页哪些网站在哪找的
  • 做拆分盘网站长春定制建站企业网站
  • 网站建设分析书引言我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢
  • 营销型网站套餐六安做网站seo
  • 万州房地产网站建设建筑人才招聘
  • 网站建站报告快站优惠券app
  • 企业网站优化多少钱怎么干电商创业从零开始
  • 建设阿里巴巴网站如何用家用电脑做网站
  • 商务网站建设与管理实训总结商城网站建设需求
  • 永登县建设局网站模板之家怎么免费下载
  • 网站备案审批号潍坊优化网站排名
  • 苏州网站设计哪家好百度网页制作
  • 网站建设 地址 上海石门二路怎么制作一个网站
  • 手机网站开发教程pdf淘宝客网站跳转单品
  • 前几年做啥网站能致富阜阳网站建设电话
  • 有空间有域名怎么做网站邯郸网站建设推荐咨询