- 博客(19)
- 资源 (8)
- 收藏
- 关注
原创 shell编程规范
背景使用哪一种ShellBash是唯一被允许执行的shell脚本语言。可执行文件必须以 #!/bin/bash 和最小数量的标志开始。请使用 set 来设置shell的选项,使得用 bash <script_name> 调用你的脚本时不会破坏其功能。限制所有的可执行shell脚本为bash使得我们安装在所有计算机中的shell语言保持一致性。无论你是为什么而编码,对此唯一例外的是当你被迫时可以不这么做的。其中一个例子是Solaris SVR4包,编写任何脚本都需要用纯Bourne sh
2020-07-30 09:49:08 873
原创 【K8S运维知识汇总】第4天10:部署zk集群
实验架构第一步先部署zookeeper需要三台主机跑zk应该下载tar.gz二进制包创建/usr/java,解压到usr/java要设置环境变量现在11上环境就有了安装12上的jdk环境21这台主机也顺便做下11,12,21都在src里,要去安装zookeeper软件,也是用二进制方法去部署zookeeper本身是阿帕奇基金会开源的,tar.gz就是二进制包解压到opt下,制作软连接https://img-blog.c
2020-07-27 22:11:31 361
原创 【K8S运维知识汇总】第4天9:实战交付dubbo服务到K8S集群、开场
现在把nginx的流量调度恢复4层的也进行恢复两台nginx上跑了一个keepalive,把另外一台也配置上把配置黏贴过来这样nginx也都好了完全是用traefik-ingress控制器来对流量进行分发,也就是ingress的资源就是一个可视化的nginx把容器删了,自己会钻到21上了dashboard现在就一个副本,想要2个就会给你起来一个,这样就很方便对容器横向扩容小人输入dashboard.od.com,流量是从笔记本浏览器经过dns解析到vip 10.
2020-07-26 23:11:25 469
原创 【K8S运维知识汇总】第4天8:K8S集群平滑升级技巧
现在版本是1.15.4,,太高了可以回退版本两个节点都是1.15.4,升级k8s的时候,要在流量低谷的时候做现在集群了有不少pod,因为scheduler帮你去做平衡,先去升级21先把node从k8s集群里摘出来就剩一个节点了原来在21上的coredns就跑到22节点上了coredns完全没受影响,尽管从一个节点到了另外一个节点,这就是容器编排的特性做的好一点,就把11上的nginx,把21的upstream注释掉7层的负载均衡也注释掉现在上1.15.4回退到1.1
2020-07-22 23:18:46 566
原创 【K8S运维知识汇总】第4天7: dashboard小彩蛋–heapster
dashboard 也有小插件,dashboard本身是k8s的插件,但是dashboard本身也有个插件,现在heapster地位比较尴尬,只能称为菜单是dashboard下面的一个小插件quay.io和dockerhub都是仓库打镜像,push到harbor里deployment就是用heapster起来的pod控制器serivce创建一个service account,名字叫heapster,在kube-system名称空间里,rolebinding到一个默认的集群角色,s
2020-07-21 22:44:52 346
原创 【K8S运维知识汇总】第4天6:dashboard分权举例
dashboard可以用令牌的方式进行登陆用令牌登陆就需要kubectl describe secret,获得这个令牌实际上是kubernetes-dashboard-admin这个service account 服务账号产生的一个服务账号一定是对应唯一的服务账号的secret,secret秘密配置kubernetes-dashboard-admin这个service account 服务账号产生的,这个服务账号里就有令牌复制出来令牌复制到这里来登陆就获得了kubernetes-das
2020-07-20 22:18:40 420 1
原创 【K8S运维知识汇总】第4天4:rbac原理详解
kube-system下实例了两个deployment,核心资源,一个是coredns,一个是dashboardtraefik在daemonset里,两个pod控制器需要掌握,daemonset,deployment这里使用json格式来展示的yamlspec就是真正定义pod控制器的属性,selector就是标签选择器,下面就是定义一个template模版,实际上是pod的模版,pod的一些特性就被定义到了pod控制器里,pod资源本身是一组对象,启动参数,内容,挂载,存活性探针都可以定义
2020-07-18 16:42:33 751 2
原创 【K8S运维知识汇总】第4天3:dashboar插件安装
dashboard是k8s的可视化管理平台,是三种管理k8s集群方法之一首先下载镜像上传到我们的私有仓库中:hdss7-200# docker pull k8scn/kubernetes-dashboard-amd64:v1.8.3# docker tag fcac9aa03fd6 harbor.od.com/public/dashboard:v1.8.3# docker push harbor.od.com/public/dashboard:v1.8.3编辑dashboard资源配置清单:1
2020-07-18 11:22:13 432
原创 【K8S运维知识汇总】第3天8:k8s服务暴露之ingress
上一章我们测试了在集群内部解析service名称,下面我们测试在集群外部解析:根本解析不到,因为我们外部用的dns是10.4.7.11,也就是我们的自建bind dns,这个DNS服务器上也没有响应的搜索域。如何能让集群外部访问nginx-dp?这里有两种服务暴露方式:修改工作模式,在kube-proxy中修改,并重启1、使用nodeport方式,但是这种方式不能使用ipvs,只能使用iptables,iptables只能使用rr调度方式。原理相当于端口映射,将容器内的端口映射到宿主机上的某个.
2020-07-12 11:39:50 800
原创 【K8S运维知识汇总】第3天6:安装部署coredns
在运维主机上(10.4.7.200)准备Coredns镜像文件,以docker镜像文件的方式部署到Kubernetes集群中去。下载coredns镜像[root@hdss7-200 ~]# docker pull coredns/coredns:1.6.9[root@hdss7-200 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED ..
2020-07-07 23:31:56 2076 3
原创 【K8S运维知识汇总】第3天5:Flannel之SNAT规划优化
flannel之SNAT规则优化的目的是由于在K8S中的容器内,访问不同宿主机中的容器的资源的时候,日志文件会记录为宿主机的IP地址,而不是记录为容器本身自己的IP地址,建议在不同的宿主机上的容器互访的时候,在日志文件中查询到的IP地址均为容器的真实的IP地址。如下图所示,是为宿主机或进入宿主机的容器中进行curl访问另外node节点的容器,都会被记录成宿主机的IP地址,这样就会导致不同宿主机的容器互访,会经过一次SNAT转换,而实际上,不同宿主机容器之间的访问,应该会被记录为容器的实际IP地址而非宿主机的
2020-07-03 11:52:17 1067
原创 【K8S运维知识汇总】第3天4:详解flanneld工作原理
flanneld实际上只是在宿主机上的路由表中添加了静态路由来完成通信[root@hdss7-21 ~]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 10.4.7.254 0.0.0.0 UG 100 0 0 ens3310.4.7.0 .
2020-07-03 09:42:37 983
原创 【K8S运维知识汇总】第3天3:flanneld安装部署详解
安装flanneld[root@hdss7-22 ~]# cd /opt/src/[root@hdss7-22 src]# rz[root@hdss7-21 src]# ll总用量 452336-rw-r--r-- 1 root root 9850227 6月 22 21:16 etcd-v3.1.20-linux-amd64.tar.gz-rw-r--r-- 1 root root 9565743 6月 22 20:24 flannel-v0.11.0-linux-amd64.
2020-07-02 12:04:49 1368
原创 【K8S运维知识汇总】第3天2:kubectl详解——声明式资源管理方法
通过陈述式创建的pod资源,获得统一配置清单[root@hdss7-21 ~]# kubectl get pods nginx-dp-5dfc689474-bqk8w -o yaml -n kube-publicapiVersion: v1kind: Podmetadata: creationTimestamp: "2020-07-01T12:19:34Z" generateName: nginx-dp-5dfc689474- labels: app: nginx-dp .
2020-07-01 21:24:10 641
原创 【K8S运维知识汇总】第3天1:kubectl详解——陈述式资源管理方法(deployment资源、service资源)
查看名称空间:[root@hdss7-21 ~]# kubectl get namespace # 等同于kubectl get nsNAME STATUS AGEdefault Active 3d22hkube-node-lease Active 3d22hkube-public Active 3d22hkube-system Active 3d22h查看defalut名称空间下的所有资源:..
2020-07-01 10:44:35 1472
workmanage_project.zip
2020-05-07
knowledge_base.zip
2020-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人