A collection of 7 posts

K8s概述(三):最佳实践

如何配置pod pod的生命周期: Pending:etcd已经保存了Pod的状态,但是这个Pod还没有被scheduled,还没拉取image Running:Pod已经schedule到node上,kubelet已经创建了所有的容器 Succeeded:Pod中所有容器被终止,不再重启 Failed:Pod中所有容器被终止,至少有一个容器是因为失败而终止 Unknown:API server与Pod的通信中断,通常是因为与kubelet的通信中断 init ...

K8s概述(二):k8s组件选型

存储 使用 Volume是将宿主机目录与容器目录绑定挂载在一起。k8s把存储抽象为PV、PVC,把存储提供者与使用者分离。使用者只需要声明希望持有的持久化存储的属性(PVC),提供者提供可用的各种类型存储、节点、用户名密码等,提供PV。这样子的好处是使用者不需要关心底层是使用什么存储设备来实现的。 存储的选择 存储的选择:排除NFS,有单点问题,在GlusterFS和Ceph中做选择。根据网上找到的一篇文章以及本人自己dd后的测试结果,GlusterFS比Ceph略快一些: ...

K8s概述(一):几种集群方案的对比

几种集群方案简介 下面以docker部署为主,主流的容器化集群部署方案主要有以下几种: Docker Compose:帮助在同一个节点上部署多个容器。 Docker Swarm:多台机器上部署容器。开箱即用,快速部署容器。偏重容器部署 K8s:社区活跃度高,组件丰富。微服务化,偏重应用的部署。 Marathon+Mesos:大数据组件部署。 ...

K8s概述(前言)

卤煮之前在某厂商做toB项目的时候,需要去客户那里做私有化部署。一开始用的手工部署,多机部署要维护互联关系,还有各种词典、健康检查等都需要自己手动做,模块多起来之后简直就是灾难。后面上了整套k8s部署,大大的解放了生产力,把问题转移到了如何更好的使用k8s上面。 这里我对比一下跟物理机部署比起来,为什么我们要用k8s做私有化部署: 物理机、虚拟机部署 k8s容器化部署 创建一个AWS实例、或一台可用物理机 起一个容器 Puppet/ansible指明安装部署的二进制文件、 ...

kubernetes相关——network的ip耗尽

问题描述:客户的机器经常断电重启,到某一次之后就显示所有pod都Completed状态,describe的时候信息是:”Failed to setup network for pod \”xxxxxx\” using network plugins \”cni\”: no IP addresses available in ...

kubernetes跨namespace访问服务

问题: namespaceB的应用想要访问部署在namespaceA的service。 解决方案: 在namespaceB中创建一个service,不使用selector,使用type=ExternalName的方式,externalName定义成为指向namespaceA中的service。 apiVersion: v1 kind: Service metadata: name: etcd-production spec: ports: - name: port1 ...