當前位置:首頁 » 存儲配置 » centosraw文件怎麼配置

centosraw文件怎麼配置

發布時間: 2023-09-26 10:34:32

⑴ 樹莓派4B+ Centos7 部署k3s集群工具

kubernetes用於大型集群管理,而k3s屬於kubernetes的一個輕量級版本,常用於嵌入式設備使用。現把它安裝到樹莓派上使用。

這里用到樹莓派的系統是:CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-2009-sda.raw,型號是4B+,8g內存。
樹莓派初次啟動需要擴容,並且做一些基本調整:

cgroup是linux用來對進程分配cpu、內存資源的工具,需要在啟動系統時開啟他,k3s會用到。
在/boot/cmdline.txt後加入這個,然後reboot

k3s是一個輕量級的k8s,適用於樹莓派這種嵌入式設備。

這個腳本跑完的時候,會把k3s添加到systemd裡面,可以通過systemctl status k3s來查看運作狀態。啟動成功就可以使用啦

官方參考: https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/

等它重啟個好幾次之後,基本就成功了。

如果一直失敗,可以輸入命令刷一下iptable緩沖
iptables --flush
iptables -tnat --flush

等第二個結點加入後,在任意結點執行命令,都能查看到已有的2個Server(Master)結點了

當Server結點數大於等於3個且為奇數時,集群才可以實現高可用。
大於等於3是因為k3s使用了Raft演算法來實現一致性,而Raft演算法的容崩率為1/3,也就是只要集群中有2/3台機器正常運作,集群就能正常運作,所以3台機器是最低要求;要奇數個結點是因為Raft演算法過程中有一個很重要的隨機投票選Leader的流程,結點們通過定期投票選舉出一個Leader角色,然後其他結點在它的任期內就向他同步數據,這個時候如果結點數是偶數,那麼容易出現平票問題,選不出leader,並且,崩潰後集群進行數據恢復過程中,實現一致的方法是多數服從少數,如果是偶數Master結點,且剛好被分割成2個結點規模一樣的集團,就沒辦法恢復數據了[裂開],所以需要奇數個結點以避免權力平分問題。
以上為個人理解。

有興趣的同學可以一起探討這類共識演算法,與此類似的還有聯盟鏈的PBFT類演算法,比特幣PoW演算法等等。

因為集群並非開放式集群,加入集群需要獲取一個token作為校驗。這個token可以從Master伺服器上獲取。(手動加入的話,僅需要使用相同的K3S_TOKEN參數啟動即可。)

這樣,結點就正常連接上啦:

關閉k3s進程後,後台還留存一些服務佔用著埠,需要用官方腳本關閉他們

可以flush一下iptables,等他自己重啟就行了。

有可能發生了一些沖突,可以試下重裝k3s-agent

目前系統已經伴隨k3s安裝的一些軟體:
crictl :類似與docker的命令行工具,比如:

k3s :封裝了kubeneters基本工具在裡面的集成,如使用kubectl:

這里示範部署一個最簡單的web應用

--net host 代表與本機享受同一個網路命名空間

這里可以在docker容器內開啟ssh服務: https://blog.csdn.net/Leo_csdn_/article/details/96150534

做好docker鏡像後,就可以部署到集群上了。

等一會兒就能在pods列表裡面看到了:

但這時候,這個pod並沒有對外開放,只能在集群內部相互訪問,通過get services命令查看集群的服務,發現並沒有我們的hello-node服務。

expose命令其實是創建了一個service,用於給這個pod提供訪問入口。
(如果使用--type=LoadBalancer,則代表一個deployment上管理的所有POD進行均衡負載,但這里還沒用上deployment,第四章節會使用到)
等一會兒,pod上就有一個結點IP的對外埠,供外部訪問了。

運行結束後,剛啟動過的pod和service就不見了,服務也停止了。

docker容器,其實就是一個運行的輕量級系統,裡面可以跑我們的業務應用。
而POD則是代表容器的集合,一個POD可以運行多個容器,一台機器上可以運行多個POD。
POD未必是一個對外開放的服務,他可能只是內部計算的程序,默認只能集群內部通信,所以還有Service的概念,用於讓POD對外開放埠,供外部訪問。這里的service本質上是個集群內部的負載均衡器,用來給同一個Deployment分流;對應的還有Ingress,外部負載均衡器,用於給多個Deployment分流。
而Deployment顧名思義,就是一次部署的抽象實例,比如說,現在需要部署一個3台機器均衡負載的nodejs業務應用,那麼這個部署任務則代表一個deployment實例。

很快,我們可以看到POD和deployment的部署情況,都已經正常運作。

進入容器後可以使用基本linux命令,也可見8080埠已經被我們的node應用佔用了。

