![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
k8s
凌云靖宇
这个作者很懒,什么都没留下…
展开
-
k8s的namespace资源一直terminating问题解决
问题:删除ns时一直显示terminating的状态解决:方法一:通过强制删除,并且设置优雅删除时间为0(默认为30s) kubectl delete ns cattle-system --force --grace-period=0实践后发现并不好使方法二:通过k8s提供的api接口,把.metadata.finalizers字段及其内容删除,从而k8s会直接将该ns删除 $ kubectl get ns cattle-system -o json > cattle-s原创 2022-04-19 18:48:03 · 2642 阅读 · 0 评论 -
2021-09-26
问题:创建k8s集群的dashboard组件,默认的dashboard severaccount权限太低,token输入后没有别的ns权限。解决:#kubectl delete rolebinding kubernetes-dashboard-minimal -n kube-system#kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube原创 2021-09-26 11:33:26 · 65 阅读 · 0 评论 -
k8s 给dashboard用户角色超级权限
问题:创建k8s集群的dashboard组件,默认的dashboard severaccount权限太低,token输入后没有别的ns权限。解决:#kubectl delete rolebinding kubernetes-dashboard-minimal -n kube-system#kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube原创 2021-09-26 11:26:15 · 1710 阅读 · 0 评论 -
k8s pods中shell 脚本里无法调出jobs的后台进程
问题:k8s pods中用户执行的job经常要跑多线程,所以会使用 &方式,这时候job直接执行完当前shell退出了,造成用户实际执行的任务没有执行。分析:此问题刚开始采用jobs方式判断,发现服务器在脚本里执行jobs是可以调出后台进程的,而在pods中却不行。例子如下:服务器:[root@node241 ~]# cat a.shi=0while [ $i -le 10 ]dosleep 1echo $ii=$(($i+1))done[root@node241 ~]# ca原创 2020-05-22 20:17:36 · 694 阅读 · 1 评论 -
protheus hang住 的问题,卡在TSDB过程中无法启动
问题:k8s发生pods迁移,prometheus重启,重启过程中CPU和内存同时疯狂增加,最后报pods网络问题。错误分析:prometheus TSDB写错误,所以重启会疯狂攫取CPU内存资源,最后也无法读取TSDB数据,最终把节点系统资源耗尽,影响别的服务。以至于在此错误理解下,在prometheus部署服务中加了limits选项,限制CPU为3.memory为20Gi.本意是为了保护...原创 2020-04-30 19:46:51 · 513 阅读 · 0 评论 -
k8s nginx ingress 显示证书错误
问题:ingress-controller会报错,error obtaining PEM from secret kube-system/kubernetes-dashboard-certs: no keypair or CA cert could be found in kube-system/kubernetes-dashboard-certs分析:nginx-ingress代理k8s的da...原创 2020-01-13 15:54:17 · 1876 阅读 · 0 评论 -
helmError: forwarding ports错误
问题:[root@node82 helm2.16.1]# helm versionClient: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}Error: forwarding ports: error up...原创 2019-12-06 12:42:54 · 1148 阅读 · 0 评论 -
k8s部署spinnaker完不能创建servergroup
问题:采用helm安装spinnaker,部署成功,最终发现并不能创建servergroup。分析:查看clouddriver的启动日志,报找不到/root/.kube/config文件解决:把集群的admin用户的.kube/config打到clouddriver镜像里,亦或者创建新的用户给spinnaker使用。注意:问题解决后,创建pipeline的时候找不到dockerhub下的镜像...原创 2019-10-22 16:04:14 · 310 阅读 · 0 评论 -
prometheus context deadline exceeded
问题:部署了node-gpu-exporter,prometheus却无法手机信息,报context deadline exceeded。解决:网上好多介绍说改prometheus的配置scrape_timeout:600s,加大参数即可。实际上没不好使。最后加大exporter的资源限制解决。 resources: requests: memo...原创 2019-08-21 16:15:58 · 16784 阅读 · 10 评论 -
k8s nginx-ingrss-controller无法解析https请求
问题:HTTPS转发报错failed to convert certificate chain from PEM to DER: PEM_read_bio_X509_AUX() failed分析:谷歌搜索https://github.com/kubernetes/ingress-nginx/issues/4106分析是Nginx Ingress Controller版本问题, It can b...原创 2019-08-07 16:33:46 · 857 阅读 · 0 评论 -
k8s如何为节点资源预留
问题:节点用户训练cpu过高或者内存消耗过高会对节点系统进程以及kube进程产生影响。解决:Kubelet Node AllocatableKubelet Node Allocatable用来为Kube组件和System进程预留资源,从而保证当节点出现满负荷时也能保证Kube和System进程有足够的资源。目前支持cpu, memory, ephemeral-storage三种资源...原创 2019-07-04 21:39:01 · 2685 阅读 · 0 评论 -
k8s podPreset更改所有容器时间为当地时间。
问题:docker 容器默认会采用utc时区,所以K8s所起容器会比当前时间慢八个小时。解决:通过Pod Preset预设置时区环境变量或挂载宿主机时间1.配置设置时区的Pod Preset对应的Pod Preset对象创建文件如下:apiVersion: settings.k8s.io/v1alpha1kind: PodPresetmetadata: name: allow-tz...原创 2019-05-10 20:40:04 · 3845 阅读 · 0 评论 -
k8s grafana数据持久化
问题:k8s搭建的grafana容器只要一重启,配置的dashboard,添加的用户等就会重置,从而得出,grafana没有数据持久化。解决:1.先在集群建立持久花存储pvc然后挂在到容器/var目录volumeMounts:- mountPath: /varname: grafana-storagevolumes:- name: grafana-storagepersisten...原创 2019-05-10 15:59:55 · 5729 阅读 · 5 评论 -
ssh无法登陆k8s集群容器
1、ssh登录容器登录不上,怀疑是flannel问题经查发现flannel没有,sytemctl status flanneld发现是etcd证书问题。因为重新生成的etcd证书没有粘贴到180上,所以会出错。把新生成的证书拷贝到/etc/etcd/ssl systemctl restart flaaneld,下即可2、问题依然没哟解决,发现是flannel和docker0网段不一致问题。...原创 2018-10-29 20:27:05 · 2077 阅读 · 1 评论 -
Kubernetes v1.10.x HA 全手动安装教程
转自 https://www.kubernetes.org.cn/3814.html本篇延续过往手动安装方式来部署 Kubernetes v1.10.x 版本的 High Availability 集群,主要目的是学习 Kubernetes 安装的一些元件关析与流程。若不想这么累的话,可以参考 Picking the Right Solution 来选择自己最喜欢的方式。本次安装的软件版本:...转载 2018-10-26 22:36:09 · 776 阅读 · 0 评论 -
k8s nginx-ingress too large
问题:k8s nginx-ingress-controller Failed to upload report - 413: 413 Request Entity Too Large 413 Request Entity Too Large nginx/1.13.9 解决:kind: Ingressmetadata:annotations:nginx.ing...原创 2018-11-28 10:27:48 · 2510 阅读 · 0 评论 -
Kubrnetes work NotReady ResourceExhausted work节点资源耗尽
rpc error: code = ResourceExhausted desc = grpc: received message larger than max (4196772 vs. 4194304)现象:kubernetes集群不可用,所有work节点离线问题定位:执行kubectl get node 发现work节点都是NotReady状态登入到work节点查看日志发现Nov...转载 2018-12-03 15:28:00 · 773 阅读 · 0 评论 -
etcd添加新节点
第一步:etcd客户端执行[root@k8s-master-1 ~]# etcdctl member add node180 https://109.105.1.180:2380Added member named node180 with ID ead16f36d2aa4f03 to clusterETCD_NAME=“node180”ETCD_INITIAL_CLUSTER=“k8s...原创 2019-04-17 20:33:20 · 2474 阅读 · 0 评论 -
强制删除k8s不正常状态的容器
1.强制删除特定pods#kubectl delete pods cloudagile-mariadb-0 -n intelligence-data-lab –grace-period=0 --force2.删除集群失败的pods#kubectl get pods --field-selector=status.phase=Failed --all-namespaces |awk ‘{ sy...原创 2019-05-05 19:10:37 · 7519 阅读 · 0 评论 -
梗概Kubernetes中的Pause容器为内部镜像源
问题:公司内网由于防火墙的原因,上不了外网,而这个时候k8s集群pods以来的pasue容器是依赖的外部镜像源,这会造成k8s节点重启后无法起pods.解决:我们知道在kubelet的配置中有这样一个参数:kubernetes中默认的配置参数是:KUBELET_POD_INFRA_CONTAINER=–pod-infra-container-image=k8s.gcr.io/pause-a...原创 2019-05-05 20:23:13 · 1659 阅读 · 0 评论 -
confd+etcd
转自http://www.361way.com/confd-etcd/5470.htmlConfd是一个轻量级的配置管理工具。通过查询Etcd,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。其后端支持的数据类型有:etcd、consul、vault、environment variables、redis、zookeeper、dynamodb、stackeng...转载 2018-10-25 17:23:44 · 556 阅读 · 2 评论