【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理机器和软件)

1. 简介

1.1. 公司环境使用的puppet,但是我更喜欢ansible,原因有二,第一,我是红帽的忠粉:),第二,我对python比较熟悉

1.2. ansible官方网站:https://www.ansible.com/

1.3. ansible中文文档网站:http://www.ansible.com.cn/

2. 环境

2.1. ansible:ansible-2.4.2.0-1.el7

3. 安装

3.1. 直接yum就好

yum install ansible

4. 配置

4.1. 生成ssh key

ssh-keygen -t rsa

4.2. 在10.30.2.81这台DNS服务器上把服务器列表取出来

cat /var/named/hccos.cn.zone |grep 172|awk ‘{print $1,$4}‘|sed "s/ 172/.hccos.cn #172/g"

4.3. 把上一步输出的机器列表粘贴在/etc/ansible/hosts里面,给分到default组里面

[default]
hctjosinfra01.hccos.cn #172.16.0.81
hctjosinfra02.hccos.cn #172.16.0.82
hctjosetcd01.hccos.cn #172.16.0.83
hctjosetcd02.hccos.cn #172.16.0.84
hctjosetcd03.hccos.cn #172.16.0.85
hctjcephmon01.hccos.cn #172.16.0.86
hctjcephmon02.hccos.cn #172.16.0.87
hctjcephmon03.hccos.cn #172.16.0.88
hctjcephadm01.hccos.cn #172.16.0.89
hctjosk8smaster01.hccos.cn #172.16.0.90
hctjosk8sslave01.hccos.cn #172.16.0.91
hctjosk8sslave02.hccos.cn #172.16.0.92
hctjcephblock01.hccos.cn #172.16.0.93
hctjcephblock02.hccos.cn #172.16.0.94
hctjosk8snode01.hccos.cn #172.16.0.95
hctjosk8snode02.hccos.cn #172.16.0.96
hctjosk8snode03.hccos.cn #172.16.0.97
hctjosk8snode04.hccos.cn #172.16.0.98
hctjosadm01.hccos.cn #172.16.0.99
hctjosmysql01.hccos.cn #172.16.0.25
hctjosmysql02.hccos.cn #172.16.0.26
hctjosmysql03.hccos.cn #172.16.0.27
hctjoscache01.hccos.cn #172.16.0.45
hctjoscache02.hccos.cn #172.16.0.46
hctjoscache03.hccos.cn #172.16.0.47
hctjosdr01.hccos.cn #172.16.0.48
hctjosdr02.hccos.cn #172.16.0.49

4.4. 吧ssh-key拷贝的目标主机上实现免密码登录

for i in $(grep hctj /etc/ansible/hosts |grep -o "#.*"|cut -d# -f2); do ssh-copy-id $i; done

4.5. 在/etc/ansible下吧架构搭起来

[[email protected] etc]# tree /etc/ansible/
/etc/ansible/
├── ansible.cfg
├── hosts
├── main.yaml
└── roles
    ├── cache
    │   └── cache.yaml
    ├── ceph
    │   └── ceph.yaml
    ├── default
    │   ├── default.yaml
    ├── dr
    │   └── dr.yaml
    ├── etcd
    │   └── etcd.yaml
    ├── k8s
    │   └── k8s.yaml
    └── mysql
        └── mysql.yaml

8 directories, 11 files

4.6. 编辑main.yaml

原文地址:https://www.cnblogs.com/demonzk/p/8203507.html

时间: 2024-10-26 19:46:44

【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理机器和软件)的相关文章

Ansible 管理服务和软件

[[email protected] ~]# ansible RAC -m yum -a 'name=iscsi-initiator-utils state=installed' RAC_Node1 | success >> { "changed": false, "msg": "", "rc": 0, "results": [ "iscsi-initiator-utils-6.2.0

Docker Kubernetes Service 网络服务代理模式详解

Docker Kubernetes  Service 网络服务代理模式详解 Service service是实现kubernetes网络通信的一个服务 主要功能:负载均衡.网络规则分布到具体pod 注:kubernetes deployment服务分配服务器负载均衡VIP只能NODE节点单独访问,这里需要外网用户可以放问到容器内,这里就需要用到service. 网络代理模式 kube-proxy v1.0中只支持userspace模式,在v1.1中,添加了iptables代理,在v1.2开始ip

Linux 上安装Docker 并部署netcor2.1

述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享底层系统资源的同时发挥它最大的优势.相比于虚拟机来说,同一服务器它可以创建出两倍的实例,这样一来,不仅节省了系统开销,而且利用率和性能也得到了提升,何乐而不为.最重要的一点是还帮助开发人员实现了"一次构建,到处运行"的理想! 那么Docker又是什么呢? Docker是基于Go语言开发并开

Linux下部署docker记录(1)-Volume使用

之前部署了Linux下部署docker记录(0)-基础环境安装,接下来看看Docker Volume的使用. Docker volume使用1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享.数据卷可以在多个容器之间共享.2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然你也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后,你就可以在其他容器中通过--volumes-froms参数来挂载该数

GitLab + Jenkins + Docker + Kubernetes。

目前方案是GitLab + Jenkins + Docker + Kubernetes. 方案的工作流程如下:首先,开发人员提交代码代码提交:随后,GitLab 会自动触发Jenkins job,Jenkins job会构建相应的镜像,放在一个Kubernetes的Pod里面:接下来,Kubernetes的Pod会把模块需要的其他依赖都包含在其内部(比如MySQL.Redis.MongoDB等),运行robot测试用例,测试用例的结果最后会反馈到Jenkins中:所有测试通过之后,GitLab把

Linux上安装Docker,并成功部署NET Core 2.0

概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共享底层系统资源的同时发挥它最大的优势.相比于虚拟机来说,同一服务器它可以创建出两倍的实例,这样一来,不仅节省了系统开销,而且利用率和性能也得到了提升,何乐而不为.最重要的一点是还帮助开发人员实现了"一次构建,到处运行"的理想! 那么Docker又是什么呢? Docker是基于Go语言开发并

Linux上安装Docker

到目前为止在linux上面安装Docker的最好方式是通过Docker提供的安装脚本来安装.尽管大多数的linux发行版有他们自己的包,但是考虑到Docker的发展速度,那些包都有些过时. 安装Docker需求: 内核版本为3.10或之上,可以通过uname -r来检查,如果你正在使用RHEL或CentOS,你需要7版本或者更新的. 同时记住你需要运行一个64位的架构,可以通过uname -m来检查.结果应该是x86_64. 最简单的安装方法: curl https://get.docker.c

Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET

Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET

阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gogs是一款不错git管理系统,而且是国内开源项目,今天我们就使用Gogs基于阿里云Linux CentOS 7 Docker部署搭建自己的git服务器. Gogs介绍(官网):https://gogs.io/ 二.步骤 1.  购买一个阿里云服务器,系统选择Linux CentOS 7 2.  doc