zhangguanzhang's Blog

zhangguanzhang's Blog

it's better to burn out than to fade away

docker部署jira(8.0.0)和confluence(6.14.1)
记录下这几天搭建的过程jira和confluence是分别两台,数据库也是分开的,数据库是用mysql的rpm的repo添加后安装的,jira和confluence是docker跑的,把破解的jar加到镜像里然后改了下别人的Dockerfile本次安装的版本: jira-software 8.0.0 confluence 6.14.1 Docker CE 18.06.02 OS CentOS 7.5.1804 系统基本设置 所有防火墙与SELinux 已关闭:123systemctl disable --now firewalld NetworkManagersetenforce...
通用的dashboard部署和tls,SSL相关部署
详细的讲解下部署dashboard,比市面上更详细和更多场景的选择,本文dashboard的暴露不会用nodeport(不喜欢使用它)和apiserver的web proxy代理也就是/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/这种 讲下四种场景方式: 纯dashboard http和https不惨合外部证书 openssl 证书给dashboard当https 个人向域名使用https小绿锁 ingress tls 代理http[s]的dashboard以及最后讲解的如何定义带权...
fstab与systemd.mount自动挂载的一点研究和见解
每次挂nfs,iscsi,cifs改fstab都心惊胆颤,怕改错了开机hang在那影响业务。每次都是改之前去搜第四列列的所有选项值。写下今天趁线上挂了cifs的一台机器可能重启之前在我自己虚机上做了测试和一些问题搜到的见解虚机桥接网络,宿主机共享一个目录,折腾了半天autofs都没配置起来,而且网上普遍的samba的fstab为下面这样 1//10.0.23.85/test /mnt cifs username=zhangguanzhang@xxxxx.com,password=xxxxxxxxx,iocharset&#x...
proxmox里使用cloud-init和一些笔记
cloud-init的镜像模板制作模板制作记录下proxmox制作带有 cloud-init 的虚机模板过程    因为刚开始制作虚机模板的硬盘是固定大小,后面通过克隆后调整硬盘大小就会自动 growpart ,需要安装 cloud-utils-growpart。好像只能往大的扩,我个人也倾向于最小 20G,所以这里我开的是20G硬盘的虚机    另外查了下和实际试了下 cloud-utils-growpart 好像只支持 ext3 和 ext4...
prometheus的黑盒监控
      常规的各种exporter都是和需要监控的机器一起安装的,如果需要监控一些tcp端口和七层应用层的状态呢,这个时候就需要黑盒监控了,不需要安装在目标机器上即可从外部去监控。       9115是它的http端点的默认监听端口,blackbox.yml它的配置文件里以基础的http、dns、tcp、icmp等prober定制配置出各种监测模块(module),在prometheus server的配置文件里声明用哪个模块去探测哪个targets,下面以doc...
