kubernetes
文章平均质量分 60
运维Enter
linux运维工程师,热爱开源技术。so fun so linux
展开
-
pod卡住terminating排查记录
背景线上某环境,遇到pod删除时一直卡在terminating的问题,之前通过kubectl delete pod --force --grace-period=0强制删除过2次,但问题反复多次出现,需要调查下详细原因。kubernetes版本为v1.16.6,docker版本18.09.9,containerd版本v1.2.6.排查调查terminating的pod所在节点的message日志,发现kubelet对这个状态的pod提示“prober.go:103] No ref for cont原创 2020-10-13 23:31:41 · 4462 阅读 · 1 评论 -
内核内存碎片导致容器创建失败(runc_page allocation failure)排查
背景线上某环境,创建pod时,pod在调度运行的节点一直无法running,describe该pod信息,有如下提示系统为centos7.7,内核版本3.10.0-1062排查查看错误节点信息的message日志,发现docker的报错kuberuntime_manager.go:710] createPodSandbox for pod "media-ai-engine-test-6d75b6f4c6-7jtps_test-media(e1849041-4521-4864-bbbe-d7原创 2020-09-08 22:30:50 · 2466 阅读 · 0 评论 -
kubeadm创建k8s集群一直失败排查
背景某环境,使用kubeadm创建3个master节点的高可用集群,但是一直失败。10.197.145.25: exec "kubeadm join 10.197.145.24:6443 \\\n--node-name=10.197.145.25 --token=vbgvbq.8bmv408a1uj0io2m \\\n--control-plane --certificate-key=c6840dd68d6dc52f4e74ed244d551337f2b3c9ac7dc766cd574090a原创 2020-07-31 22:56:10 · 1357 阅读 · 0 评论 -
win10利用WSL2安装windows版kubernetes集群
前言Kubernetes成为事实上的云原生平台,用于在分布式环境中运行容器化服务和应用程序。尽管可以在在云环境(公有云,私有云或混合云)或裸机环境中部署Kubernetes,但有时仍然需要在本地部署和运行Kubernetes进行开发测试。Kubernetes最初被设计为在Linux环境中部署和使用。但是,大量用户是使用Windows OS作为其日常驱动程序,本文探讨利用windows10的WLS2功能,使用Kind或Minikube在本地运行Kubernetes集群。在安装windows版ku.原创 2020-06-19 18:42:46 · 4621 阅读 · 2 评论 -
win10利用WSL2安装docker的2种方式
前言windows10目前推出了WSL2,相对于WSL采用API转换的方式, WSL2 则完全不同,win10 开始内置了一个轻量级虚拟机,经过不断的优化,这个虚拟机实现了与 windows 的高度集成,实现了虚拟机的高性能运行,WSL2 便是运行在虚拟机上的一个完整的 linux 内核。因此WSL2给了在windows更接近原生linux的体验,同时wsl2 的开启速度有了非常明显的提升,几乎不需要再等待。本文探讨在win10专业版上利用WSL2安装docker的2种方式。操作实践1.开.原创 2020-06-17 22:08:07 · 9466 阅读 · 3 评论 -
nginx ingress controller配置默认SSL证书
故障现象线上某kubernetes集群环境,使用nginx-ingress-controller暴露了一个service,为一个API服务,其中在ingress对象中使用了TLS证书,使用浏览器输入ingress对应的域名访问这个API service,请求正常,但是某程序使用SDK调用此service,始终无法拿到结果。ingress的yaml文件类似如下排查 sdk调用ingress时nginx-ingress-controller的日志信息,发现有如下报错 2020/04/原创 2020-06-06 22:48:47 · 3255 阅读 · 0 评论 -
kubernetes pod内抓包,telnet检查网络连接的几种方式
背景在日常kubernetes的运维中,经常遇到pod的网络问题,如pod间网络不通,或者端口不通,更复杂的,需要在容器里面抓包分析才能定位。而kubertnets的场景,pod使用的镜像一般都是尽量精简,很多都是基于alpine基础镜像制作的,因而pod内没有ping,telnet,nc,curl命令,更别说tcpdump这种复杂的工具了。除了在容器或者镜像内直接安装这些工具这种最原始的法子,我们探讨下其他法子。实现kubectl debug插件方式项目地址 kubect debug),h原创 2020-06-05 22:10:28 · 4223 阅读 · 0 评论 -
kubernetes flannel pod CrashLoopBackoff解决
# 背景某环境客户部署了一个kubernetes集群,发现flannel的pod一直重启,始终处于CrashLoopBackOff状态。![image-20200521194511898](https://360linux.oss-cn-hangzhou.aliyuncs.com/img/image-20200521194511898.png)# 排查1. 对于始终CrashLoopBackOff的pod,一般是应用本身的问题,需要查看具体pod的日志,通过```kubectl logs -原创 2020-05-21 20:58:13 · 3043 阅读 · 0 评论 -
强制删除kubernetes的ns
问题背景 部署istio测试环境,想重新部署istio-operator,在清理残留资源时,在使用kubectl delete ns istio-operator --grace-period=0 --force删除istio-operator这个namespace时,发现这个ns一直卡在Terminating状态。解决kubectl get ns is...原创 2020-04-17 12:21:31 · 1638 阅读 · 0 评论 -
高可用kubernetes集群查看kube-scheduler和kube-controller-manager哪个是leader节点
字不重要,看图原创 2021-01-19 20:40:30 · 2387 阅读 · 0 评论 -
kubernetes v1.8.4 RBAC DENY 解决办法
二进制方式部署好k8s集群v1.8.4后,开启rbac认证后,所有组件均无法与apiserver正常通信,apiserver日志报错,大量的组件都是RBAC DENY状态。 按照k8s官方文档(https://kubernetes.io/docs/admin/authorization/rbac/#service-account-permissions),存在如下的clus原创 2017-12-25 12:09:23 · 1690 阅读 · 0 评论 -
kubernetes开启rbac后controller-manager无法更新node信息排查
kubernetes v1.8.4版本,apiserver启用rbac认证后,controller-manager也绑定了system:kube-controller-manager的clusterrole,但是查看kube-api和kube-controller-manager的日志信息,均有错误 apiserver报错如下 I1225 17:00:05.36265原创 2017-12-25 17:11:35 · 2730 阅读 · 2 评论 -
kubernetes v1.8版本默认system:node的clusterrole不绑定任何用户或者组
1.8版本之前.开启rbac后,apiserver默认绑定system:nodes组到system:node的clusterrole,v1.8之后,此绑定默认不存在,需要手工绑定,否则kubelet启动后会报认证错误,无法成为Ready状态. 如上图,system:node角色默认绑定为空 apiserver报RBAC DENY错误原创 2017-12-25 18:05:20 · 1351 阅读 · 0 评论 -
RBAC导致的helm安装tiller错误解决
在用helm init安装tiller server时,一直部署不成功,检查deployment发现是rbac导致的权限错误. 1 helm init时,默认的repo url被墙,导致出错. 解决办法:增加参数配置未被墙的repo url,可以是本地的. 2 修改repo url后,h原创 2018-01-01 16:44:55 · 2472 阅读 · 0 评论 -
部署k8s statefulset
利用之前创建的storageclass,部署了个statefulset. 如下为yaml文件[root@master ~]# cat nginx-statefulset.yaml apiVersion: v1kind: Servicemetadata: name: nginx labels: app: nginxspec: ports:原创 2018-01-04 15:28:14 · 788 阅读 · 0 评论 -
helm安装chart----percona-xtradb-cluster实践记录
chart来自kubernetes官方github地址 https://github.com/kubernetes/charts/tree/master/stable 1、修改values.yaml,镜像地址改为本地的镜像仓库,否则从公网拉取时间会很长;修改启用pv并用storageclass实现动态provison。提前建立的storageclass原创 2018-04-08 15:14:34 · 1692 阅读 · 0 评论 -
ingress-nginx-controller 504 gateway time-out 问题
问题背景: 某应用的后台,通过后面界面上传一个excel文件时,上传到半截是,后面界面显示 504 gateway time-out错误。问题调查: 经了解,后台应用界面为使用ingress方式访问,504错误界面显示的nginx版本信息和ingress-nginx-controller(版本0.23.0)使用的nginx版本...原创 2021-01-19 20:47:51 · 13787 阅读 · 0 评论 -
kubernetes配置自定义域名记录
问题背景 客户业务pod运行在内网,无法访问外网,对于一些应用,需要访问企业微信,淘宝等外部api接口时,采用代理的方式,即配置pod要访问的外部域名解析为内部代理服务器的ip,如配置api.weixin.qq.com,pod请求访问此域名时,dns解析为内部代理服务器ip-10.xxx.xx.xx,即需要自定义域名解析,经调研,有如下方式:1.客户存在内网dns,且...原创 2019-09-28 14:47:02 · 2442 阅读 · 0 评论 -
kubernetes二进制部署时ca认证排错记录
在用二进制部署kubernetes v1.8.3时,遭遇两个ca认证的问题,特记录如下. 1 IP SANs问题 x509: cannot validate certificate for because it doesn't contain any IP SANs网上搜到的解决办法如下: 修改 /etc/pki/tls/ope原创 2017-12-11 20:35:20 · 10054 阅读 · 1 评论