DockerSwarm與K8S由于Firewalld引起的網(wǎng)絡(luò)問(wèn)題

問(wèn)題表現(xiàn)

K8S集群中的問(wèn)題

需求在集群中掛載一個(gè)分布式文件存儲(chǔ)系統(tǒng),由于集群本身是rancher,理所當(dāng)然選擇了longhorn。
服務(wù)器系統(tǒng)為Centos7.6,在安裝部署longhorn的時(shí)候發(fā)現(xiàn)這玩意能裝上而且各項(xiàng)檢查都正常,但是在PVC調(diào)度的時(shí)候會(huì)發(fā)現(xiàn)無(wú)法調(diào)度到具體的磁盤負(fù)載機(jī)器上去。

閱讀官方資料之后發(fā)現(xiàn)在RHEL的機(jī)器上Rancher2.6.x的版本他們建議關(guān)閉防火墻,2.7.x的版本建議將防護(hù)墻升級(jí)到v7.x,否則會(huì)出現(xiàn)一些奇怪的問(wèn)題。但是你安裝官方文檔中的腳本去執(zhí)行只能將firewalld升級(jí)到0.6.3版本。然后在Github的issues中我找到了思路圍觀地址

DockerSwarm中的問(wèn)題

DockerSwarm中的問(wèn)題更加離譜,具體表現(xiàn)為三臺(tái)機(jī)器的swarm集群,程序部署在第三臺(tái)上面,你用第二臺(tái)機(jī)器的IP去訪問(wèn),本來(lái)是可以的,在 firewalld reload 之后你會(huì)發(fā)現(xiàn)只能用第三臺(tái)機(jī)器的IP去訪問(wèn)了,而且集群內(nèi)部的網(wǎng)絡(luò)也出現(xiàn)了問(wèn)題,整個(gè)overlay 的網(wǎng)絡(luò)基本癱瘓了。復(fù)查iptables中的規(guī)則后發(fā)現(xiàn)所有的轉(zhuǎn)發(fā)規(guī)則都丟了。只能重啟Docker去解決這個(gè)問(wèn)題。

解決思路

知道原理之后就簡(jiǎn)單了,直接簡(jiǎn)單粗暴,使用ufw替換firewalld,替換之后DockerSwarm與Rancher集群全部正常,iptables轉(zhuǎn)發(fā)正常。

編寫解決腳本

#! /bin/bash

uninstall_firewalld() {
    systemctl stop firewalld
    systemctl disable firewalld
}

install_ufw() {
    yum install epel-release -y
    yum install ufw -y
}

start_ufw() {
    systemctl start ufw
    systemctl enable ufw

    ufw allow 22/tcp
    ufw default deny

    ufw reload
    ufw status
} 

#主函數(shù)
main() {
    uninstall_firewalld
    install_ufw
    start_ufw
}

main

使用說(shuō)明

ufw allow 8888/tcp # 開(kāi)啟tcp端口
ufw allow 8888/udp  # 開(kāi)啟tcp端口

ufw allow 9998:9999/tcp  # 開(kāi)啟一批端口
ufw allow 9998:9999/udp  # 開(kāi)啟一批端口

ufw deny 8888/tcp  # 關(guān)閉端口
ufw deny 8888/udp  # 關(guān)閉端口

ufw deny 9998:9999/tcp  # 關(guān)閉一批端口
ufw deny 9998:9999/udp # 關(guān)閉一批端口


sudo ufw allow from 15.15.15.0/24 to any port 22
sudo ufw allow from 15.15.15.1 to any port 22

sudo ufw deny from 15.15.15.0/24 to any port 22
sudo ufw deny from 15.15.15.1 to any port 22

ufw reload # 重啟ufw

替換完之后全部正常,主要原因就是低版本的firewalld可能不太支持這么新的東西,畢竟好多年的玩意了,不支持也正常。

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

相關(guān)閱讀更多精彩內(nèi)容

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