
Kubernetes
Shawn-Li
科技改变生活
展开
-
Helm中Tiller镜像下载失败的解决办法
因为是谷歌镜像库,所以下载不了解决办法:1.使用docker search 搜索有关镜像库[root@master ~]# docker search tillerNAME DESCRIPTION STARS OFFICIAL AUTOMATEDjessestuart/tiller原创 2020-07-27 12:37:33 · 1920 阅读 · 0 评论 -
kubectl exec 登录容器报错
[root@master ingress]# kubectl exec -it nginx-deploy-75f678f9d9-p7jgr /bin/bashOCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"shell\": executable file not found in $PATH": unknowncommand terminate原创 2020-07-26 17:34:13 · 3670 阅读 · 0 评论 -
k8s集群coredns始终处于ContainerCreating状态解决思路【network: stat /var/lib/calico/nodename: no such file or dir】
情况说明原始集群中使用flannel作为网络插件,后来想在集群中使用calico网络插件建立网络规则,但在安装的过程中因为一些失误操作(没有读懂官方的安装说明),导致集群宕机,coredns始终处于ContainerCreating状态。报错信息:首先需要说明一下,coredns的状态和flannel有着必然的联系,所以首先使用describe查看pods的错误信息。[root@master ~]# kubectl get pods -n kube-systemNAME原创 2020-07-14 22:36:24 · 22806 阅读 · 0 评论 -
K8s集群中flannel组件处于CrashLoopBackOff状态的解决思路
参考:K8s问题【flannel一直重启问题,CrashLoopBackOff】https://www.cnblogs.com/360linux/p/12933594.html作为一名合格的管理者,首先查看日志:[root@master ~]# kubectl get pods -n kube-systemNAME READY STATUS RESTARTS AGEcoredns-5bfd685c78-79原创 2020-05-28 19:57:37 · 13957 阅读 · 1 评论 -
使用kubeadm方式部署集群时,Node节点一直处于NotReady状态、coredns处于pending状态的解决思路与故障排查
在官方文档中https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/存在以下说明:也就是说,当集群中coredns处于pending状态时,也就说明了网络插件没有安装好。只有网络插件安装后,coredns组件才会启用。这也就解释了为什么节点会一直处于NotReady状态。问题的主要原因就是网络插件没有安装成功。此时你应该将排查重点锁定在网络插件上。比如,我在原创 2020-05-28 18:50:55 · 6750 阅读 · 0 评论 -
重置kubernetes集群
在搭建集群时,可能会遇到节点配置失败的情况,此时可以将该节点移出集群,在将节点移出集群时,应该将该节点上正在运行的Pod进行驱离。例如:驱离名为"k8s-node-1"的节点上的pod(master上操作)[root@k8s-master ~]# kubectl drain k8s-node-1 --delete-local-data --force --ignore-daemonsets删除节点(master上)[root@k8s-master ~]# kubectl delete node原创 2020-05-28 16:56:14 · 3259 阅读 · 0 评论 -
Kubernetes强制删除Pod、namespace资源
Kubernetes中强制删除Pod、namespace解决方法可使用kubectl中的强制删除命令# 删除PODkubectl delete pod PODNAME --force --grace-period=0删除NAMESPACEkubectl delete namespace NAMESPACENAME --force --grace-period=0若以上方法无法删除,...原创 2019-12-12 18:08:21 · 2613 阅读 · 0 评论 -
kubernetes中显示所有命名空间中的deployment、Pod以及所有的Pod对应的命名空间
文章目录查看所有的Pod查看所有的deployment查看所有namespace对应的Pod过滤掉系统中的Pod哪个Deployment对应哪些Pod?????博主的操作显得有点鸡肋了。如果有更好的欢迎留言。附上中文、英文版使用说明在默认的命名空间namespace中查看所有的Pod显示没有找到,加入-A参数表示查看所有命名空间(namesqpace)上的Pod。查看所有的Pod[root@...原创 2019-12-11 15:56:59 · 34539 阅读 · 2 评论 -
Pod控制器Deployment使用详解(更新策略、回滚策略、暂停策略)以及金丝雀发布详解
文章目录Deployment更新策略关于金丝雀发布扩展知识发布规则发布流程回滚策略暂停策略需要注意: 在学习kubernetes时需要高清RC和deployment两着各自的不同点。官方建议使用Deployment管理ReplicaSets,而不是直接使用ReplicaSet,这就意味着可能永远不需要直接操作ReplicaSet对象,因此Deployment将会是使用最频繁的资源对象。D...原创 2019-12-11 14:31:02 · 5088 阅读 · 0 评论 -
k8s部署jenkins和Pod始终为pending状态“persistentvolume-controller no persistent volumes available.....”解决办法
眼因多流泪而愈益清明,心因饱经风霜而愈益温厚首先说一下为什么在学习K8s的时候要学习Jenkins这个知识点,首先看图:传统的CI/CD:CI/CD的最终目的是减少人工干预,增加可管理性非容器化CI/CD:容器化的CI/CD容器化可以保持环境的高度一致性,镜像可以部署到任何环境中jenkins与k8s的CI/CDjenkins会调用k8s的api接口(所以会有jenkins...原创 2019-12-02 11:55:06 · 6569 阅读 · 0 评论 -
k8s集群中Node节点忘记了token密码的解决办法
k8s集群中,有时候发现有些节点状态为 NotReady,如何修复为Ready状态呢?或者在部署时忘记了token密码怎么办?方法一在每个节点上 执行 kubeadm reset命令即可,重新获取token(需要重新安装flanner网络组件)方法二[root@k8s-master~]# kubectl get nodesNAME STATUS ROLES A...原创 2019-11-13 15:37:12 · 2604 阅读 · 1 评论 -
yaml中service无法绑定Pod的问题(一般情况下通过RC或者Deploy创建的Pod才可以使用Service进行绑定,如果以Kind=Pod形式创建,则无法绑定Service)
最近在学习k8s时,突发奇想的考虑到一个问题,下面是我定义的YAML,**一般情况下通过RC或者Deploy创建的Pod才可以使用Service进行绑定,如果以Kind=Pod形式创建,则无法绑定Service。**简单的来说:当时是淡出的创建一个tomcat pod,想绑定一下service访问,结果页面一直404.研究了半天,才发现是自己想当然了。原因是Service的工作机制导致的,(...原创 2019-11-07 11:49:53 · 620 阅读 · 0 评论 -
关于在使用kubectl 部署jenkins时在界面安装插件报错“java.io.IOException: Jackson 2 API Plugin v2.10.0 failed to load. ”
java.io.IOException: Pipeline: Declarative v1.3.2 failed to load. - You must update Jenkins from v2.60.3 to v2.73.3 or later to run this plugin. - Pipeline: Shared Groovy Libraries v2.12 failed to l...原创 2019-11-05 20:44:40 · 6849 阅读 · 1 评论 -
删除Pod的正确方法
1、先删除pod2、再删除对应的deployment否则只是删除pod是不管用的,还会看到pod,因为deployment.yaml文件中定义了副本数量实例如下:删除pod[root@test2 ~]# kubectl get pod -n jenkinsNAME READY STATUS RESTARTS A...原创 2019-10-31 14:31:07 · 15614 阅读 · 4 评论 -
k8s集群的Java Web应用的容器化发布(tomcat+MySQL)
考虑到Kubernetes提供的PHP+Redis留言板的Hello World例子对于绝大多数刚接触Kubernetes的人来说比较复杂,难以顺利上手和实践,所以在此将其替换成一个简单得多的Java Web应用例子,可以让新手快速上手和实践。此Java Web应用的结构比较简单,是一个运行在Tomcat里的Web App,如图1.1所示,JSP页面通过JDBC直接访问MySQL数据库并展示数据...原创 2019-10-30 22:16:18 · 1195 阅读 · 0 评论 -
k8s中Pod重启方法
参考:https://segmentfault.com/a/1190000020675199在使用 docker 的过程中,我们可以使用docker restart {container_id}来重启容器,但是在 kubernetes 中并没有重启命令(没有 kubectl restart {podname}),有时候我们的 Pod 出现 Bug意外终止,导致我们需要重启 Pod ,却没有一个很...原创 2019-10-29 21:13:02 · 89109 阅读 · 2 评论 -
kubernetes进入容器内操作
文章目录Pod中只有一个容器pod里有多个容器Pod中只有一个容器kubectl get pods #查看所有正在运行的podNAME READY STATUS RESTARTS AGEnginx-56b8c64cb4-t97vb 1/1 Running 3 ...原创 2019-10-29 14:46:30 · 11976 阅读 · 0 评论 -
pod报错 --CrashLoopBackOff 修复心得
文章目录概念创建ConfigMap使用ConfigMap概念ConfigMap允许您将配置工件与图像内容分离,以使容器化的应用程序具有可移植性(简单来说,就是实现配置文件和应用程序的分离,以key:value的形式)典型用法(1)生成为容器内的环境变量。(2)设置容器启动命令的启动参数(需设置为环境变量)。(3)以Volume的形式挂载为容器内部的文件或目录。创建ConfigMap...原创 2019-10-25 17:14:41 · 1312 阅读 · 0 评论