摘要: 1:用的最多的是nodePort,如下nginx的service,将type设置成NodePort,同时nodePort设置成30010(k8s为了不与宿主机的端口冲突,默认限制了30000以下的端口) 这样通过任何一个节点IP+30010就可以访问nginx 2:loadbalancer模式,只有 阅读全文
posted @ 2017-10-18 15:24 深空灰 阅读(7717) 评论(0) 推荐(0) 编辑
摘要: pod本身是无状态,所以很多有状态的应用,就需要将数据进行持久化。 1:将数据挂在到宿主机。但是pod重启之后有可能到另外一个节点,这样数据虽然不会丢但是还是有可能会找不到 2:挂到外部存储,如nfs 上述说的是简单的存储方法,直接在deployment中定义了具体的存储,但是这样会存在几个问题。 阅读全文
posted @ 2017-10-18 15:11 深空灰 阅读(1916) 评论(0) 推荐(0) 编辑
摘要: deployment是k8s中部署应用最常见的一种方式。如果不需要被访问,那么只需要定义deployment即可。如果需要被其他服务访问,那么可以创建一个service与其绑定,通过访问service来访问对应的服务。 如上创建一个nginx的应用,访问任意节点IP:30010端口就就可以看到ngi 阅读全文
posted @ 2017-10-18 14:41 深空灰 阅读(1690) 评论(0) 推荐(0) 编辑
摘要: k8s集群中有三类IP: 1:宿主机的物理网卡IP,比如192.168.255.* 2:cni创建的网卡的IP,比如172.16.*.* 3:虚拟的IP(即ClusterIP ,无法ping通,通过代理连接),172.19.*.* 如果在任何一台机器上查看网卡name能看到那么多网卡。如下图。 et 阅读全文
posted @ 2017-10-18 14:13 深空灰 阅读(859) 评论(0) 推荐(0) 编辑
摘要: namespace 通常用来划分项目 默认kubectl命令 操作的namespace是default kube-system是k8s的系统组件namespaces 切换namespaces: 阅读全文
posted @ 2017-10-18 14:09 深空灰 阅读(1742) 评论(0) 推荐(0) 编辑
摘要: nodeAffinity(主机亲和性),podAffinity(POD亲和性)以及podAntiAffinity(POD反亲和性) nodeAffinity使用场景 : ● 将S1服务的所有Pod部署到指定的符合标签规则的主机上。 ● 将S1服务的所有Pod部署到除部分主机外的其他主机上。podAf 阅读全文
posted @ 2017-10-18 14:02 深空灰 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 1:helm(部署工具,可以用来部署常用的应用,替代kubelet原生命令) https://github.com/kubernetes/helm 应用列表:https://github.com/kubernetes/charts/tree/master/stable 2:Prometheus Op 阅读全文
posted @ 2017-10-18 14:01 深空灰 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: #地址见:https://github.com/SILLKY/kubernetes-pro/tree/master/Master-HA#包括其他一些文件,适当版本1.6.1#!/bin/bash host=master.k8s host1=master1.k8s host2=master2.k8s ip0=192.168.255.125 ip1=192.168.255.126 ip2=192... 阅读全文
posted @ 2017-10-18 13:47 深空灰 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 设置prometheus 的web hook 为对应服务: 报警的配置如下,设置了web hook url,报警就会把消息发给web hookurl,但是这里的数据格式和钉钉要求的格式不一样,所以后面会加一层。 由于部署在k8s中,url 是 'http://dingding-alerts:80/' 阅读全文
posted @ 2017-10-18 13:39 深空灰 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: dashboard在多人使用的时候经常遇到误操作的情况,为了对dashboard进行限制,对dashboard进行了权限控制, 这里主要限制只允许pod被删除。1:创建对应权限的ClusterRole(这里主要值允许pods被删除) 注意的一点是为了让dashboard显示heapster的监控数据 阅读全文
posted @ 2017-10-18 13:33 深空灰 阅读(1039) 评论(0) 推荐(0) 编辑
摘要: 注意:不能修改hostnamecurl -sSL http://aliacs-k8s.oss-cn-hangzhou.aliyuncs.com/installer/kubemgr-1.6.1.sh >kubemgr-aliyun-1.6.1.shchmod +x kubemgr-aliyun-1.6 阅读全文
posted @ 2017-10-18 11:01 深空灰 阅读(4895) 评论(1) 推荐(0) 编辑
摘要: 有时候容器在running的状态,但是里面的服务挂了,这个就难办了,所以k8s提供了一种检查服务是否健康的方法 Liveness Probe的种类: ● ExecAction:在container中执行指定的命令。当其执行成功时,将其退出码设置为0; ● TCPSocketAction:执行一个TC 阅读全文
posted @ 2017-10-18 09:44 深空灰 阅读(1647) 评论(0) 推荐(0) 编辑
摘要: 实际应用中发现,部分节点性能不足,某些较大的服务如果跑在这些机器上。会很快消耗该机器的内存和cpu资源,如果用uptime看一下的就会发现负载特别高(合理的范围这个值应该等于cpu个数),高到一定值就会导致该节点挂了。 比较好的方式是 1:底层,采用性能高的服务器用openstack分出多个虚机,通 阅读全文
posted @ 2017-10-18 09:40 深空灰 阅读(10500) 评论(1) 推荐(4) 编辑
摘要: 操作基本命令: 通过yaml文件创建: kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete) kubectl apply -f xxx.yaml (创建+更新,可以重复使用) 通过yaml文件删除: kubectl delete -f xxx.yaml 阅读全文
posted @ 2017-10-18 09:12 深空灰 阅读(14875) 评论(1) 推荐(1) 编辑