对于初入k8s和kubeadm的一些建议
主要还是简单说下kubeadm 说说一些现象    无论docker还是K8s群看见过太多人盲目了有些是赶鸭子上来的,有的是跟风盲目进来乱学的.其中较多的分类为: 不学docker直接学k8s的跟风狗 没有熟悉Linux操作和一些基础知识的开发 Docker学得不怎么样就迫不及待来学的跟风狗 入门最具有争议的问题就是如何开始,k8s各个组件对于小白来说搭建方式和配置文件对于入门的人来说太庞大了,对于环境来学习一般分为下面两种 按照别人博客或者文章去手动搭建一个环境后学习 找个简易部署的方案来部署环境来学(kubeadm或者ansible...
一次docker镜像的解耦--onlyoffice
年初的时候就考虑过搭建个在线编辑excel的,之前试过很多owncloud,seafile,nextcloud,kodexplorer基本都是纯网盘或者不免费 这几天又有需求多人同时在线编辑office文件,同事找了个onlyoffice的用docker跑起来了. dockerhub上看了下镜像挺大的而且没有跳转到github上Dockerfile的超链接 稍微用docker history看了下发现里面一堆各种数据库都放同一个镜像里,根本没有解耦 于是便有了解耦这个镜像的冲动 先找官方的例子跑跑看 地址:https://api.onlyoffice.com/editors/demopr...
记录一次十字符病毒清理过程
周五网络组同事告知几个租户的session过大,建议我把租户这几台机器关机了我进去后把网卡down了后开始看稍微看了下是好几个十个字符的进程一直杀不完,叫存储同事把快照挂载了准备周一恢复 结果今天挂载上去后开机发现还是有,好吧,手动查杀结合猜想和状态输出想了下逻辑是如下思路 crontab加计划(/var/spool/cron/用户名文件,/etc/crontab里,/etc/cron.hourly/x.sh) 进程互相守护,杀掉一个生成一个新的在/usr/bin/目录,命名是十个字符 /etc/init.d/和/etc/rc.d/rcx.d/对应的软链接保证开机启动 首先ssh...
生成kubeconfig常规的两种方法
方式总得来讲有两种创建 kubeconfig,证书的话市面上很多教程,要注意下面事项为以下: 要注意 CN(Common Name) 与 O(Organization) 等内容是会影响 Kubernetes 认证的。具体可见 https://kubernetes.io/docs/setup/best-practices/certificates/CN Common Name, apiserver 会从证书中提取该字段作为请求的用户名 (User Name)O Organization, apiserver 会从证书中提取该字段作为请求用户所属的组 (Group) CA (Certif...
全手动部署prometheus-operator监控K8S集群以及一些坑
写这篇文章原因        所有的监控的agent底层最终都是查询的/proc和/sys里的信息推送(如果错了轻喷),因为收集宿主机信息方面也想用pod跑,会面临到问题        常见的zabbix_agent默认读取fs的/proc和/sys,容器跑agent会导致读取的不是宿主机的/proc和/sys        而prometheus的n...
IngressController使用和它的高可用落地
        从之前对ingress controller到现在了解架构和一些经验总结下,顺带给人科普少走弯路需要看懂本文要具备一下知识点 svc实现原理和会应用 知道反向代理原理,了解nginx和apache的vhost概念 了解svc的几种类型(Nodeport,clusterip,LB) 四层和七层区别(不明白就这样去理解,七层最常见就是应用层的http,也就是url,四层是传输层,为tcp/udp端口) 域名解析,/etc/hosts等基础知识 知道pod互斥或者ds的使用 Ingress Co...
跨VPC或者跨云供应商搭建K8S集群正确姿势
        去年开始各大云厂商搞活动 120 元一年的云主机,当时还不会k8s,但是了解到搭建集群需要好几台,于是当时攒了好几台来做准备: tx 一台,阿里两个别人账号买了两台,再加上很久之前几何云送了一台. 当时还有人怼说买这么多干啥,答曰:以后学 k8s,此人曰:呵呵         后面刚开始接触的时候不太了解网络,用的calico,跨vpc根本不行,有大佬说只能vxlan能跨SDN下的vpc之间但是云厂商的主机都是做的...
二进制部署Kubernetes v1.11.x(1.12.x) HA可选
本次采用二进制文件方式部署 不建议使用secureCRT这个ssh软件复制本篇博客内容的命令,因为它的部分版本对包含多条命令的处理结果并不完美,可能很多命令不是预期结果 本文命令里有些是输出,不要乱粘贴输入(虽然也没影响) 本文命令全部是在k8s-m1上执行 本文很多步骤是选择其一,别啥都不看一路往下复制粘贴 如果某些步骤理解不了可以上下内容一起看来理解 本文后面的几个svc用了externalIPs,上生产的话必须用VIP或者LB代替 本文的HA是vip,生产和云上可以用LB和SLB,不过阿里的SLB四层有问题,可以每个node上代理127.0.0.1的某个port分摊在所有apise...
Kubernetes v1.11.x HA全手动苦工安装教学
多master高可用 或者 单master的ansible部署方案 管理组件采用staticPod或者daemonSet形式跑的,宿主机os能跑docker应该本篇教程能大多适用安装完成仅供学习和实验 本次安裝的版本: Kubernetes v1.11.1 CNI v0.7.1 Etcd v3.3.9 Flannel v0.10.0 或者 Calico v3.1.3 Docker CE latest version(18.06) ** 不建议用docker 18.05 , docker CE 18.05有bind mount的bug ** 本次部署的网络信息: Clust...
基于openstack的ecs上使用VIP
客户需要在云上使用vip,后面发现不通,查询了后发现openstack的neutron会存在ip和mac绑定的关系,可以阅读下面的链接查看说明https://blog.codecentric.de/en/2016/11/highly-available-vips-openstack-vms-vrrp/即如果网卡上有不是下发的ip在向外发包后包会被drop掉,需要用neutron的cli解绑ip和mac的绑定,我们这这个功能已经做在了web上了,所以可以直接解绑 存在绑定的关系下,意味着flanneld不能使用host-gw模式,除非云厂商实现了cni-plugins或者不是原生的open...