使用kubeadm安装kubernetes1.7

环境 下载kubernetes和安装 1 方案1使用阿里云yum镜像 2 使用国外服务器下载安装包 下载kubernetes镜像 配置kubelet 启动相关组件 创建集群 配置kubectl的kubeconfig 安装flannel master节点安装验证 node节点安装和加入集群 node节点安装验证 参考 自动化脚本已经上传到github: https://github.com/zhuchuangang/k8s-install-scripts/tree/master/kubeadm 0 环境 环境: 主机名 IP k8s-master 172.16.120.151 k8s-node01 172.16.120.152 k8s-node02 172.16.120.153 ==mac…

使用docker-maven-plugin插件实现Docker构建并提交到私有仓库

使用Maven插件实现项目打包及Docker构建并提交到私有仓库 以下内容非教程,不适合对Docker及Maven不熟悉者使用 目标:Spring Boot项目打包成可执行的jar文件后,使用docker-maven-plugin(spotify)插件自动构建Docker后上传到阿里云Docker镜像仓库(其他仓库同理) 引用参考: docker-maven-plugin插件:https://github.com/spotify/docker-maven-plugin Maven提交服务密码加密:https://maven.apache.org/guides/mini/guide-encryption.html Maven的settings.xml:http://maven.apache.org/ref/3.3.9/maven-settings/settings.html 准备工作: 本机安装 Docker 1.9 Eclipse环境(本机使用STS) Maven环境 阿里云Docker仓库(其他Docker仓库都可以) 如果需要Maven项目部署,需要Maven私服() SecureCRT (其他终端皆可,仅用于启动Docker测试) 1、 构建Spring Boot项目 项目目录 2、 pom.xml文件中 加入docker-maven-plugin插件 完整pom文件: <?xml version="1.0" encoding="UTF-8"?> <project…

使用Draft简化容器应用的开发流程

