花了幾天時間完整搭建了一次集群,中途還是碰到了許多問題,但通過推理與google去解決,還是非常有趣的一件事情。寫篇文章記錄下都碰到了哪些問題,做個總結吧,哈哈。
集群是在vultr上利用private ip建立的。(好奇如何實現集群的公網介入了?)這里還是要熟悉下其他幾個云,比如azure,aliyun,amozon,gcp。
首先就是創建證書請求,創建kubernetes證書時在host字段吧ip填錯了。后面驗證etcd是才發現提示證書不對(某個ip后面多加了個點。。。)。
被迫開始了第二遍。。第二遍一開始一開始某個證書內容錯了,導致創建后面的證書時報錯。又重來。然后遇到的就是flannel這里,安裝完了之后發現各節點相互之間不能ping通,但能看到網段,最開始想到的是看flannel的log,但log看上去都正常。然后想肯定是防火墻的問題,最初想到的就是iptables,這里有個錯誤就是第一時間并沒有想起來centos還有firewall這個防火墻,(需要把兩者關系搞清楚),研究了半天iptables,不行,想起來還有個firewall,直接stop掉,誒,行了,哈哈,開心。然后是安裝dns,教程是安裝kube-nds,我感覺寫得不是很清楚,安裝了coredns,根據官網操作,然后就碰到了應該是權限錯誤的問題,根據官網給出的錯做,刪除掉了對應的kind,(什么叫NON rbac部署?)然后還是提示配置文件有兩個錯誤,看了下應該不是很關鍵的錯誤,直接跳過驗證了。(需要進一步了解,)ok,ping pod可以找打ip了。
然后就是在安裝fluented提示的log不能寫入容器,這個問題因為時間關系沒有解決,以及
fluented啟動的3個pod總是有一個pod啟動不起來。很奇怪。如果下次碰到在仔細研究。
對于常用的命令,還必須得熟練的計劃學習。
以及一些基礎的地方,還需要學習。
回溯一下整個過程的話,我認為有以下幾點很關鍵:
首先是一定要細致,這一點讓我走了彎路。
第二點是不要急于google,先主動的分析問題,可能的原因。
第三點就是對于整個系統的結構應該有一個大致的了解學習,這一點是平時需要完成的,做不到對每一個tech達到底層,但需要對其大致結構與工作原理熟悉,這樣在排錯時才能找到問題大致找在哪里,需要往哪里查找。
最后一點就是,邏輯推理的過程一定要縝密。確保每一個環節都是被得到檢驗的。這樣才能真正的發先問題的點在哪里。
大致就是這些了。希望以后能夠有所改進。
- 文章翻譯
- Large-scale cluster management at Google with Borg
- Borg Omega and kubernetes
- scaling kubernetes to 7500 nodes
- bpf 的過去,未來與現在
- Demystifying Istio Circuit Breaking
- 知識圖譜
- skill level up graph
- 一、運維常用技能
- 1.0 Vim (編輯器)
- 1.1 Nginx & Tengine(Web服務)
- 基礎
- 1.2 zabbix
- 定義
- 登錄和配置用戶
- 1.3 RabbitMQ(消息隊列)
- 原理
- RabbitMQ(安裝)
- 1.4虛擬化技術
- KVM
- 1.5 Tomcat(Web中間件)
- 1.6Jenkins
- pipline
- 1.7 Docker
- network
- 1.8 Keepalived(負載均衡高可用)
- 1.9 Memcache(分布式緩存)
- 1.10 Zookeeper(分布式協調系統)
- 1.11 GitLab(版本控制)
- 1.12 Jenkins(運維自動化)
- 1.13 WAF(Web防火墻)
- 1.14 HAproxy負載均衡
- 1.15 NFS(文件傳輸)
- 1.16 Vim(編輯器)
- 1.17 Cobbler(自動化部署)
- 二、常用數據庫
- 2.1 MySQL(關系型數據庫)
- mysql主從復制
- 2.2 Mongodb(數據分析)
- 2.3 Redis(非關系數據庫)
- 三、自動化運維工具
- 3.1 Cobbler(系統自動化部署)
- 3.2 Ansible(自動化部署)
- 3.3 Puppet(自動化部署)
- 3.4 SaltStack(自動化運維)
- 四、存儲
- 4.1 GFS(文件型存儲)
- 4.2 Ceph(后端存儲)
- 五、運維監控工具
- 5.1 云鏡
- 5.2 ELK
- 六、運維云平臺
- 6.1 Kubernetes
- 6.2 OpenStack
- 介紹
- 安裝
- 七、Devops運維
- 7.1 理念
- 7.2 Devops運維實戰
- 八、編程語言
- 8.1 Shell
- 書籍《Wicked Cool Shell Scripts》
- 8.2 Python
- 8.3 C
- 8.4 Java
- leecode算法與數據結構
- 九、雜記
- 高優先級技能
- 知識點
- JD搜集
- 明顯的短板
- 1.0 Python
- 1.1 Kubernetes
- 1.18.2 《kubernetes in action》
- 遺漏知識點
- 1.18.3 GCP、azure、aliyun
- Azure文檔
- 1.18.5 《program with kubernetes》
- Istio
- HELM
- 《Kubernetes best practice》
- Kubernetes源碼學習
- Scheduler源碼
- 調度器入口
- 調度器框架
- Node篩選算法
- Node優先級算法
- pod搶占調度
- 入口
- 主要代碼結構
- new
- 文章翻譯
- Flannel
- 從二進制集群搭建
- 信息收集
- docker優化
- 1.2 shell
- 面試題
- grep awk sed 常見用法
- shell實踐
- 1.3 Data structure(數據結構)
- Calico
- Aliyun文檔以及重點模塊
- git
- 大數據組件
- 前端,后端,web框架
- cgroup,namespace
- 內核
- Linux搜集
- crontab
- centos7常用優化配置
- centos Mariadb
- eBPF
- ebpf的前世今生
- Linux性能問題排查與分析
- 性能分析搜集
- 性能分析常用10條
- 網絡性能優化
- 文本處理命令
- sql
- Iptables
- python面試題
- iptables
- iptables詳細
- zabbix面試題,proj
- prometheus
- web中間件
- nginx
- Haproxy
- grep sed awk
- Linux常用命令
- 云平臺
- 書籍Linux應用技巧
- kafka
- kafka面試題
- ETCD
- Jenkins
- 3天補充的點
- K8s源碼
- K8s
- k8s實操
- etcd
- test
- BPF
- PSFTP使用
- StackOverflow問答精選
- 問題
- 我對于學習思考
- 修改ssh超時時間
- 課程目錄
- 運維與運維開發
- The Person
- 個人雜談
- mysql主從復制
- 對于工作的認識與思考