helm install istio

helm install istio

先决条件 1. 已知安装mac下面的docker-desktop 2. kubernetes环境已部署完成 3. Helm已经安装完成 4. 保证网络正常GFW 5. 参考资料([Istio / Traffic Management](https://istio.io/docs/concepts/traffic-management/)) 使用helm install 1. Create a namespace for the istio-system components: ➜ kubectl version Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.0", GitCommit:"e8462b5b5dc2584fdcd18e6bcfe9f1e4d970a529", GitTreeState:"clean", BuildDate:"2019-06-19T16:40:16Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"} ➜ ➜ kubectl create namespace istio-system namespace/istio-system created ➜ 2. Install all the Istio [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) (CRDs) using kubectl apply: ➜ code git clone https://github. [Read More]

kubernetes故障之Orphaned pod

kubernetes故障之Orphaned pod

查看日志 [root@iZbp1c4tqwd9kaykklejmxZ ~]# journalctl -u kubelet -f -- Logs begin at Fri 2019-10-04 11:50:57 CST. -- Nov 01 13:28:21 iZbp1c4tqwd9kaykklejmxZ kubelet[9731]: E1101 13:28:21.575137 9731 kubelet_volumes.go:154] Orphaned pod "bb5c8fa3-b4b1-11e9-96a8-0a1877e1c33d" found, but volume paths are still present on disk : There were a total of 1 errors similar to this. Turn up verbosity to see them. Nov 01 13:28:22 iZbp1c4tqwd9kaykklejmxZ kubelet[9731]: W1101 13:28:22.826291 9731 reflector.go:270] object-"monitoring"/"grafana-dashboard-statefulset": watch of *v1.ConfigMap ended with: too old resource version: 2345008003 (2345014010) Nov 01 13:28:23 iZbp1c4tqwd9kaykklejmxZ kubelet[9731]: E1101 13:28:23. [Read More]

kubernetes故障之pod迁移

kubernetes故障之pod迁移

相关操作命令 # 查看节点 kubectl get nodes # 设置节点为不可调度 kubectl cordon <NodeName> # 设置节点为可调度 kubectl uncordon <NodeName> # pod漂移到可调度的node节点上 kubectl drain <不可调度的node,上面有pod> --force --ignore-daemonsets 实际操作,把”cn-hangzhou.i-bp1bt6np98dbi2xmno0o,cn-hangzhou.i-bp1bt6np98dbi2xmno0p”设置为不可调度 # 查看node节点 kube-shell> kubectl get nodes NAME STATUS ROLES AGE VERSION cn-hangzhou.i-bp1bt6np98dbi2xmno0o Ready <none> 24d v1.12.6-aliyun.1 cn-hangzhou.i-bp1bt6np98dbi2xmno0p Ready <none> 24d v1.12.6-aliyun.1 cn-hangzhou.i-bp1cu5nvk55l2usiufx5 Ready <none> 35m v1.12.6-aliyun.1 kube-shell> # 设置node节点为不可调度 kube-shell> kubectl cordon cn-hangzhou.i-bp1bt6np98dbi2xmno0o node/cn-hangzhou.i-bp1bt6np98dbi2xmno0o cordoned kube-shell> kubectl cordon cn-hangzhou.i-bp1bt6np98dbi2xmno0p node/cn-hangzhou.i-bp1bt6np98dbi2xmno0p cordoned kube-shell> kubectl drain命令漂移不可调度node上的pod节点 # 查看修改调度后的node节点信息,其中2个node不可调度 kube-shell> kubectl get nodes NAME STATUS ROLES AGE VERSION cn-hangzhou. [Read More]

总结2018,展望2019

总结2018,展望2019

前言

在时间长河里,珍惜每一天,感谢遇到的每一个人,不管对的、错的,开心的、不开心,都随着2019年新年的钟声随风而逝.
2019年在忐忑不安中反思不知不觉中到来.又到了反思2018年的时候.
2018年.生活不易.且行且珍惜.
展望2019年,努力拼搏奋斗到底

写作:

2018年文章基本写的很少了,其实很多资料文档写了不少.但是相对来说博客更新的频率降低了很多.这个也不是找借口.其实就是自己变懒了.争取2019年做下自己技术突破.

工作:

工作方面,其实今年也是马马虎虎的一年.在做业务的保障和技术的沉淀以及团队管理.使用的技术基本还是目前一些主流的技术.  
还好团队领导和兄弟们以及兄弟部门比较给力.在马马虎虎的情况下平稳度过了2018年,在这里要感谢兄弟们的支持以及领导的栽培和兄弟部门的照顾.让浑身是毛病的我度过了这一年.  
在保障业务稳定的情况下.没有做出更多的业绩以及自我也未有做到更大的突破和成长.  
没有按照自己既定的规划去做。相对来说比较失败.  

读书:

已读完的书:
    今年大概看完了二十多本书,还有十几本在读.以及几个专栏
    富爸爸穷爸爸
    团队核能: 行动版
    跑步圣经
    月亮与六便士
    人间失格
    python web开发实战
    一万小时定律
    思考致富
    颠覆者:周鸿祎自传
    彼得.林奇的成功投资
    赋能:打造应对不确定性的敏捷团队
    无所畏 冯唐
    Kubernetes 权威指南
    DevOps: 软件架构师行动指南
    韭菜的自我修养
    跃迁
    你的生命有什么可能
    诸时健传
    腾讯传
增长黑客
    极客时间订阅:
    赵成的运维体系管理课
    朱赟的技术管理课
    深入剖析Kubernetes

生活:

2018年家人身体都比较健康,家庭和睦.
和太太感情虽然有磕磕碰碰偶尔争吵,好歹在不断磨合中,为爱情增加了一些催化剂.
今年最大的改变是坚持了健身.健身之后身体也好了.自信心也增加了.
今年准备要出去旅游的事情,由于各种原因又泡汤了争取在2019年出去一趟.
好兄弟胖子也在年末的时候结婚了.期待2019年另外2好兄弟加油.
学习炒股.今年亏了不少钱.算是交学费了.
弟弟也越来越懂事.越来越有一个当父亲和丈夫的责任.替弟弟高兴.
媳妇今年的事业算是步入了正轨.注册了自己的工作室.走上了专职的心理咨询师岗位.替媳妇加油喝彩.
今年自己最大的改变出了坚持健身以外.不怎么喝酒了.以前喜欢的LPL以及英雄联盟、刺激战场等游戏也不玩了.算是为自己的游戏青春划上了句号.
慢慢的迷恋上了喝茶.也越来越喜欢安静.喜欢一个人安静的躲在一个角落.看看书听听音乐.
今年本来准备备孕的事情和买房的事情因为各种原因都未有实现.算是既遗憾又克制.

2019年准备做这些事情:

健身持续不断的坚持下去.
争取完成去年未完成的事情.多看书.
多挣点钱,毕竟物质才能决定上层建筑.
准备出去玩一趟.
在各种条件成熟的情况下,备孕提上日程.
考个驾照,不能再拖了.

Docker for Mac install Kubernetes

Docker for Mac install Kubernetes

install Docker for Mac 使用brew 方式安装,注意是在docker版本18.06之后才开始支持 brew cask install docker 从官方下载docker.dmg文件 https://store.docker.com/editions/community/docker-ce-desktop-mac 安装完成之后如图展示,使用docker账号密码登陆就可以启动 安装完成之后界面 设置 Docker 中国官方镜像加速 registry mirror https://registry.docker-cn.com 因为墙的原因我们预先从阿里云服务器上下载Kubernetes所需要的镜像.不然我们在启用Kubernetes应用之后,会一直显示,Kubernetes 正在启动. ➜ images cat images k8s.gcr.io/kube-proxy-amd64:v1.10.3=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy-amd64:v1.10.3 k8s.gcr.io/kube-controller-manager-amd64:v1.10.3=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager-amd64:v1.10.3 k8s.gcr.io/kube-scheduler-amd64:v1.10.3=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler-amd64:v1.10.3 k8s.gcr.io/kube-apiserver-amd64:v1.10.3=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver-amd64:v1.10.3 k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.8 k8s.gcr.io/k8s-dns-sidecar-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-sidecar-amd64:1.14.8 k8s.gcr.io/k8s-dns-kube-dns-amd64:1.14.8=registry.cn-hangzhou.aliyuncs.com/google_containers/k8s-dns-kube-dns-amd64:1.14.8 k8s.gcr.io/pause-amd64:3.1=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0=registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0 k8s.gcr.io/etcd-amd64:3.1.12=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd-amd64:3.1.12 #gcr.io/kubernetes-helm/tiller:v2.10.0=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.10.0 ➜ images cat load_images.sh #/bin/bash file="images" if [ -f "$file" ] then echo "$file found." while IFS='=' read -r key value do #echo "${key}=${value}" docker pull ${value} docker tag ${value} ${key} docker rmi ${value} done < "$file" else echo "$file not found. [Read More]

总结2017,展望2018

总结2017,展望2018

时光飞逝,2017年转瞬即逝,老习惯,一年年底给自己做一个总结。

写作:

2017年自己在博客上大概写了5篇文章左右,还有一些关于容器Kubernetes方面的文章大概18篇左右,主要是工作太忙没精力时间去整理.

读书方面今年算比较失败的一年,技术方面的书就读了几本,主要是容器和python方面的一些书籍,也印证了,DevOps火爆的一年
《PaaS实现与运维管理》《从行动开始:自我管理的科学》《docker容器与容器云》《Python Web开发实战》《腾讯传》《持续交付发布可靠软件的系统方法》《高效人士的七个习惯》《番茄工作法》《深度工作》《Kubernetes权威指南》这本正在读.《Python编程快速上手》正在读。

今年参加了Gops大会以及InfoQ上海大会,以及几场线下的容器大会

工作:

做团队技术管理其实是一个蛮有意思的职业.既考验情商也考验智商。金融行业是一个稳定性和可用性要求非常高的的行业,压力确实很大.当然挑战非常高,还好负责的这块大问题到没有,小问题到不少,还需要持续的改定和优化,团队管理和技术还需要努力提升,团队的核心成员还要培养.团队文化需要持续塑造.当然更要感谢各位领导,兄弟的支持,才能顺利的度过2017年.

创新方面今年做的比较少,新环境一切都是围绕这稳定性,可用性的方向去做运维以及带团队.希望2018年能带团队做一些挑战性的创新性工作。

生活:

旅游方面,五月份带媳妇去了巴厘岛度蜜月
青岛的房子在大舅哥和岳父的帮忙下在婚期之前顺利的装修完成.感谢大舅哥辛苦的努力.
10月份在青岛举办了婚礼,感谢家人妻子朋友,大学同学更是不远万里去参加婚礼,非常开心.年底还需要在老家举办一场婚礼.
媳妇的状态也还好,工作生活都基本达到了期待的状态.
夫妻感情也算平稳偶尔吵吵闹闹也算为爱情增加了一些催化剂.
健身的事情又拖了一年,明显感觉今年身体不如以前状态好了,也许是缺少锻炼的问题.也许是人到中年,变成油腻的中年
五月份表弟来上海.带表弟学习计算机,目前已找到工作,算为家里老人帮忙.
八月份小姑家表妹表弟来考上大学来上海学习,帮表弟表妹顺利入学,让姑姑少操心.
爷爷父母身体今年都还可以,家庭和睦没有啥大事情.
弟弟家也算和睦,侄女也在茁壮的成长.
大舅子前几天又生了一小男孩.憨的可爱.我这边也要加油努力一下
乱七八糟今年就这样吧

2018年准备做这些事情:

要重视自己和家人的身体健康,争取能坚持健身,多陪陪家里人
准备每个月读三本书,算挑战一下自己
工作上需要再努力一把,毕竟油腻的中间人还要养家糊口
努力进行造人计划
考个驾照
技术想在学习一点
准备出去再玩一趟
买房是个大工程,看机会

G云云主机性能测试

G云云主机性能测试

公司最近要上个新业务,正在选择云平台,国内的几家都测试过,把G云的测试结果发出来,大家参考下。总体还不错,号称私有云,资源独享。G云官网:http://gicloud.com.cn

一、网络测试

PING测试在一定程度上可以代表服务器的宽带速度。使用站长工具提供的Ping服务 ( http://ping.chinaz.com ),来测试各个地区的速度,以便做一个直观的了解。 Gyun

[Read More]

CentOS7安装zabbix grafana插件

CentOS7安装zabbix grafana插件

grafana

直接yum安装

[root@zabbixsrv ~]# yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.0-1468321182.x86_64.rpm

[root@zabbixsrv ~]# yum install initscripts fontconfig

本地配置yum安装

1.修改yum源配置文件

[root@zabbixsrv ~]# cat /etc/yum.repos.d/grafana.repo
[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

2.yum安装
yum install –y grafana
[Read More]

2017年读书计划

2017年读书计划

读书

准备读的书:

  1.Pthon黑帽子黑客与渗透测试编程之道
  2.
  3.Kubernetes权威指南
  4.

已读的书:

    1.PaaS实现与运维管理:基于Mesos +Docker+ELK的实战指南
    2.从行动开始:自我管理的科学
    3.精通saltstack
    4.docker容器与容器云
    5.Python Web开发实战
    6.腾讯传
    7.持续交付发布可靠软件的系统方法
    8.Pthon黑帽子黑客与渗透测试编程之道
    9.黑客
    10.Python 学习手册第四版
    11.深度工作
    12.番茄工作法
    13.高效人士的七个习惯
读书 

zabbix自动发现端口监控(一)

zabbix自动发现端口监控(一)

查看获取端口的脚本 [root@iZbp113qvinee7jxepbagqZ ~]# cat /opt/discovery_port.sh #!/bin/bash portarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`) length=${#portarray[@]} printf "{\n" printf '\t'"\"data\":[" for ((i=0;i<$length;i++)) do printf '\n\t\t{' printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}" if [ $i -lt $[$length-1] ];then printf ',' fi done printf "\n\t]\n" printf "}\n" [root@iZbp113qvinee7jxepbagqZ ~]# 授权,要让zabbix用户有执行权限 [root@iZbp113qvinee7jxepbagqZ ~]# chmod +x /opt/discovery_port.sh [root@iZbp113qvinee7jxepbagqZ ~]# 查看zabbix自定义key文件 [root@iZbp113qvinee7jxepbagqZ ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_discovery_port.conf UserParameter=tcpportlisten,/opt/discovery_port.sh "$1" [root@iZbp113qvinee7jxepbagqZ ~]# 重启zabbix agent [root@iZbp146uf9ftw85i3zaol9Z ~]# service zabbix-agent restart Shutting down Zabbix agent: [ OK ] Starting Zabbix agent: [ OK ] [root@iZbp146uf9ftw85i3zaol9Z ~]# 服务端测试 [root@iZbp14ipzpabr30yllskn4Z tmp]# zabbix_get -s 10. [Read More]
zabbix 

使用saltstack部署zabbix监控mysql主从

使用saltstack部署zabbix监控mysql主从

思路 首先在/srv/salt/下面创建zabbix_mysql目录,然后创建init.sls. 需要注意的前提必须是zabbix agent已经安装部署. 复制我们自己监控创建的监控项目到客户端 重启zabbix agent 查看表结构 ~/Desktop/salt > tree zabbix_mysql zabbix_mysql ├── files │ ├── mysql_grant.sh │ ├── mysql_low_discovery.sh │ ├── sudoers.sh │ └── userparameter_discovery_mysql.conf └── init.sls 1 directory, 5 files zabbix discovery ~/Desktop/salt > cat zabbix_mysql/files/userparameter_discovery_mysql.conf UserParameter=zabbix_low_discovery[*],/bin/bash /opt/mysql_low_discovery.sh $1 UserParameter=mysql_stats[*],mysql -h localhost -P $1 -uzabbix -pzabbix -e "show global status"|grep "\<$2\>"|cut -f2 UserParameter=mysql_stats_slave[*],mysql -h localhost -P $1 -uzabbix -pzabbix -e "show slave status\G"|grep "\<$2\>"|awk '{if($NF=="Yes") {print 1} else {print 0}}' ~/Desktop/salt > mysql授权 ~/Desktop/salt > cat zabbix_mysql/files/mysql_grant. [Read More]

使用salt批量部署zabbix自动发现监控(二)

使用salt批量部署zabbix自动发现监控(二)

查看目录结构 [root@iZbp14ipzpabr30yllskn4Z salt]# tree discovery_port/ discovery_port/ ├── files │ ├── discovery_port.sh │ ├── sudoers.sh │ └── userparameter_discovery_port.conf └── init.sls 1 directory, 4 files [root@iZbp14ipzpabr30yllskn4Z salt]# 查看主配置文件init.sls [root@iZbp14ipzpabr30yllskn4Z salt]# more discovery_port/init.sls ### zabbix mysql config discovery_port: file.managed: - name: /etc/zabbix/zabbix_agentd.d/userparameter_discovery_port.conf - user: root - mode: 755 - source: salt://discovery_port/files/userparameter_discovery_port.conf discovery_port_sh: file.managed: - name: /opt/discovery_port.sh - user: root - mode: 755 - source: salt://discovery_port/files/discovery_port.sh sudoers_manager: file.managed: - name: /opt/sudoers.sh - user: root - mode: 755 - source: salt://discovery_port/files/sudoers. [Read More]