Draft是微软Deis团队开源(见Azure/draft)的容器应用开发辅助工具,它可以帮助开发人员简化容器应用程序的开发流程。 Draft主要由三个命令组成 draft init:初始化docker registry账号,并在Kubernetes集群中部署draftd(负责镜像构建、将镜像推送到docker registry以及部署应用等) draft create:draft根据packs检测应用的开发语言,并自动生成Dockerfile和Kubernetes Helm Charts draft up:根据Dockfile构建镜像,并使用Helm将应用部署到Kubernetes集群(支持本地或远端集群)。同时,还会在本地启动一个draft client,监控代码变化,并将更新过的代码推送给draftd。 Draft安装 由于Draft需要构建镜像并部署应用到Kubernetes集群,因而在安装Draft之前需要 部署一个Kubernetes集群,部署方法可以参考kubernetes部署方法(注意minikube的支持还有问题,暂时不要使用) 安装并初始化helm(需要v2.4.x版本,并且不要忘记运行helm init),具体步骤可以参考helm使用方法 注册docker registry账号,比如Docker Hub或Quay.io 配置Ingress Controller并在DNS中设置通配符域*的A记录(如*.http://draft.example.com)到Ingress IP地址。最简单的Ingress Controller创建方式是使用helm: # 部署nginx ingress controller $…

Harbor的搭建(vmware企业级docker镜像私服)

1、下载harbor,地址https://github.com/vmware/harbor 2、进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息 2.1、hostname =10.10.20.202 (这个是harbor所在服务器的ip,不能写127.0.0.1) 2.2、修改邮箱相关信息 3、执行./prepare命令 4、添加/etc/sysconfig/docker文件,文件内容如下: OPTIONS=”–insecure-registry 10.10.20.202″ 5、修改/usr/lib/systemd/system/docker.service文件 5.1、新增一行,EnvironmentFile=-/etc/sysconfig/docker,该文件只有一行内容,OPTIONS=”–insecure-registry 10.10.20.202″,如果/usr/lib/systemd/system/docker.service文件中不增加EnvironmentFile=-/etc/sysconfig/docker这行,下面对ExecStart的修改是不生效的。 5.2、修改一行,ExecStart=/usr/bin/dockerd $OPTIONS 为什么要修改这个配置文件呢?–insecure-registry代表本地镜像库,修改了以上配置文件后需要重启docker服务,此时docker login时,将连接指定的本地镜像库。 如果不修改这个配置文件,则登录镜像私服时(docker login 10.10.20.202)会抛出如下错误 Error response from daemon: Get https://10.10.20.202/v1/users/: dial tcp 10.10.20.202:443: getsockopt:…

搭建基于Selenium+TestNG+Maven+Jenkins+SVN的Web端UI自动化测试环境

一、 创建Maven项目,下载Selenium和TestNG的依赖(依赖可以理解为你要用到的jar包)。 1. 问题。 为什么要创建Maven项目呢? 答:Maven项目可以方便的管理依赖,通俗的讲,你需要的jar包,写到POM.xml文件中,Maven可以自动下载。省却了你先把jar文件放进libs,再BuildPath这一步。同时呢,其他项目如果也用到这些jar包,Maven会自动从本地仓库中直接取出来,不用再次下载。 2. 步骤。 1. File-New-Project… Xr-原创 2. Maven Project- Next Xr-原创 3. Next Xr-原创 4. 选择maven-archetype-quickstart-Next Xr-原创 5. 输入Group Id:域.公司简称;Artifact Id:项目名称 -Finish. Xr-原创 6. 创建完成后,目录中能找到自己创建的项目,说明Maven项目已成功创建。 Xr-原创…

testNg+maven +jenkins进行selenium自动化集成

摘要 上一次搞定了appium+python+jenkins的自动化集成,但是感觉对于jenkins的集成还是有很多不太理解的地方,所以今天抽空研究了下使用testNg+maven+selenium+jenkins的自动化集成。 正文 准备环境 首先我们新建一个maven的工程,并且在pom.xml中配置好我们依赖的一些jar包 <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>2.46.0</version> </dependency> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.9.6</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> <version>2.46.0</version> </dependency> </dependencies> 1 2 3 4 5 6 7 8…

Docker 2375 端口入侵服务器

相信了解过docker remote API的同学对2375端口都不陌生了,2375是docker远程操控的默认端口,通过这个端口可以直接对远程的docker daemon进行操作。 当$HOST主机以docker daemon -H=0.0.0.0:2375方式启动daemon时,可以在外部机器对$HOST的docker daemon进行直接操作: docker -H tcp://$HOST:2375 ps 好,说说如何“入侵”,怎么通过这个端口入侵宿主机呢? 这个应该要从几个点说起吧: 1. docker对user namespace没有做隔离,也就是说,容器内部的root用户就是宿主机的root用户,一旦挂载目录,就可以在容器内部以宿主机的root用户身份对挂载的文件系统随意修改了。 docker服务拥有很高的执行权利(相当于root),并且在docker用户组下的普通用户不需要任何其他验证就可以执行docker run等命令。 暴露的docker remote API端口如果没有启动ssl验证的话,任何能连通到这台docker宿主机的的机器都可以随意操作这台docker宿主机的docker daemon(docker run、docker ps、docker rm等等这些命令都不在话下)。 结合以上3点,就基本具备入侵docker宿主机的条件了 讲得似乎有点悬,不多说,直接拿一个活鲜鲜的例子来讲吧: (请允许我用最近新学的一道菜将流程带过 ╮( ̄▽ ̄)╭…

Linux CentOS 7 安装字体库 & 中文字体

前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库都没有,那么接下来就记录一下在Linux CentOS 7中如何安装字体库以及中文字体。 安装字体库 在CentOS 4.x开始用fontconfig来安装字体库,所以输入以下命令即可: yum -y install fontconfig 1 当看到下图的提示信息时说明已安装成功: 这时在/usr/shared目录就可以看到fonts和fontconfig目录了(之前是没有的): 接下来就可以给我们的字体库中添加中文字体了。 添加中文字体 在CentOS中,字体库的存放位置正是上图中看到的fonts目录,所以我们首先要做的就是找到中文字体文件放到该目录下,而中文字体文件在我们的windows系统中就可以找到,打开c盘下的Windows/Fonts目录: 如上图,我们只需要将我们需要的字体拷贝出来并上传至linux服务器即可,在这里我选择宋体和黑体(报表中用到了这两种字体),可以看到是两个后缀名为ttf和ttc的文件: 在这之前我们还需要新建目录,首先在/usr/shared/fonts目录下新建一个目录chinese: 然后就是将上面的两个字体上传至/usr/shared/fonts/chinese目录下即可: 紧接着需要修改chinese目录的权限: chmod -R 755 /usr/share/fonts/chinese 1 接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令: yum…

ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。 集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。 开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。 Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。 —————————-摘抄内容结束——————————- 画了一个ELK工作的原理图: 如图:Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。 ELK平台搭建 系统环境 System: Centos release 6.7 (Final) ElasticSearch: 2.1.0 Logstash:…