在kubernetes上進行容器化部署並非易事,docker、環境變數、儲存、網路等方面都會涉及到,這些複雜的操作可以被helm應用包管理工具實現,避免了全手工操作的,helm官網:
本次實戰環境是kubernetes集群(1.15.3版本),由三颱centos7.7伺服器組成;
部署完畢後,在體驗helm的環節,需要您提前準備好nfs,作為部署應用的網路儲存空間;
ssh登入到可以執行kubectl操作的伺服器:
解壓:
tar -zxvf helm-v2.16.1-linux-amd64.tar.gz
把解壓後的資料夾內的helm檔案放入/usr/local/bin/:
mv linux-amd64/helm /usr/local/bin/
檢視helm版本,如下,可見客戶端版本是2.16.1,由於helm服務端(名為tiller)還沒有部署,因此顯示"could not find tiller":
[root@node1 ~]
# helm version
client: &version.version
error: could not find tiller
客戶端部署完畢,接下來要把serviceaccount和角色繫結建好
建立名為tiller的serviceaccount:
kubectl create serviceaccount --namespace kube-system tiller
把tiller與角色tiller-cluster-rule進行繫結:
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm初始化,其中tiller的映象來自阿里雲,並且將預設倉庫也設定為阿里雲的:
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.1 --stable-repo-url --service-account tiller
等待控制台提示成功後再次執行helm version,輸出如下,可見helm的服務端已經返回了資訊:
[root@node1 ~]
# helm version
client: &version.version
server: &version.version
現在helm已裝好,接下來部署個應用試試
接下來用helm部署服務的時候會用到儲存卷,因此要提前準備pv;
我這裡已經準備好了nfs作為pv,關於nfs如何部署可以參考《ubuntu16環境安裝和使用nfs》;
注意,k8s集群所有宿主機上都要裝好nfs客戶端,centos的安裝命令如下:
yum install nfs-utils -y
建立名為pv-tomcat.yaml的檔案,內容如下,其中192.168.133.142是nfs伺服器的位址,/usr/local/work/test/001是可用的儲存路徑:
apiversion
: v1
kind
: persistentvolume
metadata
:name
: pv-tomcat
namespace
: default
spec
:capacity
:storage
: 10gi
accessmodes
:- readwriteonce
persistentvolumereclaimpolicy
: recycle
nfs:path
: /usr/local/work/test/001
server
: 192.168.133.142
執行以下命令建立pv:
kubectl create -f pv-tomcat.yaml
pv已經準備好,可以通過helm部署應用了
想部署tomcat,執行命令helm search tomcat查詢,卻發現阿里雲的helm倉庫裡沒有,只能在其他倉庫去找了;
增加乙個倉庫:
helm repo add bitnami
再次查詢tomcat,這回有了:
[root@node1 ~]
# helm search tomcat
bitnami/tomcat 6.0.6 9.0.29 chart for apache tomcat
執行以下命令部署tomcat,指定chat名為my-tomcat:
helm install \
--name my-tomcat \
bitnami/tomcat
使用helm list命令檢視:
[root@node1 ~]
# helm list
my-tomcat 1 sun nov 24 20:29:16 2019 deployed tomcat-6.0.6 9.0.29 default
使用kubectl get services命令檢視kubernetes服務,可見為tomcat建立了service,型別是loadbalancer:
[root@node1 local]
# kubectl get services
name type cluster-ip external-ip port(s) age
kubernetes clusterip 10.233.0.1 443/tcp 3h36m
my-tomcat loadbalancer 10.233.16.166 80:31229/tcp 100s
由上述資訊可見,tomcat服務型別為loadbalancer,因此我們可以通過宿主機的31229埠訪問,如下圖可見:
至此,實戰結束,在您安裝和使用helm的時候,希望本文能給您一些參考;
02 10版本kafka安裝部署
安裝 zookeeper 安裝版本 3.4.10 安裝步驟 1 直接解壓 tar zvxf zookeeper 3.4.10.tar.gz 2 解壓完成後,重新命名 方便使用 mv zookeeper 3.4.10 zookeeper 3 更改環境變數 vi etc profile 新增以下資訊 e...
VMware RHEL4 初體驗 1 0 版本
2008 1 14 lvmware 6.0 虛擬機器檔案包括 1 虛擬機器配置檔案 vmx 2 虛擬磁碟檔案 vmdk 或者raw 磁碟定義檔案 raw 乙個虛擬機器磁碟檔案儲存你寫入到一台虛擬機器 硬碟的資訊 作業系統,程式檔案和資料檔案。如果虛擬磁碟大於 2gb,目錄中顯示一系列的檔案,它們的名...
Windbg 32位版本和64位版本的選擇
習慣了vsiual studio的兄弟們可能會因為先入為主的原因以為所有的偵錯程式都應該像它那樣,其實不然,當你安裝 debugging tools for windows的時候,你將發現有兩個系列的工具,一系列32位的工具和一系列64位的工具。這讓人覺得和費解,因為在我們安裝 microsoft ...