自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(146)
  • 资源 (1)
  • 收藏
  • 关注

原创 kubeadm 部署 Kubernetes 集群(长文预警)

K8s 集群部署 v1.7.2(kubeadm)一般常用的k8s集群的部署方式有两种:通过批量工具(ansible/saltstack)部署这类部署方式的可控性强,方便后期的维护和管理;生产环境的k8s集群建议采用这种方式部署。通过k8s自己的kubeadm工具进行部署优点是实现起来相对简单;缺点是很多操作kubeadm都替你执行了,它做了什么你很难知道,在后期需要维护时会有些麻烦。这种方式可以用于测试k8s环境的搭建,生产中还是可控性强些比较好。本次部署k8s-1.17.2,之所以不

2021-05-26 15:06:01 1140

原创 Ansible 2.4:Playbook 中变量的多种使用方式

2.4:Playbook 中变量的多种使用方式关于如何在Playbook中使用变量的官方文档:https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html在Playbook中调用变量的方式有:调用变量的值:{{ VARIABLE_NAME }}有时需要加双引号,避免被解析为内联字典:"{{ VARIABLE_NAME }}"当调用变量的字符串中有:时,避免被解析为key: value,也要为整个字符串加上引

2021-05-12 11:04:18 3825 1

原创 Ansible 2.3:ansible-playbook 命令的一般用法

