Kubernetes + Dashboard + Heapster (四) 慢慢填坑

部署錯誤總結(jié)

1、hosts

情景:
檢查POD狀態(tài)時

Error from server: Get https://centos-minion-2:10250/containerLogs/default/nginx-z34rn/nginx: dial tcp: lookup centos-minion-2 on 8.8.8.8:53: no such host

原因:
檢查hosts,發(fā)現(xiàn)沒有配置master機器的hosts 增加 minion-2的記錄

2、找不到POD

一般在部署k8s環(huán)境的時候會設置多個namespace,比如一般應用默認使用default,k8s組件使用kube-system等等。所以如果你找不到了,但是它還運行著,說明你沒找對地方。
Namespace(命名空間)是kubernetes系統(tǒng)中的另一個重要的概念,通過將系統(tǒng)內(nèi)部的對象“分配”到不同的Namespace中,形成邏輯上分組的不同項目、小組或用戶組,便于不同的分組在共享使用整個集群的資源的同時還能被分別管理。

kubectl get pods -n kube-system -o wide
#or 
kubectl get all

3、POD之間無法訪問

Flannel是CoreOS團隊針對Kubernetes設計的一個網(wǎng)絡規(guī)劃服務;簡單來說,它的功能是讓集群中的不同節(jié)點主機創(chuàng)建的Docker容器都具有全集群唯一的虛擬IP地址,并使Docker容器可以互連。
所以出現(xiàn)無法訪問的情況時,一定是flannel 有問題。
檢查狀態(tài):

systemctl status flannel

4、Ingress-nginx 訪問慢

遇到過一次情況,內(nèi)網(wǎng)機器部署Ingress-nginx后訪問網(wǎng)站需要10多秒的時間。檢查日志后發(fā)現(xiàn)是后端的backend有一臺機器無法訪問,因此造成多次重試。

POD

時間不一致

情景:
默認很多鏡像的時區(qū)都不是東八區(qū),所以和現(xiàn)在時間會差8小時。date -R檢查時區(qū)。
解決:

1、TZ

對于一般的docker鏡像來說,添加個TZ變量就可以啦

spec:
      containers:
      - name: dev-wechat-tomcat
        image: docker.io/tomcat
        env:
        - name: TZ
          value: Asia/Shanghai

但不是對于所有鏡像都有效的,我測試過一般的都可以,但是ingress-nginx-control鏡像死活無效,至今沒有什么好版本。最后只能用elk來調(diào)整一下。
對于時區(qū)來說,還有其他集中方式:

2、掛載

spec:
      containers:
      - name: my-testpod
        image: 1604podimage:latest
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
      volumes:
      - name: tz-config
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai

3、復制

docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

個人比較傾向第一種方式,簡單省事。不過也可以修改dockerfile一勞永逸。

4、部署gitlab

新部署的gitlab 項目地址顯示為主機名。
解決:
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

 ## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: n15.my.com
    port: 80
    https: false

持續(xù)更新中。。

更多參考:
Kubernetes + Dashboard + Heapster (一) 安裝配置
Kubernetes + Dashboard + Heapster (二) 監(jiān)控部署
Kubernetes + Dashboard + Heapster (三) ingress負載均衡
Kubernetes + Dashboard + Heapster (四) 慢慢填坑

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容