项目的通用结构
项目的通用结构,可根据真实情况进行删减
12345678910111213141516171819202122232425- src #代码- data #需要保存的文件,如安装包、镜像等- docs # 说明文档- scripts #相关的脚本文件- hack - build - Dockerfile # 构建镜像 - Vagrantfile #Vagrant配置 - ansible/ # ansible构建部署脚本 - site.yml - hosts - roles/ - group_vars/ - host_vars/ - library/ - kubernetes/ # Openshift平台构建部署脚本 - docker-compose # Docker compose部署 - conf - docker-compose.yaml- Makefile # 不同环境构统一构建入口- Jenkinsfile # Jenkins构建流水线,可调用ansible脚本或Dockerfile脚本- README ...
Ansible的k8s模块完全兼容OpenShift资源
Ansible 的 k8s 模块完全兼容 openshift 资源
安装
使用 k8s 模块需要安装 openshift 的 python 扩展
1$ pip install --ignore-installed openshift
安装过程中报如下错误TypeError: find_packages() got an unexpected keyword argument include需要升级 setuptools
1$ pip install -U setuptools
在执行 k8s 命令的主机上登录 kubernetes/openshift 平台
12$ oc login https://master.example.com:8443 -u admin -ppassword
测试
使用 ansible k8s 模块创建 namespace
1$ oc -i hosts all -m k8s -a 'state=present name=testproject kind=Project'
使用 ansible k8s 模块基于 d ...
Calico-BGP集群外部与集群网络打通
把这几个路由规则加入到路由器或者客户端机器上
123route add -net 10.233.55.64 netmask 255.255.255.192 gw 10.21.21.76route add -net 10.233.119.0 netmask 255.255.255.192 gw 10.21.21.74route add -net 10.233.183.64 netmask 255.255.255.192 gw 10.21.21.75
Win10客户端机器
12345678route add -p 10.233.97.128 mask 255.255.255.192 192.168.1.225route add -p 10.233.75.0 mask 255.255.255.192 192.168.1.226route add -p 10.233.100.128 mask 255.255.255.192 192.168.1.227route add -p 10.233.90.0 mask 255.255.255.192 192.168.1.228route add - ...
CentOS上OpenLDAP-Server使用cn=config方式配置
翻译自How to Configure OpenLDAP server in Red Hat Enterprise Linux 7 using cn=config method ?
环境
CentOS 7
openldap-2.4
问题
使用slapd工具在CentOS上安装与配置OpenLDAP Server
使用olc方式如何配置OpenLDAP Server
操作
安装openldap包1yum install -y openldap openldap-clients openldap-servers
LDAP默认的配置目录是/etc/openldap/slapd.d123456789101112[root@rhel7 ~]# cd /etc/openldap/slapd.d/[root@rhel7 slapd.d]# ls -ldrwxr-x---. 4 ldap ldap 4096 Aug 3 22:49 cn=config-rw-------. 1 ldap ldap 589 Aug 2 23:39 cn=config.l ...
CentOS上搭建双主高可用OpenLDAP-Server
OpenLDAP单机搭建手册参考:CentOS上OpenLDAP Server使用cn=config方式配置
配置双主高可用OpenLDAP
准备两台centos 7服务器,作为两台OpenLDAP Server的运行主机
Server ID
系统版本
IP
1
centos 7
192.168.1.2
2
centos 7
192.168.1.3
按照CentOS上OpenLDAP Server使用cn=config方式配置的方式在两台主机上部署好OpenLDAP Server。做到第6步即可,即启动openldap server
在两台主机上启动syncprov模块1234567891011$ cat syncprov_mod.ldifdn: cn=module,cn=configobjectClass: olcModuleListcn: moduleolcModulePath: /usr/lib64/openldapolcModuleLoad: syncprov.la$ ldapadd -Y EXTERNAL -H ldapi:/// ...
Ceph的搭建流程及openshift上使用ceph-rbd实现动态存储
Ceph分布式块存储部署机器列表
名称
核数
内存
ip
hostname
外挂磁盘大小(G)
管理节点admin
2
4
192.168.1.2
admin.ceph.com
监控节点monitor
2
4
192.168.1.3
monitor.ceph.com
存储节点node1
2
4
192.168.1.4
node1.ceph.com
100G
存储节点node2
2
4
192.168.1.5
node2.ceph.com
100G
部署Ceph RBD
1、给每台机器设置hostname
12345# 设置hostname hostnamectl --static set-hostname admin.ceph.com #192.168.1.2 hostnamectl --static set-hostname monitor.ceph.com #192.168.1.3 hostnamectl --static set-hostname node1.ceph.com #192.168.1.4 hostnamectl --stat ...
Ceph集群监控Prometheus+Grafana
Ceph是一个分布式存储系统。同时Ceph除了能提供块存储,还可以提供文件存储、对象存储。
这里不介绍如何搭建Ceph及原理,只记录使用Ceph_exporter + Prometheus + Grafana 来对Ceph集群作监控的部署过程
Ceph集群有三种节点:Admin + Monitor + Node
Admin节点上部署Ceph_exporter
安装需要的软件golang
1yum install golang git librados2-devel librbd1-devel -y
设置go的环境变量
12345# /etc/profile.d/go.shexport GOROOT=/usr/lib/golangexport GOBIN=$GOROOT/binexport GOPATH=/home/golangexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin
1source /etc/profile.d/go.sh
安装ceph_exporter
1go get -u github.com/digitalocean/cep ...
Confluence容器化-+-Openshift-Confluence模板创建
因为应用容器化部署已经是标准化的流程,无需再详篇介绍具体的部署流程。所以本文只提供相关的配置文档。如果对部署过程不了解的同学,请先自学容器基础。镜像已经创建好了,如下
12docker.io/xhuaustc/confluence:6.7.1docker.io/xhuaustc/atlassian-mysql:5.7
镜像构建配置mysql镜像12345678910111213141516171819# my.cnf[mysqld]# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links = 0# http://www.percona.com/blog/2008/05/31/dns-achilles-heel-mysql-installation/skip_name_resolve# http://www.chriscalender.com/ignoring-the-lostfound-directory-in-your-datadir/ignore-db-dir ...
Docker中使用命令COPY-ADD导入文件对权限的影响
1、文件保留权限原文件的权限所属用户与组为镜像中的用户可以使用--chown=jenkins:jenkins来指定用户所属
1COPY --chown=1001:1001 sample.txt sample.txt
2、压缩包(ADD)保留权限原文件的权限保留压缩包内文件的用户与组
Docker安装镜像仓库的三种方法
一、docker-distribution
安装docker-distribution软件1yum install docker-distribution
配置registry/config.yml文件123456789101112# /etc/docker-distribution/registry/config.ymlversion: 0.1log:fields:service: registrystorage:cache:layerinfo: inmemoryfilesystem:rootdirectory: /var/lib/registryhttp:addr: :5000
启动docker-distribution服务12systemctl start docker-distributionsystemctl enable docker-distribution
运维
二、运行容器registry直接运行docker run
12docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry --nam ...