Fork me on GitHub

随笔分类 -  docker&k8s

摘要:1.概述 helm是k8s的另外一个项目,相当于linux的yum,在yum仓库中,yum不光要解决包之间的依赖关系,还要提供具体的程序包,helm仓库里面只有配置清单文件,而没有镜像,镜像还是由镜像仓库来提供,比如hub.docker.com、私有仓库. helm提供了一个应用所需要的所有清单文件 阅读全文
posted @ 2019-08-03 22:26 法外狂徒 阅读(19392) 评论(0) 推荐(3) 编辑
摘要:1.自定义指标-prometheus node_exporter是agent;PromQL相当于sql语句来查询数据; k8s-prometheus-adapter:prometheus是不能直接解析k8s的指标的,需要借助k8s-prometheus-adapter转换成api; kube-sta 阅读全文
posted @ 2019-08-03 22:16 法外狂徒 阅读(1921) 评论(0) 推荐(0) 编辑
摘要:1.部署metrics-server 从v1.8开始,引入了新的功能,即把资源指标引入api,资源指标:metrics-server,自定义指标:prometheus,k8s-prometheus-adapter(把prometheus采集的数据转化成k8s可理解的数据). 新一代架构: a.核心指 阅读全文
posted @ 2019-08-03 22:06 法外狂徒 阅读(3241) 评论(0) 推荐(0) 编辑
摘要:1.调度器(scheduler) 调度器的功能是调度Pod在哪个Node上运行,这些调度信息存储在master上的etcd里面,能够和etcd打交道的只有apiserver; kubelet运行在node节点上,监控着Node节点上的pod状态,并参与pod的创建等工作; kube-proxy也运行 阅读全文
posted @ 2019-08-03 21:59 法外狂徒 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:1.k8s网络通信 a.容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现; b.pod之间的通信:pod ip < > pod ip,pod和pod之间不经过任何转换即可通信; c.pod和service通信:pod ip < > cluster ip(即service ip)< >p 阅读全文
posted @ 2019-08-03 21:27 法外狂徒 阅读(5835) 评论(0) 推荐(1) 编辑
摘要:1.部署dashboard kubernetes-dashboard运行时需要有sa账号提供权限 Dashboard官方地址:https://github.com/kubernetes/dashboard a.创建一个sa并绑定到cluster-admin上 b.修改Service的type为Nod 阅读全文
posted @ 2019-08-03 20:35 法外狂徒 阅读(1443) 评论(0) 推荐(0) 编辑
摘要:一个在名称空间内的对象的完整url模板: Object_URL: /apis/<GROUP>/<VERSION>/namespaces/<NAMESPACE_NAME>/<KIND>[OJJECT_ID] role based access control,将权限授权给角色role,让用户扮演某个角 阅读全文
posted @ 2019-08-03 17:00 法外狂徒 阅读(1868) 评论(0) 推荐(0) 编辑
摘要:1.概述 用kubectl向apiserver发起的命令,采用的是http方式,K8s支持多版本并存. kubectl的认证信息存储在~/.kube/config,所以用curl无法直接获取apis中的信息,可以采用代理方式 2.创建serviceAccount 3.创建useraccount 参考 阅读全文
posted @ 2019-08-03 16:48 法外狂徒 阅读(3277) 评论(0) 推荐(0) 编辑
摘要:1.概述 无状态应用更关注群体,任何一个成员都可以被取代,有状态应用关注的是个体。用deployment控制器管理的nginx、myapp等都属于无状态应用,像mysql、redis、zookeeper等都属于有状态应用,他们有的还有主从之分、先后顺序之分. statefulset控制器能实现有状态 阅读全文
posted @ 2019-08-03 16:32 法外狂徒 阅读(1783) 评论(0) 推荐(0) 编辑
摘要:1.configmap configmap和secret是两种特殊的存储卷,它们不是给pod提供存储空间用的,而是给管理员或者用户提供了从外部向pod内部注入信息的方式. configmap:把配置文件放在配置中心上,然后多个pod读取配置中心的配置文件,不过,configmap中的配置信息都是明文 阅读全文
posted @ 2019-08-03 16:17 法外狂徒 阅读(2145) 评论(0) 推荐(1) 编辑
摘要:1.存储卷概述 因为pod是有生命周期的,pod一重启,里面的数据就没了,所以我们需要数据持久化存储,在k8s中,存储卷不属于容器,而是属于pod,也就是说同一个pod中的容器可以共享一个存储卷,存储卷可以是宿主机上的目录,也可以是挂载在宿主机上的外部设备. 存储卷类型: emptyDIR存储卷:p 阅读全文
posted @ 2019-06-16 12:34 法外狂徒 阅读(4718) 评论(0) 推荐(1) 编辑
摘要:上一篇中用node ip + 非80端口,访问k8s集群内部的服务.实际生产中更希望用node ip + 80端口的方式,访问k8s集群内的服务. 修改了这几处: 将deployment改为DaemonSet;删掉replicas; 将之前的标签改的简单点--app: ingress-nginx; 阅读全文
posted @ 2019-06-16 11:33 法外狂徒 阅读(3574) 评论(0) 推荐(1) 编辑
摘要:1.ingress概述 图解:第一个service起到的作用是:引入外部流量,也可以不用此方式,以DaemonSet控制器的方式让Pod共享节点网络,第二个service的作用是:对后端pod分组,不被调度时使用,如果后端pod发生变动,则ingress就会将变动信息注入到,ingress cont 阅读全文
posted @ 2019-06-16 11:30 法外狂徒 阅读(16115) 评论(0) 推荐(1) 编辑
摘要:1.Service概述 service是kubernetes中最核心的资源对象之一,service和pod之间是通过Label串起来,相同的Service的pod的Label是一样的.同一个service下的所有pod是通过kube-proxy实现负载均衡.而每个service都会分配一个全局唯一的 阅读全文
posted @ 2019-06-16 11:25 法外狂徒 阅读(3189) 评论(0) 推荐(1) 编辑
摘要:1.生产中,很少会跑一个自主式pod,一般由控制器去创建pod,其配置文件中内嵌了pod的创建方式. pod控制器:ReplicaSet、Deployment、DaemonSet、Job、Cronjob、StatefulSet ReplicaSet:代用户创建指定数量的pod副本数量,确保pod副本 阅读全文
posted @ 2019-06-16 11:17 法外狂徒 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:1.pod资源-spec.containers - name:镜像运行起来之后叫容器,该字段为容器名 image:镜像名字 imagePullPolicy:表示从哪拉取镜像, Always:不管本地有没有镜像,都要从仓库中下载镜像,也就是说,即使本地有镜像了,也不使用本地镜像,而是从仓库下载; Ne 阅读全文
posted @ 2019-06-16 10:47 法外狂徒 阅读(3210) 评论(0) 推荐(1) 编辑
摘要:1.资源分类 2.创建资源的方法 apiserver仅接受json格式的资源定义;yaml可以无损转换为json,所以使用yaml格式提供配置清单,apiserver可自动将其转换为json格式,然后再提交.使用命令kubectl run,最终也是自动转为json格式的资源定义. 大部分资源的配置清 阅读全文
posted @ 2019-06-16 10:25 法外狂徒 阅读(1240) 评论(0) 推荐(0) 编辑
摘要:1.kubectl命令就是apiserver的客户端工具,可以实现对nodes资源的增删改查. 2.发布端口 3.DNS解析 4.动态升级;手动修改svc的参数 此时这个svc会让node节点开一个端口,监听在30515上,访问http://10.0.0.20:30515/或http://10.0. 阅读全文
posted @ 2019-06-16 10:19 法外狂徒 阅读(7130) 评论(0) 推荐(0) 编辑
摘要:1.环境准备 2.安装 初始化k8s集群 3.查看信息 4.node上执行 也可以从这里下载镜像registry.cn-hangzhou.aliyuncs.com/google_containers node节点上需要的三个镜像 两个节点加入master 参考博客:https://www.jians 阅读全文
posted @ 2019-06-16 10:15 法外狂徒 阅读(894) 评论(0) 推荐(0) 编辑
摘要:1.docker的三种编排工具 Docker的第一类编排工具: a.docker compose(docker原生):只能对一个主机上的容器进行编排,无法编排多个主机上的容器; b.docker swarm(docker原生):可以对多个主机上的容器进行编排; c.docker machine(do 阅读全文
posted @ 2019-06-13 13:57 法外狂徒 阅读(1504) 评论(0) 推荐(1) 编辑