原创 國內無法下載k8s鏡像的解決辦法

關於通過各種方法下載k8s相關鏡像的方法總結如下: 1.使用Azure中國鏡像站,目前限制只能“Azure China IP”可用,不再對外提供服務,此路不通。 2.直接使用mirrorgooglecontainers用戶同步到Docker

原创 以二進制文件安裝K8S之環境準備

爲了k8s集羣能正常運行,需要先完成4項準備工作: 1.關閉防火牆 2.禁用SeLinux 3.關閉Swap 4.安裝Docker 關閉防火牆 # 查看防火牆狀態 getenforce #關閉防火牆,禁用防火牆開機自啓動 systemc

原创 以二進制文件安裝K8S之創建CA根證書

爲etcd和Kubernetes服務啓用基於CA認證的安全機制,需要CA證書進行配置。 如果組織能夠提供統一的CA認證中心,則直接使用組織頒發的CA證書即可。如果沒有統一的CA認證中心,則可以通過頒發自簽名的CA證書來完成安全配置。 如下以

原创 以二進制文件安裝K8S之高可用部署架構

在Kubernetes系統中,Master節點扮演着總控中心的角色,通過不間斷地與各個工作節點(Node)通信來維護整個集羣的健康工作狀態,集羣中各資源對象的狀態則被保存在etcd數據庫中。 在正式環境中應確保Master的高可用,並啓用安

原创 配置kube-apiserver基於token的認證機制

Kubernetes除了提供了基於CA證書的認證方式,也提供了基於HTTP Token的簡單認證方式。各客戶端組件與API Server之間的通信方式仍然採用HTTPS,但不採用CA數字證書。這種認證機制與CA證書相比,安全性很低,在生產環

原创 以二進制文件安裝K8S之部署etcd高可用集羣

概述 前提條件:已經準備好CA根證書(etcd在製作CA證書時需要CA根證書),並且把CA根證書文件ca.key和ca.crt拷貝到3個etcd節點的/etc/kubernetes/pki目錄下。 3臺主機的IP地址分別爲192.168.3

原创 以二進制文件安裝K8S之部署Node服務

概述 在Node上需要部署Docker、kubelet、kube-proxy,在成功加入Kubernetes集羣后,還需要部署CNI網絡插件、DNS插件等管理組件。 本節以將192.168.3.138和192.168.3.139兩臺主機部署

原创 以二進制文件安裝K8S之部署Master高可用集羣

如下以二進制文件方式部署安全的Kubernetes Master高可用集羣,具體步驟如下: 1.下載Kubernetes服務的二進制文件 2.部署kube-apiserver服務 3.創建客戶端CA證書 4.創建客戶端連接kube-apis

原创 go語言編程常見問題

在Goland中運行單元測試報錯Error: Cannot find package 如下圖,在Goland中運行單元測試時報錯:“Error: Cannot find package” 彈出如下報錯提示窗口: 解決辦法:在Goland

原创 學習go語言編程之安全編程

數據加密 對稱加密 採用單密鑰的加密算法,稱爲對稱加密。 常見的單密鑰加密算法有DES、AES、RC4等。 在對稱加密中,私鑰不能暴露,否則在算法公開的情況下,數據等同於明文。 非對稱加密 採用雙密鑰的加密算法,稱爲非對稱加密。 在該系統中

原创 學習go語言編程之工程管理

Go命令行工具 安裝了Go語言的安裝包後,就直接自帶Go命令行工具。 # 查看當前安裝的Golang版本 go version # 查看go命令行工具的幫助信息 go help Go命令行工具可以完成如下工作: 代碼格式化 代碼質量分

原创 學習go語言編程之標準庫

標準庫包分類 Golang標準庫可以大致按其中庫的功能進行以下分類: 分類 對應包 描述 輸入輸出 bufio,fmt,io,log,flag 這個分類包括二進制以及文本格式在屏幕、鍵盤、文件以及其他設備上的輸入輸出等,比如二

原创 學習go語言編程之併發編程

併發基礎 併發包含如下幾種主流的實現模型: 多進程 多線程 基於回到的非阻塞/異步IO 協程 協程 與傳統的系統級線程和進程相比,協程最大的優勢在於“輕量級”,可以輕鬆創建上百萬個而不會導致系統資源枯竭,而線程和進程通常最多不超過1萬個

原创 學習go語言編程之網絡編程

Socket編程 Golang語言標準庫對Socket編程進行了抽象,無論使用什麼協議建立什麼形式的連接,都只需要調用net.Dial()即可。 Dial()函數 Dial()函數的原型如下: func Dial(network, addr

原创 學習go語言編程之錯誤處理

error接口 Golang中有一個關於錯誤處理的標準模式,即:error接口。 type error interface { Error() string } 對於大多數函數,如果要返回錯誤,大致上都可以定義爲如下模式: func F