k8s系列---故障】的更多相关文章

kubectl get namespace prom Terminating 45h namespace 出现Terminating 状态,一直删不掉 解决: 1:导出namespace的json文件 [root@master ~]# kubectl get namespace prom -o json > prom.json 2:修改json文件 { "apiVersion": "v1", "kind": "Namespace&…
本篇将会讲解k8s是什么?本机k8s环境搭建,部署一个pod并演示几个kubectl命令,k8s dashboard安装. k8s是什么 k8s是kubernetes的简写,它是一个全新的基于容器技术的分布式架构领先方案.它是谷歌内部使用的大规模集群管理系统Borg的一个开源版本.这个项目在谷歌内部使用多年,由于员工签署了保密协议,所以外界对这个项目一无所知.直到kubernetes的开源一鸣惊人,大家才得以了解.Kubernetes是一个开放的开发平台,并不限制特定的编程语言,任何语言编写的服…
Docker & k8s 系列一:快速上手docker 本篇文章将会讲解:docker是什么?docker的安装,创建一个docker镜像,运行我们创建的docker镜像,发布自己的docker镜像至中央仓库. Docker是什么 docker是什么?我们在谷歌翻译中输入单词docker得到的解释是:码头工人,搬运工人.码头是什么样?我们没去过,但也在电视上见过,那里有一个个蓝色的.形状大小都相同的集装箱.它们从轮船卸载到码头,也从码头装载到巨轮上然后运往远方.每一艘轮船不需要关系集装箱里边是什…
本章将会讲解: pod的概念,以及如何向k8s中部署一个单体应用实例. 在上面的篇幅中,我们了解了docker,并制作.运行了docker镜像,然后将镜像发布至中央仓库了.然后又搭建了本机的k8s环境.本篇将演示如何将单个服务实例部署到k8s. Pod的含义 k8s的最小部署单元是pod,pod这个单词的意思是"豆荚",我们可以想象一下豆荚里边包含了一颗颗小豆子.与豆荚相似,k8s中包含了一个个pod,pod中运行着我们的程序,如下图: 在K8s中部署服务 在k8s中部署一个Pod,需…
其他有关内容 安装:参考https://www.cnblogs.com/dribs/p/9082458.html 集群故障重置:参考https://www.cnblogs.com/dribs/p/10340609.html 1:master上查看token [root@k8s-m ~]# kubeadm token list 如果没有token信息,就重新生成一个,默认有效期1天 [root@k8s-m ~]# kubeadm token create 2:新增的node节点操作 内核参数调整…
文章拷于:http://blog.itpub.net/28916011/viewspace-2216748/   用于自己备份记录错误 一个完整的k8s集群,应该包含如下六大部分:kube-dns.ingress-controller.metrics server监控系统.dashboard.存储和EFK日志系统. 我们的日志系统要部署在k8s集群之外,这样即使整个k8s集群宕机了,我们还能从外置的日志系统查看到k8s宕机前的日志. 另外,我们生产部署的日志系统要单独放在一个存储卷上. 这里我们…
更多精彩内容,猛搓这里 目录 一.Docker Compose 1.前言 2.官方介绍 1.Compose 中有两个重要的概念 2.三步骤 3.Compose是Docker官方的开源项目,需要安装! 4.Compose:重要的概念 二.docker compose 安装 1.下载 2.bash命令补全 3.卸载(没有安装不需要执行) 4.授权 5.检测版本 三.docker compose使⽤ 1.相关概念 2.场景 3.docker-compose模板 4.启动 5.docker-compos…
更多k8s内容,请关注威信公众好:新猿技术生态圈 一.数据持久化 Pod是由容器组成的,而容器宕机或停止之后,数据就随之丢了,那么这也就意味着我们在做Kubernetes集群的时候就不得不考虑存储的问题,而存储卷就是为了Pod保存数据而生的.存储卷的类型有很多, # 一般有四种:emptyDir,hostPath,NFS以及云存储(ceph, glasterfs...)等. 1.emptyDir(不能用来做数据持久化) # emptyDir:是pod调度到节点上时创建的一个空目录,当pod被删除…
作者 | 骆冰利 来源 | Erda 公众号 ​ 某天晚上,客户碰到了这样的问题:K8s 集群一直扩容失败,所有节点都无法正常加入集群.在经过多番折腾无解后,客户将问题反馈到我们这里,希望得到技术支持.该问题的整个排查过程比较有意思,本文对其中的排查思路及所用的方法进行了归纳整理并分享给大家,希望能够对大家在排查此类问题时有些帮助和参考. ​ 问题现象 运维同学在对客户的 K8s 集群进行节点扩容时,发现新增的节点一直添加失败.初步排查结果如下: ​ 在新增节点上,访问 K8s master s…
一  简介:今天咱们大体介绍下 这两者是如何联系的二  概念解析     pod:说下我的理解    1 pod通过yaml文件来封装docker本身+启动形式    2 pod可以运行多个docker容器    3 pod可以自动销毁和重建,通过apiserver来进行管理    yaml文件    使用yaml文件的好处   1 便捷性:不必添加大量的参数到命令行中执行命令   2 可维护性:YAML文件可以通过源头控制,跟踪每次操作   3 灵活性:YAML可以创建比命令行更加复杂的结构 …
docker封装mysql的一些心得 简介:今天咱们来聊聊容器化mysql的一些心得 版本:Docker version 18.03 mysql 5.7.21考虑条件:  1 选好合适的docker镜像  2  容器安装的内容  3 分离设置的方式我的思路   1 关于mysql 安装设计       1 尽量只安装基础软件包+mysql服务在容器内,像percona等第三方软件不要安装在容器内,因为软件包本身会依赖很多软件,要保持容器的干净整洁       2 上述第三方软件可以选择安装在宿主…
Kubernetes介绍 参考:Kubernetes核心组件解析 Pod是k8s的最小调度单元 每个pod有独立的IP,但是pod的IP是不可靠的,重新调度pod就会改变IP,service概念就是为了解决这些问题. 给service会分配虚拟IP即ClusterIP,通过ClusterIP和端口,访问会自动负载均衡到后端的pod上. 目前k8s提供两种负载均衡策略:RoundRobin和SessionAffinity. RoundRobin:轮询模式 SessionAffinity:基于客户端…
介绍这个概念前,需要提前知道存储卷pv/pvc之类的概念. 之前的文章有关于EFK日志系统的介绍,里面的环境是测试环境,完全按照教程一步步的操作,甚至注释掉了持久化存储,当真正线上部署时,又抓虾,打开持久化之后,发现里面用的存储方式是stroragecalss,动态生成nfs的pv进行空间分配. 接着就开始这篇文章写作 1:nfs系统创建,因已有该环境,而且就是简单搭建一个nfs,步骤不再描述 2:参考之前的pv/pvc教程文章,验证nfs是否正常,懒得验证 3:运行nfs-client-pro…
day1:k8s集群准备搭建和相关介绍 day2:k8spod介绍与创建 day3:k8sService介绍及创建 day4:ingress资源和ingress-controller day5:存储卷pv/pvc/configmap/secert day6:stateful有状态应用副本集控制器 day7:k8s认证serviceaccount.RBAC day8:dashboard认证及分级授权 day9:网络插件flannel day10:基于canal的网络策略 day11:监控资源指标A…
不得不说千万不要随意更改版本,我用的1.13的版本,然后学到这一步时,还因yaml文件不同,卡住了很久,然后各种google才找到解决办法  https://www.linuxea.com/2112.html 以前是用heapster来收集资源指标才能看,现在heapster要废弃了. 从k8s v1.8开始后,引入了新的功能,即把资源指标引入api. 资源指标:metrics-server 自定义指标: prometheus,k8s-prometheus-adapter 因此,新一代架构: 1…
文章拷自:http://blog.itpub.net/28916011/viewspace-2215383/ 加上自己遇到的问题简单记录 安装文档:https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/flannel 我们知道flannel只能提供网络通讯,而不能提供网络策略.因此,我们本节学习canal,让它来提供网络策略,来配合flannel使用. 前提条件 1.kubelet必须配置为CNI网…
跨节点通讯,需要通过NAT,即需要做源地址转换. k8s网络通信: 1) 容器间通信:同一个pod内的多个容器间的通信,通过lo即可实现: 2) pod之间的通信,pod ip <---> pod ip,pod和pod之间要不经过任何转换即可通信: 3) pod和service通信:pod ip <----> cluster ip(即service ip)<---->pod ip,他们通过iptables或ipvs实现通信,另外大家要注意ipvs取代不了iptables…
http://blog.itpub.net/28916011/viewspace-2215214/ 因版本不一样,略有改动 Dashboard官方地址: https://github.com/kubernetes/dashboard dashbord是作为一个pod来运行,需要serviceaccount账号来登录. 先给dashboad创建一个专用的认证信息. 先建立私钥 [root@master ~]# cd /etc/kubernetes/pki/ [root@master pki]# (…
http://blog.itpub.net/28916011/viewspace-2215100/ 对作者文章有点改动 注意kubeadm创建的k8s集群里面的认证key是有有效期的,这是一个大坑!!!!!! 目前RBAC是k8s授权方式最常用的一种方式. 在k8s上,一个客户端向apiserver发起请求,需要如下信息: 1)username,uid, 2) group, 3) extra(额外信息) 4) API 5) request path,例如:http://127.0.0.1:808…
http://blog.itpub.net/28916011/viewspace-2215046/ 在应用程序中,可以分为有状态应用和无状态应用. 无状态的应用更关注于群体,任何一个成员都可以被取代. 对有状态的应用是关注个体. 像我们前面用deployment控制器管理的nginx.myapp等都属于无状态应用. 像mysql.redis,zookeeper等都属于有状态应用,他们有的还有主从之分.先后顺序之分. statefulset控制器能实现有状态应用的管理,但实现起来也是非常麻烦的.需…
因为pod是有生命周期的,pod一重启,里面的数据就没了.所以我们需要数据持久化存储. 在k8s中,存储卷不属于容器,而是属于pod.也就是说同一个pod中的容器可以共享一个存储卷. 存储卷可以是宿主机上的目录,也可以是挂载在宿主机上的外部设备. 存储卷类型  emptyDIR存储卷 :pod一重启,存储卷也删除,这叫emptyDir存储卷.一般用于当做临时空间或缓存关系   hostPath存储卷 :宿主机上目录作为存储卷,这种也不是真正意义实现了数据持久性. SAN(iscsi)或NAS(n…
https://www.cnblogs.com/zhangeamon/p/7007076.html http://blog.itpub.net/28916011/viewspace-2214747/ 以下内容总结自上面两个连接.实验环节自己已全部实现,偷懒就全复制过来了 一.Ingress 介绍 Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service.NodePort Service.Ingress: LoadBlancer Service 是 kubernet…
来源 : http://blog.itpub.net/28916011/viewspace-2214745/ service是要通过coreDNS来管理pod的. kube-proxy始终监视着apiserver,获取与service资源的变动状态.一旦发现有service资源发生变动,kube-proxy都要把它转变为当前节点之上的,能够实现service资源调度,包括将客户端资源调度到pod的规则(iptables或者ipvs). service工作模式有三种:userspace(k8s 1…
# yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间 labels: #自定义标签 - name: string #自定义标签名字 annotations: #自定义注释列表 - name: string spec: #必选,Pod中容器的详细定义 containers…
centos-master:172.16.100.60 centos-minion:172.16.100.62 k8s,etcd,docker等都是采用yum装的,部署参考的k8s权威指南和一个视频,视频在百度网盘里,忘记具体步骤了,安装不难,关键在于第一次接触,改的文件记不住下次在写个安装的步骤吧 首先安装heapster  我安装的是1.2.0的版本 个人感觉只要几个yaml文件就行了,里面其他东西干嘛用的,没用到嘛 [root@centos-master influxdb]# pwd /u…
本实验来自k8s权威指南 解决访问demo出错,关键是靠https://www.cnblogs.com/neutronman/p/8047547.html此链接下面的某个大神的评论 主要yaml文件 1:myweb-rc.raml  注意书上结尾有环境变量,加上环境变量的时候无法访问demo,访问demo出错,无法和数据库连接.如果还不行那就删掉mysqlpod重新改一下rc的值,另外我把mysql的版本换成5.5了不知道和这个是否也有关系 [root@centos-master k8s]# c…
kubectl get pods  查看所有pods kubectl  get  services  查看services kubectl replace --filename=myweb-rc.yaml  根据该yaml更新pod可以修改副本数为0,删除pod docker ps -a   查看所有docker容器 docker  attach 容器名     进入容器内 kubectl  describe pod pod名字   查看该pod的详细信息 http://blog.itpub.n…
目录 docker 网络 Docker 的四种网络模 一.网络基础 1.网络名称空间介绍 2.创建一个命名空间 1)Veth设备对 2)Veth设备操作 1> 创建Veth设备对 2> 绑定命名空间 3> 给tes01内的Veth分配一个IP 4> 为对端Veth设备分配IP 5> 测试互ping bash 6> 补充概念 3.网桥介绍 4.网桥 5.iptables 6.总结 二.四种网络模式(模型) 0.简介 1.HOST模式(主机) 1)案例 2)HOST模式总结…
更多精彩内容请关注微信公众号:新猿技术生态圈 更多精彩内容请关注微信公众号:新猿技术生态圈 更多精彩内容请关注微信公众号:新猿技术生态圈 Endpoints 命名空间级资源,如果endpoints和service是同一个名字,那么就自动关联. 功能一:与service做负载均衡 [root@k8s ~]# kubectl describe svc Name: kubernetes Namespace: default Labels: component=apiserver provider=ku…
1. 概述 进入 K8s 的世界,会发现有很多的 Controller,它们都是为了完成某类资源(如 pod 是通过 DeploymentController, ReplicaSetController 进行管理)的调谐,目标是保持用户期望的状态. K8s 中有几十种类型的资源,如何能让 K8s 内部以及外部用户方便.高效的获取某类资源的变化,就是本文 Informer 要实现的.本文将从 Reflector(反射器).DeletaFIFO(增量队列).Indexer(索引器).Controll…