但是此時service還沒有他們,也就是正處於無法提供外部服務的狀態。

這里對一個deployment裡面的3個pod啟動了個默認均衡負載服務,暴露出來的一個埠是30057,訪問可通。
也能夠通過logs命令查看控制台輸出的日誌。

因為deployment實例中包含了pod的部署配置,所以刪除deployment時,k3s就會直接把pod也刪除掉。
但service並不在deployment部署的范圍內,所以需要同步刪除它,在刪除命令中通過","與deployment分割開來即可。
至此已經把剛起來的服務全部關閉掉了。

這里我們看到3個Server(Master)結點由於需要維護集群高可用,對CPU持續20%左右的消耗,內存也需要一個G左右。而Agent(Wroker)結點只需要執行部署任務,所以對內存與CPU的需求都相對低一些,僅維持在10%左右的CPU和半個G左右的內存消耗。

參考: https://zhuanlan.hu.com/p/120171512
參考: http://kubernetes.kansea.com/docs/hellonode/

⑵ 如何在linux系統centos下通過Eclipse配置opencv

1、安裝依賴包(很重要)
yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm
如果不安裝上述依賴包,到最後調用opencv時會出錯,如下:
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow,...................
此時只能將編譯好的opencv刪除再重新編譯,即將/usr/local/lib和/usr/local/include/中的有關的刪除
mv /usr/local/lib/libopencv*
mv -fr /usr/local/include/opencv
mv -fr /usr/local/include/opencv2
然後再重新編譯opencv.
2、安裝/更新CMake
為什麼要安裝或者更新cmake呢,下面說明所chǔ問題:
(1)下載
在OpenCV官網http://sourceforge.net/projects/opencvlibrary/files/ 下載所需版本
拷貝到/usr/local/路徑之下
(2)tar -xvf OpenCV-2.4.8.tar.bz2 解壓
(3)cd OpenCV-2.4.8 進入目錄
(4)yum install cmake 直接從網上安裝cmake

(5) cmake CMakeLists.txt

⑶ 怎樣centos下共享文件夾 添加單獨用戶名和密碼

當然是使用Samba服務程序來實現了。首先配置好yum源,接下來進行以下步驟:

1、安裝sanba服務

[root@linuxprobe ~ ]# yum install samba
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分輸出信息………………

2、創建用於訪問共享資源的賬戶信息。

[root@linuxprobe ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe)
[root@linuxprobe ~]# pdbedit -a -u linuxprobe
new password:此處輸入該賬戶在Samba服務資料庫中的密碼retype new password:再次輸入密碼進行確認Unix username: linuxprobe
NT username:
Account Flags: [U ]
User SID: S-1-5-21-507407404-3243012 .....................省略部分輸出信息...........................

3、創建用於共享資源的文件目錄。

[root@linuxprobe ~]# mkdir /home/database
[root@linuxprobe ~]# chown -Rf linuxprobe:linuxprobe /home/database
[root@linuxprobe ~]# semanage fcontext -a -t samba_share_t /home/database
[root@linuxprobe ~]# restorecon -Rv /home/database
restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:samba_share_t:s0

4、設置SELinux服務與策略,使其允許通過Samba服務程序訪問普通用戶家目錄。

[root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on

5、在Samba服務程序的主配置文件中,寫入共享信息。

[root@linuxprobe ~]# vim /etc/samba/smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
[database]
comment = Do not arbitrarily modify the database file
path = /home/database
public = no
writable = yes

6、重啟samba服務並清空iptables防火牆檢驗配置效果。

[root@linuxprobe ~]# systemctl restart smb
[root@linuxprobe ~]# systemctl enable smb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

以上就是samba服務的配置方法,參考了「linux就該這么學」的第12章節,更詳細的配置方法你可以網路這本書直接在官網看下網頁版。

熱點內容
用戶上傳伴奏 發布:2024-11-30 09:35:33 瀏覽:263
sql伺服器配置失敗 發布:2024-11-30 09:35:21 瀏覽:910
php從傳智播客 發布:2024-11-30 09:33:47 瀏覽:965
硬碟錄像機外接存儲伺服器 發布:2024-11-30 09:27:18 瀏覽:993
雅視修改密碼為什麼失敗 發布:2024-11-30 09:25:46 瀏覽:966
安卓照片大小怎麼改100k內 發布:2024-11-30 09:20:39 瀏覽:431
ups系統如何配置網路 發布:2024-11-30 09:06:14 瀏覽:58
怎麼看pppoe密碼 發布:2024-11-30 08:35:35 瀏覽:510
sandisk16gb存儲卡 發布:2024-11-30 08:34:42 瀏覽:954
eclipsejava反編譯 發布:2024-11-30 08:34:37 瀏覽:900