1. 程式人生 > >k8s常見問題大收集

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名品腕表:腕表走時誤差的幾個常見原因

卡地亞 勞力士 勞力士潛航者 一比一復刻表 潛水表機械表調整時間的原則長時間的靜置,機械表的發條自然放松至表款靜止不動,此時,若要重新佩帶,就必須先重新上緊發條,之後再校準時間,一般機械表在發條最松的時候,會出現時針、分針變慢或變快的現象,所以,應該先上緊發條,以免校準時間後,沒有標準動力驅動指針,即使是