2.3:ansible-playbook 命令的一般用法ansible-paybook是运行Playbook文件的命令,用于在目标主机上(由Playbook中的hosts指定)执行Playbook中定义的任务(由Playbook中的tasks定义)。一般用法为:ansible-playbook [OPTIONS] <PLAYBOOK.yml>2.3.1:OPTIONS2.3.1.1:–syntax-check 检查语法用于检查指定的Playbook文件是否有语法错误(可以简写为--

2021-05-12 10:56:51 4949

原创 Ansible 2.2:Playbook 中常用的 Keywords

2.2:Playbook 中常用的 KeywordsPlaybook中的Keyword是key: value键/值对中的key,这些Keywords是定义好的,而其相应的value是需要自定义的。一个Ansible Playbook的内部逻辑关系大致是这样的:2.2.1:主要框架的 Keywords2.2.1.1:hosts定义格式:- hosts: HOST_PATTERNHOST_PATTERN是任务执行的目标主机,指定方式同ansible命令中的HOST_PATTERN相同,以下为不同指

2021-05-12 10:51:49 325

原创 Ansible 2.1:Playbook 中遵循的 YAML 一般语法

2.1:Playbook 中遵循的 YAML 一般语法YAML官方网站:https://yaml.org/Ansible YAML 语法介绍:https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.htmlYAML 是一种数据格式,与其它数据格式(XML、JSON等)相比,可读性更好,而且大多数的编程语言都提供了可用于YAML数据格式的库。XML、JSON、YAML数据格式的比较:XML:Extensible

2021-05-12 10:47:29 396 1

原创 Jenkins 2.3:Jenkins 从 Gitlab 拉取代码

2.3:Jenkins 从 Gitlab 拉取代码配置Jenkins能基于SSH的方式从Gitlab拉取指定的代码。具体实现方式是:创建Jenkins服务器的SSH密钥对;为相应的Gitlab用户添加密钥对的公钥,相当于Jenkins拉取代码时,使用的是该Gitlab用户,拥有其相应的代码克隆权限;Jenkins添加密钥对的私钥,实现基于key的连接;将Gitlab项目的SSH克隆地址配置到相应的Jenkins任务中,在构建时将代码拉取到Jenkins服务器的相应目录,为接下来的测试、部署等操作

2021-05-06 17:04:30 4449 1

原创 Jenkins 2.2:Jenkins 的邮件通知配置

2.2:Jenkins 的邮件通知配置2.2.1:配置 Jenkins 系统管理员邮件地址Jenkins 系统管理员邮件地址是Jenkins发送邮件通知时的发件人。使用管理员帐号登录Jenkins,打开系统管理-系统配置:找到Jenkins Location栏,在系统管理员邮件地址框中输入系统管理员的邮箱(这里计划使用QQ邮箱作为Jenkins的邮件服务,所以填写了自己的QQ邮箱地址):2.2.2:邮件通知配置继续向下找到**邮件通知(E-mail Notification)**栏,点击高级

2021-05-06 17:01:17 322

原创 Jenkins 2.1:基于角色的 Jenkins 用户权限管理

2.1:基于角色的 Jenkins 用户权限管理2.1.1:更改授权策略(Role-Based Strategy)使用管理员用户登录Jenkins,打开系统管理-全局安全配置:找到授权策略。默认情况下,Jenkins创建的新用户拥有所有权限,因为授权策略的默认配置为登录用户可以做任何事,这显然不能满足正常的权限管理需求。将授权策略更改为Role-Based Strategy(该选项需要在正确安装了Role-based Authentication Strategy插件后才能出现)。2.1.2

2021-05-06 16:58:57 413

原创 Jenkins 1:Jenkins 部署

1:Jenkins 部署Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins是基于java开发的,所以运行需要java环境。版本要求Java 8,无论是Java运行时环境(JRE)还是Java开发工具包(JDK)都可以。Jenkins相当于是一个完全插件化的服务,功能都是基于插件实现的,在安装时可以基于推荐安装一些常用的插件,在后期需要实现特定功能时,也可以自行查找并安装相应插件。Jenkins 中文官网:https://www.jenki

2021-04-29 15:51:53 341

原创 Ansible 1.5.21:debug 模块

1.5.21:debug 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/debug_module.html#ansible-collections-ansible-builtin-debug-moduledebug模块用于在Ansible执行playbook过程中输出相应的状态信息,检查变量赋值或表达式结果是否正确。1.5.21.1:常用参数参数说明msg定义需要打印的信息;

2021-04-29 12:01:42 591

原创 Ansible 1.5.20:setup 模块

1.5.20:setup 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/setup_module.html#ansible-collections-ansible-builtin-setup-modulesetup模块用于收集目标主机的系统信息(facts),获取到的facts信息都是变量的键值对,可以直接引用。获取的信息较多,如果目标主机过多,会影响执行速度(在playbook中可以使用gathe

2021-04-29 12:01:34 580

原创 Ansible 1.5.19:replace 模块

1.5.19:replace 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/replace_module.html#ansible-collections-ansible-builtin-replace-modulereplace模块的功能类似于使用sed替换文件中被PATTERN匹配到的内容。1.5.19.1:主要参数参数说明path指定需要修改的目标文件。别名:dest、

2021-04-29 12:01:23 423

原创 Ansible 1.5.18:lineinfile 模块

1.5.18:lineinfile 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/lineinfile_module.html#ansible-collections-ansible-builtin-lineinfile-modulelineinfile模块主要用于目标主机特定文件的单行文本验证/替换/删除。1.5.18.1:常用参数参数说明path指定需要修改的目标文件。别

2021-04-29 12:01:15 200

原创 Ansible 1.5.17:user 模块

1.5.17:user 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html#ansible-collections-ansible-builtin-user-module管理目标主机的用户帐号和权限。1.5.17.1:常用参数参数说明name指定用户名。uid指定uid。group指定用户的主组组名。groups指定附加组。

2021-04-29 12:01:02 151

原创 Ansible 1.5.16:group 模块

1.5.16:group 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/group_module.html#ansible-collections-ansible-builtin-group-module用于管理目标主机的用户组。1.5.16.1:常用参数参数说明name指定组名。gid指定gid。systemyes|no,默认为no;是否将组设置为系统组。

2021-04-28 07:36:18 142

原创 Ansible 1.5.15:service 模块

1.5.15:service 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/service_module.html#ansible-collections-ansible-builtin-service-module管理远程主机的服务,支持BSD init, OpenRC, SysV, Solaris SMF, systemd, upstart。1.5.15.1:常用参数参数说明

2021-04-28 07:36:09 100

原创 Ansible 1.5.14:yum_repository 模块

1.5.14:yum_repository 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/yum_repository_module.html#ansible-collections-ansible-builtin-yum-repository-module用于添加或删除yum软件源。1.5.14.1:常用参数参数说明name指定 repository ID。descr

2021-04-28 07:35:59 333

原创 Ansible 1.5.13:apt 模块

1.5.13:apt 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/apt_module.html#ansible-collections-ansible-builtin-apt-moduleapt模块用于管理Debian相关发行版主机的程序包。1.5.13.1:常用参数参数说明name指定程序包名(支持版本指定),可以使用*进行通配。别名:package,pkgsta

2021-04-28 07:35:48 888

原创 Ansible 1.5.12:yum 模块

1.5.12:yum 模块Installs, upgrade, downgrades, removes, and lists packages and groups with the yum package manager.yum模块可以对远程主机(RHEL/CentOS/Fedora)进行yum相关操作。1.5.12.1:常用参数参数说明name指定程序包名(支持版本指定,如果指定的是一个早期版本,还需要将allow_downgrade参数设为yes);当指定state=la

2021-04-28 07:35:39 297

原创 Ansible 1.5.11:cron 模块

1.5.11:cron 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/cron_module.html#ansible-collections-ansible-builtin-cron-modulecron模块用于管理目标主机上的crontab计划任务。1.5.11.1:常用参数参数说明minute0-59,默认为*。hour0-23,默认为*。day1-31

2021-04-28 07:35:22 286

原创 Ansible 1.5.9:archive 模块

1.5.9:archive 模块archive模块用于对远程主机上的文件进行打包/压缩,或对已经存在的包文件进行扩展。官方文档:https://docs.ansible.com/ansible/latest/collections/community/general/archive_module.html#ansible-collections-community-general-archive-module1.5.9.1:常用参数参数说明path远程主机上需要被打包/压缩的源

2021-04-28 07:35:09 1153

原创 Ansible 1.5.8:unarchive 模块

1.5.8:unarchive 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/unarchive_module.html#ansible-collections-ansible-builtin-unarchive-moduleunarchive用于在远程主机上解包,有两种方式:先拷贝再解包:将Ansible服务器的打包文件拷贝到远程主机后,执行解包;直接解包:对远程主机上已有的打包文件进行解包。

2021-04-28 07:34:59 1330

原创 Ansible 1.5.7:file 模块

1.5.7:file 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html#ansible-collections-ansible-builtin-file-modulefile模块用于创建、删除远程主机上的文件、链接、目录,或设置其属性。1.5.7.1:常用参数参数选项path远程主机上被管理文件的路径(也可以使用path的别名:dest、name

2021-04-28 07:34:35 235

原创 Ansible 1.5.6:fetch 模块

1.5.6:fetch 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/fetch_module.html#ansible-collections-ansible-builtin-fetch-module从远程主机上拉取文件到Ansible本机。(不支持目录)1.5.6.1:常用参数参数说明src指定需要拉取的远程主机上的文件路径(必须为文件,不能是目录)dest拉取的

2021-04-28 07:34:26 315

原创 Ansible 1.5.5:get_url 模块

1.5.5:get_url 模块用于将指定URL的资源(http/https/ftp)下载到目标主机。官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/get_url_module.html#ansible-collections-ansible-builtin-get-url-module1.5.5.1:常用参数参数说明url下载资源的URL(支持http、https、ftp协议)

2021-04-27 13:52:35 1119

原创 Ansible 1.5.4:copy 模块

1.5.4:copy 模块copy模块用于从Ansible服务器向远端主机拷贝文件。官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/copy_module.html#ansible-collections-ansible-builtin-copy-module1.5.4.1:常用参数参数说明src源路径,即Ansible本机需要拷贝的文件路径。可以是绝对路径,也可以是相对路径;当采

2021-04-27 13:51:56 421

原创 Ansible 1.5.3:script 模块

1.5.3:script 模块script模块用于在远程主机上执行Ansible服务器上的脚本(无需执行权限)。script 模块同样不具有幂等性,所以在编写执行脚本时要注意做好幂等。官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/script_module.html#ansible-collections-ansible-builtin-script-module1.5.3.1:常用模块参数

2021-04-27 13:51:09 603

原创 Ansible 1.5.2:shell 模块

1.5.2:shell 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/shell_module.html#ansible-collections-ansible-builtin-shell-moduleshell模块用于在目标主机上执行shell命令。和command模块相比,它支持shell的特性,因此通常会将ansible的默认模块更改为shell。[root@ansible ~]# vim /

2021-04-27 13:49:32 670

原创 Ansible 1.5.1:command 模块

1.5.1:command 模块官方文档:https://docs.ansible.com/ansible/latest/collections/ansible/builtin/command_module.html#ansible-collections-ansible-builtin-command-modulecommand为ansible的默认模块,用于在远程主机上执行指定命令。注意:command模块的命令不通过shell执行,所以不支持shell的相关特性,比如变量、操作符("*","

2021-04-27 13:48:44 207

原创 Ansible 1.4.2:ansible 命令的基本用法

1.4.2:ansible 命令的基本用法ansible命令用于对特定主机定义和运行单个的Ansible任务。一般的用法为:ansible <HOST_PATTERN> [OPTIONS] [-m MODULE_NAME] [-a "MODULE_ARGS"]其中:HOST_PATTER用于指定主机。OPTIONS用于指定其它选项。MODULE_NAME用于指定Ansible模块。MODULE_ARGS是为指定模块传递的参数或命令。1.4.2.1:ansible 命令常用选

2021-04-27 13:16:35 821 1

原创 Ansible 1.4.1:ansible-doc 命令常见用法

1.4.1:ansible-doc 命令常见用法1.4.1.1:列出所有可用模块选项:-l, --list List available plugins示例:因为没有使用-t指定插件类别,这里列出的是默认类别的可用插件数量,而默认的插件类别是module,所以列出的就是所有可用模块。[root@ansible ~]# ansible-doc -l[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lt8ngNCg-1619500227202

2021-04-27 13:11:01 3055

原创 Ansible 1.3:实现基于 ssh_key 的 Ansible 连接

1.3:实现基于 ssh_key 的 Ansible 连接Ansible控制端对被管理主机的操作是通过SSH连接进行的,需要将Ansible控制端的公钥推送给各被管理主机,实现基于密钥认证的ssh连接。1.3.1:Ansible 控制端生成密钥对(ssh_keygen)密钥对的生成使用的是ssh-keygen命令,它是一个密钥生成、管理和转换工具(authentication key generation, management and conversion)。ssh-keygen命令常用选项:

2021-04-27 13:09:41 1196

原创 Ansible 1.2.2:Ansible 主机清单文件 hosts

1.2.2:Ansible 主机清单文件 hostshosts文件定义的是被管理主机的清单(Inventory)。改文件的路径由ansible.cfg中的inventory配置项定义。关于如何创建主机清单的官方文档:https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html1.2.2.1:hosts 文件路径的定义(inventory 配置项)hosts文件的路径定义方式通常有两种:默认配置文件/etc/ansi

2021-04-27 13:08:00 4875

原创 Ansible 1.2.1:Ansible 主配置文件 ansible.cfg

1.2.1:Ansible 主配置文件 ansible.cfgansible.cfg是Ansible的主配置文件,通过yum/apt安装Ansible后,默认放在/etc/ansible/ansible.cfg。官方文档:https://docs.ansible.com/ansible/latest/reference_appendices/config.html1.2.1.1:ansible.cfg 的生效方式可以在多个地方定义或放置ansible.cfg,来使其中的配置生效,不同的生效方式具有不

2021-04-27 13:06:55 488

原创 Gitlab 2.5:Gitlab 数据备份与恢复

2.5:Gitlab 数据备份与恢复Gitlab 数据的备份与恢复使用的是 gitlab-rake 命令。备份与恢复前都要停止 Gitlab 的 unicorn 和 sidekiq 进程,这意味着备份的操作需要在确认没有用户使用的时间段进行,恢复就无所谓了,因为既然要恢复,那Gitlab的服务肯定已经受到了影响。2.5.1:Gitlab 数据备份2.5.1.1:停止 unicorn 和 sidekiq 进程root@gitlab:~# gitlab-ctl stop unicornok: dow

2021-04-24 10:41:13 647

原创 Gitlab 2.4:项目分支应用(Branch)

2.4:项目分支应用(Branch)在代码Clone和Push时,默认都是直接在master分支上进行操作,但在实际使用中,master分支的代码是面向生产环境的、经过测试的稳定版本,而新版本的开发都是在另外的分支上进行的(比如Develop分支)。Master分支的版本会比Develop分支的版本低。开辟另外的Develop分支,可以实现:新版本的开发在Develop分支上进行,当新版本提交时,让Jenkins等持续发布系统从该分支获取新版本代码,部署在测试环境中进行测试;当Develop分支

2021-04-24 10:40:02 1546 1

原创 Gitlab 2.3:代码版本升级与回退

2.3:代码版本升级与回退2.3.1:代码版本升级代码版本升级的操作流程同“代码 Clone 与 Push”的流程一致。在进行代码的版本升级编写前,确保从Gitlab上clone了最新的项目版本。下面将test-software/test-app1/index.html的版本升级成v2。2.3.1.1:Clone/Pull 项目在重新克隆项目前,先将本地的项目文件删除:root@node111:~# cd /workspace/root@node111:/workspace# rm -rf

2021-04-24 10:37:00 620

原创 Gitlab 2.2:项目代码 Clone 与 Push

2.2:项目代码 Clone 与 Push假设yqc用户是一名开发,目前要为test-software下的test-app1编写代码。其使用的客户端PC地址为node111(192.168.1.111)。2.2.1:Clone 项目2.2.1.1:Clone with HTTP2.2.1.1.1:复制项目的 HTTP 克隆链接使用yqc用户登录gitlab,进入test-software/test-app1项目页面,复制HTTP克隆连接。2.2.1.1.2:客户端 git clone在客

2021-04-24 10:33:53 805

原创 Gitlab 2.1:Gitlab 的权限管理

2.1:Gitlab 的权限管理Gitlab的权限管理中有几个最基本的概念:User:是使用Gitlab的用户,通过管理员用户进行创建,每个User对应一名具体的人员;Group:组,可以理解为公司中的一个产品线,一个产品线要运作,需要人员对其中的各个子应用进行开发、管理、维护,所以Group中涉及多个子应用(也就是Project,具体的软件项目),以及多个人员(即User);Project:具体的项目,多个项目功能组成一个完整的产品或服务(Group);Role:角色,Gitlab 的权限管理

2021-04-24 10:15:30 3382

原创 Gitlab 1:Gitlab 部署

1:Gitlab 部署Gitlab 实现的是 CI/CD 环节中的 CI 环节,即持续集成(Continuous Integration)。“持续”意味着代码的频繁提交,能将各版本的代码分阶段保存;“集成”一方面意味着支持多名开发人员协同,将多名开发人员的开发的不同功能的代码进行合并,实现整体功能;另一方面意味着将通过测试的分支合并到主分支,完成软件的稳定版本的迭代。1.1:下载 gitlab-ce 程序包一般安装的是Gitlab-ce,即社区版本,采用程序包的方式进行安装,下载地址为:Git

2021-04-24 09:53:21 516

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除