k8s常見問題大收集
第1章 k8s外部不能訪問pod
1、問題描述:
在搭建好的k8s叢集內建立的容器,只能在其所在的節點上curl可訪問,但是在其他任何主機上無法訪問容器佔用的埠
1.1、解決方案
vim /etc/sysctl.conf
找到這一行,放開註釋
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
重啟主機(必須要重啟才能生效)
第2章 建立私有倉庫問題
2.1、問題描述,提示需要https協議問題解決
[root@docker docker]# docker push 10.0.0.10:5000/test/nginx:v1
The push refers to repository [10.0.0.10:5000/test/nginx]
Get https://10.0.0.10:5000/v2/: http: server gave HTTP response to HTTPS client
2.1.1、解決方法1:(docker 1.2以上版本解決方法)
在/etc/docker/daemon.json新增以下資訊
{ "insecure-registries":["10.0.0.10:5000"] 必須要加在第一行
重啟docker,重啟registry
systemctl restart docker.service
2.1.2、解決方法2:(docker1.2以下版本解決方法)
報錯資訊2:
[root@lnmp ~]# docker pull 10.0.0.10:5000/test/nginx:v1
Error response from daemon: invalid registry endpoint https://10.0.0.10:5000/v0/: unable to ping registry endpoint https://10.0.0.10:5000/v0/
v2 ping attempt failed with error: Get https://10.0.0.10:5000/v2/: tls: oversized record received with length 20527
v1 ping attempt failed with error: Get https://10.0.0.10:5000/v1/_ping: tls: oversized record received with length 20527. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 10.0.0.10:5000` to the daemon's arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/10.0.0.10:5000/ca.crt
2.2、解決辦法:
在/etc/sysconfig/docker中新增如下資訊即可
other_args="--insecure-registry 10.0.0.10:5000" 私有倉庫地址
other_args="--insecure-registry registry:5000" 公有倉庫地址
重啟docker,重啟registry
/etc/init.d/docker restart
第3章 下載映象出現問題
3.1、問題1:提示/etc/rhsm/ca/redhat-uep.pem no file or dirctory
3.1.1、解決方法:
3.1.1.1、yum安裝需要的依賴包
yum -y install *rhsm*
3.1.1.2、下載python-rhsm-certificates軟體並生成金鑰檔案
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
生成金鑰
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
3.1.1.3、重新pull映象
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
第4章 不能刪除容器
4.1、docker報錯rpc error: code = 14 desc = grpc: the connection is unavailable
4.1.1、嘗試關閉容器,進入容器操作介面也報相同錯誤:
[[email protected]1 ~]# docker exec -it 7119f8f5feef /bin/bash
rpc error: code = 14 desc = grpc: the connection is unavailable
4.1.1.2、停止容器依舊提示錯誤
[[email protected]1 ~]# docker stop 7119f8f5feef
Error response from daemon: Cannot stop container 7119f8f5feef: Cannot kill container 7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327: rpc error: code = 14 desc = grpc: the connection is unavailable
4.1.1.3、刪除容器依舊提示錯誤(-f強制刪除)
[[email protected]1 ~]# docker rm -f 7119f8f5feef
Error response from daemon: Could not kill running container 7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327, cannot remove - Cannot kill container 7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327: rpc error: code = 14 desc = grpc: the connection is unavailable
4.2、解決辦法:
4.2.1、使用docker-containerd命令以debug模式除錯容器
注意:那個node上的容器不能刪除就在那臺node上面執行以下命令
[[email protected]1 ~]# docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc --debug
WARN[0000] containerd: low RLIMIT_NOFILE changing to max current=1024 max=4096
DEBU[0000] containerd: read past events count=1
low RLIMIT_NOFILE changing to max current=1024 max=4096DEBU[0000] containerd: grpc api on /var/run/docker/libcontainerd/docker-containerd.sock
DEBU[0000] containerd: container restored id=354af53914e3f76e653a26d9e9da8d4fbef4ef18cc2176371b89871a9126a646
DEBU[0000] containerd: container restored id=3f0bf43f7ca97c439b64370cee09205b35e58ed35e49f957412f58affbe4ed4b
DEBU[0000] containerd: container restored id=4b848d33a32a332635929b95eb7291abeb32f177a3c65248568b959dbfbc2712
DEBU[0000] containerd: container restored id=4ed8d1f971a0ea5035b507511d802a1445af9e771cde670814104102a7cc2d6f
ERRO[0000] containerd: notify OOM events error=open /proc/13541/cgroup: no such file or directory
DEBU[0000] containerd: container restored id=7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327
ERRO[0000] containerd: notify OOM events error=open /proc/12860/cgroup: no such file or directory
DEBU[0000] containerd: container restored id=7bdba0a1ee81997bdbb5958e31123538ac8a6730c6cc7120fe7359439b52b410
DEBU[0000] containerd: container restored id=8ba79a79836b4350335375f89fc1473a6a86593375fbac6344fb17e4dddff43f
DEBU[0000] containerd: container restored id=9692f3570460186de681476bd068d008891b24b3906f190443f24e97343c3e57
DEBU[0000] containerd: supervisor running cpus=1 memory=977 runtime=docker-runc runtimeArgs=[] stateDir=/var/run/docker/libcontainerd/containerd
DEBU[0000] containerd: process exited id=7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327 pid=init status=143 systemPid=13541
ERRO[0000] containerd: deleting container error=exit status 1: "container 7119f8f5feef4c649d9ec04734e6224e2d837fa030de271f269f0b71eea29327 does not exist\none or more of the container deletions failed\n"
DEBU[0000] containerd: process exited id=7bdba0a1ee81997bdbb5958e31123538ac8a6730c6cc7120fe7359439b52b410 pid=init status=137 systemPid=12860
ERRO[0000] containerd: deleting container error=exit status 1: "container 7bdba0a1ee81997bdbb5958e31123538ac8a6730c6cc7120fe7359439b52b410 does not exist\none or more of the container deletions failed\n"
^CINFO[0056] stopping containerd after receiving interrupt
4.2.2、除錯後發現容器狀態變為了未開啟,嘗試刪除容器,成功
docker exec -it 3e22bd0b6a40 /bin/bash
Error response from daemon: Container 3e22bd0b6a40c85d2af45b5d65fb3648acab7e0ad05fa909201051a8f00a3d15 is not running
docker rm -f zen_mclean
zen_mclean
第5章 k8s下DNS問題
5.1、kubelet提示DNS錯誤資訊
kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Fail
5.2、解決辦法:
在cat /etc/kubernetes/kubelet 配置檔案中新增如下內容即可
KUBE_ARGS="--cluster-dns=10.0.0.110 --cluster-domain=cluster.local"
重啟 systemctl daemon-reload; systemctl restart kubelet 即可
第6章 docker run (映象)報錯,檔案系統不支援
1、報錯資訊如下:
/usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/7b4a1ef8a539785fde3fa4cabc4bb9d90967a30calid argument.
See '/usr/bin/docker-current run --help'.
2、報錯原因
這個是因為用的overlay2檔案系統,而系統預設只能識別overlay檔案系統
所以我們就要更新檔案系統了
3、解決方法:
systemctl stop docker //停掉docker服務
rm -rf /var/lib/docker //注意會清掉docker images的映象
vi /etc/sysconfig/docker-storage //將檔案裡的overlay2改成overlay即可
DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 " #修改前
DOCKER_STORAGE_OPTIONS="--storage-driver overlay " #修改後
vi /etc/sysconfig/docker //去掉option後面的--selinux-enabled
4、重新啟動docker即可
systemctl start docker
第7章 docker執行apache報錯
7.1、報錯資訊如下:
[root@k8s-node-3 ~]# docker logs 99e3fc059214
WordPress not found in /var/www/html - copying now...
Complete! WordPress has been successfully copied to /var/www/html
AH00534: apache2: Configuration error: No MPM loaded.
7.2、解決方法:
systemctl stop docker //停掉docker服務
rm -rf /var/lib/docker //注意會清掉docker images的映象
vi /etc/sysconfig/docker-storage //將檔案裡的overlay2改成devicemapper即可
DOCKER_STORAGE_OPTIONS="--storage-driver overlay2 " #修改前
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper " #修改後
7.3、重啟docker服務
systemctl start docker
相關推薦
k8s常見問題大收集
第1章 k8s外部不能訪問pod 1、問題描述: 在搭建好的k8s叢集內建立的容器,只能在其所在的節點上curl可訪問,但是在其他任何主機上無法訪問容器佔用的埠 1.1、解決方案 vim /etc/sysctl.conf 找到這一行,放開註釋 # U
openstack常見問題收集
openstack問題1 執行 openstack token issue Missing value auth-url required for auth plugin password 解決 在admin-openrc.sh裏指定export OS_AUTH_URL=http://controller:3
LoadRunner 常見錯誤收集及解決方案
上一個 exc nic win iss 溢出 red sage sed 一. This Vuser already started a transaction with the same name, and has not yet processed the corresp
Hierarchy View常見問題收集
Hierarchy View 在Android SDK裡自帶,常用來檢視介面的檢視結構是否過於複雜,用於瞭解哪些檢視過度繪製,又該如何進行改進。 首先還是簡單的介紹下使用方法 通過開啟Android Device Monitor,新增hierarchyviewer檢視 連結裝置,啟動你要除
JVM - 常見垃圾收集演算法以及原理
標記 - 清除演算法:該演算法分為標記和清除兩個階段,首先標記出所有需要回收的物件,在標記完成後統一回收所有被標記的物件。 缺點:1. 效率問題,標記和清除的效率都很低;2. 空間問題,標記清除之後會產生大量不連續的記憶體碎片,空間碎片太多可能導致以後在程式執行過程中需要分配較大物件時,無法找到
EFK完成k8s應用日誌收集
[ ] 在進行日誌收集的過程中,我們首先想到的是使用Logstash,因為它是ELK stack中的重要成員,但是在測試過程中發現,Logstash是基於JDK的,在沒有產生日誌的情況單純啟動Logstash就大概要消耗500M記憶體,在每個Pod中都啟動一個日誌收集元件的情況下,使
springboot的常見問題收集
bootstramp.yml檔案 其實yml和properties檔案是一樣的原理,主要是說明application和bootstrap的載入順序。且一個專案上要麼yml或者properties,二選一的存在。 Bootstrap.yml(bootstrap.p
struts+hibernate+spring整合過程常見問題收集
1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor 缺少asm-3.3.jar 2.java.lang.NoClassDefFoundError: org/objectweb/asm/commo
SlickEdit 使用技巧大收集
中文亂碼解決辦法: 1.顯示中文 1).Tools->File Options-Load 下的Encoding 選擇 Chinese Simplified (GB-2312) 2) .Tools->Font 下選擇一個支援中文的字型(我選wenQ
後Kubernetes時代,帶你係統梳理K8S 12大關鍵特性_Kubernetes中文社群
導讀: Kubernetes如今風靡一時,所有主要的雲服務提供商都將其作為部署雲原生應用的解決方案。Kubernetes有哪些顯著的特性和工具優勢,讓企業開始接受它?本文作者給出了系統的梳理。 “Action without orchestration is bur
雲端計算、分散式架構、K8S、大資料、機器學習、搜尋、推薦、廣告
1、先看一下數學中的異或 異或xor是一個數學運算子。它應用於邏輯運算。異或符號為“^”。 異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0(同為
AndroidStudio常見錯誤收集
1、Error:Finish can only be called once. (Gradle版本問題,可檢視ProjectStructure中專案的Gradle版本和Setting中Gradle版本
k8s日常故障收集
案例一: 1.8版本之前.開啟rbac後,apiserver預設繫結system:nodes組到system:node的clusterrole。v1.8之後,此繫結預設不存在,需要手工繫結,否則kubelet啟動後會報認證錯誤,使用kubectl get nodes檢視無法成為Ready
常見問題收集
2.批處理實驗資料的流程 先用命令列讀取資料夾所有檔案形成txt→matlab讀取txt檔案,選擇自己想要的那部分資料→做好標籤,開始迴圈輸出圖片 3.pdf圖片對齊 任選一張圖片大小,整體依據前面選定的大小調整;先確定四個角的圖片,左邊兩個角圖片左對齊,右邊
常見大資料和空間限制面試題
過濾100億黑名單 題目 假設有100億個URL的黑名單,每個URL最多佔用64B,設計一個過濾系統,判斷某條URL是否在黑名單裡。 要求 不高於萬分之一的判斷失誤率;額外記憶體不超過30GB 答案 100億個64B的URL需要640GB
ORACLE常見BUG收集彙總【不斷更新】
1.bug (8922013)(RAC內部兩節點通過dblink訪問資料導致過高version_count消耗大量記憶體)2.bug (4612267)10.2.0.1版本上,主機執行天數是是24.8
Ubuntu常見問題收集
[TOC] 命令比較長的時候命令不會換行 特徵: 在命令列輸入的命令比較長的時候(並不是特別長),命令換行的時候並不是另起一行
如何使用 K8s 兩大利器"審計"和"事件"幫你擺脫運維困境?
## 概述 下面幾個問題,相信廣大 K8s 使用者在日常叢集運維中都曾經遇到過: - 叢集中的某個應用被刪除了,誰幹的? - Apiserver 的負載突然變高,大量訪問失敗,叢集中到底發生了什麼? - 叢集節點 NotReady,是什麼原因導致的? - 叢集的節點發生了自動擴容,是什麼觸發的?什麼時間觸
undo過大的常見處理方式
空間 proc 常用 roc tro sta 回滾 lock 數據庫 一、普通情況下的操作:undo表空間處理方式一般采用如下:1、創建新的undo表空間create undo tablespace undotbs3 datafile‘+ORA_DATA_02‘ size
Best名品腕表:腕表走時誤差大的幾個常見原因
卡地亞 勞力士 勞力士潛航者 一比一復刻表 潛水表機械表調整時間的原則長時間的靜置,機械表的發條自然放松至表款靜止不動,此時,若要重新佩帶,就必須先重新上緊發條,之後再校準時間,一般機械表在發條最松的時候,會出現時針、分針變慢或變快的現象,所以,應該先上緊發條,以免校準時間後,沒有標準動力驅動指針,即使是