单节点部署K8s和Kubesphere防火墙配置

677 阅读9分钟

环境准备:
1、ubuntu 22系统
2、安装防火墙:

 apt -install -y firewalld #安装防火墙
 systemctl status firewalld #查看防火墙状态
 systemctl start firewalld  #启动防火墙

3、配置防火墙IPIP协议:

  firewall-cmd --zone=public --list-all 查看当前防火墙规则
 firewall-cmd --zone=public --add-masquerade --source=xxx.xxx.xxx.xxx --protocol=ipip #添加IPIP协议规则,源地址为自己公网IP:xxx.xxx.xxx.xxx
 firewall-cmd --permanent --zone=public --add-masquerade --source=xxx.xxx.xxx --protocol=ipip #保存规则至配置文件
 firewall-cmd --reload #重新加载防火墙
 firewall-cmd --zone=public --list-all #查看防火墙规则,确认配置生效

4、防火墙放行ks所需端口:

 地址:https://www.kubesphere.io/zh/docs/v3.4/installing-on-linux/introduction/port-firewall/
 firewall-cmd --zone=public --permanent --add-port=22/tcp
 irewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="本机电脑IP" port protocol="tcp" port="22" accept' #22端口之允许本机IP访问,其他IP无权访问
 firewall-cmd --zone=public --permanent --add-port=2379-2380/tcp
 firewall-cmd --zone=public --permanent --add-port=6443/tcp
 firewall-cmd --zone=public --permanent --add-port=9099-9100/tcp
 firewall-cmd --zone=public --permanent --add-port=179/tcp
 firewall-cmd --zone=public --permanent --add-port=30000-32767/tcp
 firewall-cmd --zone=public --permanent --add-port=10250-10258/tcp
 firewall-cmd --zone=public --permanent --add-port=53/tcp
 firewall-cmd --zone=public --permanent --add-port=53/udp
 firewall-cmd --zone=public --permanent --add-port=5000/tcp
 firewall-cmd --zone=public --permanent --add-port=5080/tcp
 firewall-cmd --zone=public --permanent --add-port=111/tcp
 firewall-cmd --zone=public --permanent --add-port=8443/tcp
 firewall-cmd --reload #重新加载防火墙,让配置生效
 firewall-cmd --list-port #查看开放的端口
 firewall-cmd --zone=public --list-all #查看防火墙规则,确认配置生效

 firewall-cmd --get-services #获取防火墙之可用命令

5、放行ks服务:

 firewall-cmd --zone=public --permanent --add-service=https
 firewall-cmd --zone=public --permanent --add-service=http
 firewall-cmd --zone=public --permanent --add-service=kube-api
 firewall-cmd --zone=public --permanent --add-service=kube-apiserver
 firewall-cmd --zone=public --permanent --add-service=kube-control-plane
 firewall-cmd --zone=public --permanent --add-service=kube-controller-manager
 firewall-cmd --zone=public --permanent --add-service=kube-scheduler
 firewall-cmd --zone=public --permanent --add-service=kubelet-worker
 firewall-cmd --zone=public --permanent --add-service=ldap
 firewall-cmd --zone=public --permanent --add-service=etcd-client
 firewall-cmd --zone=public --permanent --add-service=etcd-server
 firewall-cmd --reload #重新加载防火墙,让配置生效
 firewall-cmd --zone=public --list-services #查看开启了哪些服务

6、创建shell脚本 放行端口和服务:

 vim firewalld.sh
 #!/bin/bash
 firewall-cmd --zone=public --permanent --add-port=22/tcp
 irewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="本机电脑IP" port protocol="tcp" port="22" accept' #22端口之允许本机IP访问,其他IP无权访问
 firewall-cmd --zone=public --permanent --add-port=2379-2380/tcp
 firewall-cmd --zone=public --permanent --add-port=6443/tcp
 firewall-cmd --zone=public --permanent --add-port=9099-9100/tcp
 firewall-cmd --zone=public --permanent --add-port=179/tcp
 firewall-cmd --zone=public --permanent --add-port=30000-32767/tcp
 firewall-cmd --zone=public --permanent --add-port=10250-10258/tcp
 firewall-cmd --zone=public --permanent --add-port=53/tcp
 firewall-cmd --zone=public --permanent --add-port=53/udp
 firewall-cmd --zone=public --permanent --add-port=5000/tcp
 firewall-cmd --zone=public --permanent --add-port=5080/tcp
 firewall-cmd --zone=public --permanent --add-port=111/tcp
 firewall-cmd --zone=public --permanent --add-port=8443/tcp
 firewall-cmd --zone=public --permanent --add-port=80/tcp
 firewall-cmd --zone=public --permanent --add-port=8080-8090/tcp
 firewall-cmd --zone=public --permanent --add-service=RH-Satellite-6 
 firewall-cmd --zone=public --permanent --add-service=RH-Satellite-6-capsule 
 firewall-cmd --zone=public --permanent --add-service=afp 
 firewall-cmd --zone=public --permanent --add-service=amanda-client 
 firewall-cmd --zone=public --permanent --add-service=amanda-k5-client 
 firewall-cmd --zone=public --permanent --add-service=amqp 
 firewall-cmd --zone=public --permanent --add-service=amqps 
 firewall-cmd --zone=public --permanent --add-service=apcupsd 
 firewall-cmd --zone=public --permanent --add-service=audit 

 firewall-cmd --zone=public --permanent --add-service=bacula 
 firewall-cmd --zone=public --permanent --add-service=bacula-client 
 firewall-cmd --zone=public --permanent --add-service=bb 
 firewall-cmd --zone=public --permanent --add-service=bgp 
 firewall-cmd --zone=public --permanent --add-service=bitcoin 
 firewall-cmd --zone=public --permanent --add-service=bitcoin-rpc 
 firewall-cmd --zone=public --permanent --add-service=bitcoin-testnet 
 firewall-cmd --zone=public --permanent --add-service=bitcoin-testnet-rpc 
 firewall-cmd --zone=public --permanent --add-service=bittorrent-lsd 
 firewall-cmd --zone=public --permanent --add-service=ceph 
 firewall-cmd --zone=public --permanent --add-service=ceph-mon 

 firewall-cmd --zone=public --permanent --add-service=cfengine 
 firewall-cmd --zone=public --permanent --add-service=cockpit 
 firewall-cmd --zone=public --permanent --add-service=collectd 
 firewall-cmd --zone=public --permanent --add-service=condor-collector 

 firewall-cmd --zone=public --permanent --add-service=ctdb 
 firewall-cmd --zone=public --permanent --add-service=dhcp 
 firewall-cmd --zone=public --permanent --add-service=dhcpv6 
 firewall-cmd --zone=public --permanent --add-service=dhcpv6-client 
 firewall-cmd --zone=public --permanent --add-service=distcc 
 firewall-cmd --zone=public --permanent --add-service=dns 
 firewall-cmd --zone=public --permanent --add-service=dns-over-tls 
 firewall-cmd --zone=public --permanent --add-service=docker-registry 
 firewall-cmd --zone=public --permanent --add-service=docker-swarm 
 firewall-cmd --zone=public --permanent --add-service=dropbox-lansync 
 firewall-cmd --zone=public --permanent --add-service=elasticsearch 
 firewall-cmd --zone=public --permanent --add-service=etcd-client 
 firewall-cmd --zone=public --permanent --add-service=etcd-server 
 firewall-cmd --zone=public --permanent --add-service=finger 
 firewall-cmd --zone=public --permanent --add-service=foreman 
 firewall-cmd --zone=public --permanent --add-service=foreman-proxy 
 firewall-cmd --zone=public --permanent --add-service=freeipa-4 
 firewall-cmd --zone=public --permanent --add-service=freeipa-ldap 
 firewall-cmd --zone=public --permanent --add-service=freeipa-ldaps 
 firewall-cmd --zone=public --permanent --add-service=freeipa-replication 
 firewall-cmd --zone=public --permanent --add-service=freeipa-trust 
 firewall-cmd --zone=public --permanent --add-service=ftp 
 firewall-cmd --zone=public --permanent --add-service=galera 
 firewall-cmd --zone=public --permanent --add-service=ganglia-client 
 firewall-cmd --zone=public --permanent --add-service=ganglia-master 
 firewall-cmd --zone=public --permanent --add-service=git 
 firewall-cmd --zone=public --permanent --add-service=grafana 
 firewall-cmd --zone=public --permanent --add-service=gre 
 firewall-cmd --zone=public --permanent --add-service=high-availability 
 firewall-cmd --zone=public --permanent --add-service=http 
 firewall-cmd --zone=public --permanent --add-service=http3 
 firewall-cmd --zone=public --permanent --add-service=https 
 firewall-cmd --zone=public --permanent --add-service=imap 
 firewall-cmd --zone=public --permanent --add-service=imaps 
 firewall-cmd --zone=public --permanent --add-service=ipp 
 firewall-cmd --zone=public --permanent --add-service=ipp-client 
 firewall-cmd --zone=public --permanent --add-service=ipsec 
 firewall-cmd --zone=public --permanent --add-service=irc 
 firewall-cmd --zone=public --permanent --add-service=ircs 
 firewall-cmd --zone=public --permanent --add-service=iscsi-target 
 firewall-cmd --zone=public --permanent --add-service=isns 
 firewall-cmd --zone=public --permanent --add-service=jellyfin 
 firewall-cmd --zone=public --permanent --add-service=jenkins 
 firewall-cmd --zone=public --permanent --add-service=kadmin 
 firewall-cmd --zone=public --permanent --add-service=kdeconnect 
 firewall-cmd --zone=public --permanent --add-service=kerberos 
 firewall-cmd --zone=public --permanent --add-service=kibana 
 firewall-cmd --zone=public --permanent --add-service=klogin 
 firewall-cmd --zone=public --permanent --add-service=kpasswd 
 firewall-cmd --zone=public --permanent --add-service=kprop 
 firewall-cmd --zone=public --permanent --add-service=kshell 
 firewall-cmd --zone=public --permanent --add-service=kube-api 
 firewall-cmd --zone=public --permanent --add-service=kube-apiserver 
 firewall-cmd --zone=public --permanent --add-service=kube-control-plane 
 firewall-cmd --zone=public --permanent --add-service=kube-controller-manager 
 firewall-cmd --zone=public --permanent --add-service=kube-scheduler 
 firewall-cmd --zone=public --permanent --add-service=kubelet-worker 
 firewall-cmd --zone=public --permanent --add-service=ldap 
 firewall-cmd --zone=public --permanent --add-service=ldaps 
 firewall-cmd --zone=public --permanent --add-service=libvirt 
 firewall-cmd --zone=public --permanent --add-service=libvirt-tls 
 firewall-cmd --zone=public --permanent --add-service=lightning-network 
 firewall-cmd --zone=public --permanent --add-service=llmnr 
 firewall-cmd --zone=public --permanent --add-service=llmnr-tcp 
 firewall-cmd --zone=public --permanent --add-service=llmnr-udp 
 firewall-cmd --zone=public --permanent --add-service=managesieve 
 firewall-cmd --zone=public --permanent --add-service=matrix 
 firewall-cmd --zone=public --permanent --add-service=mdns 
 firewall-cmd --zone=public --permanent --add-service=memcache 
 firewall-cmd --zone=public --permanent --add-service=minidlna 
 firewall-cmd --zone=public --permanent --add-service=mongodb 
 firewall-cmd --zone=public --permanent --add-service=mosh 
 firewall-cmd --zone=public --permanent --add-service=mountd 
 firewall-cmd --zone=public --permanent --add-service=mqtt 
 firewall-cmd --zone=public --permanent --add-service=mqtt-tls
 firewall-cmd --zone=public --permanent --add-service=ms-wbt 
 firewall-cmd --zone=public --permanent --add-service=mssql 
 firewall-cmd --zone=public --permanent --add-service=murmur 
 firewall-cmd --zone=public --permanent --add-service=mysql 
 firewall-cmd --zone=public --permanent --add-service=nbd 
 firewall-cmd --zone=public --permanent --add-service=netbios-ns 
 firewall-cmd --zone=public --permanent --add-service=nfs 
 firewall-cmd --zone=public --permanent --add-service=nfs3 
 firewall-cmd --zone=public --permanent --add-service=nmea-0183 
 firewall-cmd --zone=public --permanent --add-service=nrpe 
 firewall-cmd --zone=public --permanent --add-service=ntp 
 firewall-cmd --zone=public --permanent --add-service=nut 
 firewall-cmd --zone=public --permanent --add-service=openvpn 
 firewall-cmd --zone=public --permanent --add-service=ovirt-imageio 
 firewall-cmd --zone=public --permanent --add-service=ovirt-storageconsole 
 firewall-cmd --zone=public --permanent --add-service=ovirt-vmconsole 
 firewall-cmd --zone=public --permanent --add-service=plex 
 firewall-cmd --zone=public --permanent --add-service=pmcd 
 firewall-cmd --zone=public --permanent --add-service=pmproxy 
 firewall-cmd --zone=public --permanent --add-service=pmwebapi 
 firewall-cmd --zone=public --permanent --add-service=pmwebapis 
 firewall-cmd --zone=public --permanent --add-service=pop3 
 firewall-cmd --zone=public --permanent --add-service=pop3s 
 firewall-cmd --zone=public --permanent --add-service=postgresql 
 firewall-cmd --zone=public --permanent --add-service=privoxy 
 firewall-cmd --zone=public --permanent --add-service=prometheus 
 firewall-cmd --zone=public --permanent --add-service=proxy-dhcp 
 firewall-cmd --zone=public --permanent --add-service=ptp 
 firewall-cmd --zone=public --permanent --add-service=pulseaudio 
 firewall-cmd --zone=public --permanent --add-service=puppetmaster 
 firewall-cmd --zone=public --permanent --add-service=quassel 
 firewall-cmd --zone=public --permanent --add-service=radius 
 firewall-cmd --zone=public --permanent --add-service=rdp 
 firewall-cmd --zone=public --permanent --add-service=redis 
 firewall-cmd --zone=public --permanent --add-service=redis-sentinel 
 firewall-cmd --zone=public --permanent --add-service=rpc-bind 
 firewall-cmd --zone=public --permanent --add-service=rquotad 
 firewall-cmd --zone=public --permanent --add-service=rsh 
 firewall-cmd --zone=public --permanent --add-service=rsyncd 
 firewall-cmd --zone=public --permanent --add-service=rtsp 
 firewall-cmd --zone=public --permanent --add-service=salt-master 
 firewall-cmd --zone=public --permanent --add-service=samba 
 firewall-cmd --zone=public --permanent --add-service=samba-client 
 firewall-cmd --zone=public --permanent --add-service=samba-dc 
 firewall-cmd --zone=public --permanent --add-service=sane 
 firewall-cmd --zone=public --permanent --add-service=sip 
 firewall-cmd --zone=public --permanent --add-service=sips 
 firewall-cmd --zone=public --permanent --add-service=slp 
 firewall-cmd --zone=public --permanent --add-service=smtp 
 firewall-cmd --zone=public --permanent --add-service=smtp-submission 
 firewall-cmd --zone=public --permanent --add-service=smtps 
 firewall-cmd --zone=public --permanent --add-service=snmp 
 firewall-cmd --zone=public --permanent --add-service=snmptrap 
 firewall-cmd --zone=public --permanent --add-service=spideroak-lansync 
 firewall-cmd --zone=public --permanent --add-service=spotify-sync 
 firewall-cmd --zone=public --permanent --add-service=squid 
 firewall-cmd --zone=public --permanent --add-service=ssdp 
 firewall-cmd --zone=public --permanent --add-service=ssh 
 firewall-cmd --zone=public --permanent --add-service=steam-streaming 
 firewall-cmd --zone=public --permanent --add-service=svdrp 
 firewall-cmd --zone=public --permanent --add-service=svn 
 firewall-cmd --zone=public --permanent --add-service=syncthing 
 firewall-cmd --zone=public --permanent --add-service=syncthing-gui 
 firewall-cmd --zone=public --permanent --add-service=synergy 
 firewall-cmd --zone=public --permanent --add-service=syslog 
 firewall-cmd --zone=public --permanent --add-service=syslog-tls 
 firewall-cmd --zone=public --permanent --add-service=telnet 
 firewall-cmd --zone=public --permanent --add-service=tentacle 
 firewall-cmd --zone=public --permanent --add-service=tftp 
 firewall-cmd --zone=public --permanent --add-service=tile38 
 firewall-cmd --zone=public --permanent --add-service=tinc 
 firewall-cmd --zone=public --permanent --add-service=tor-socks 
 firewall-cmd --zone=public --permanent --add-service=transmission-client 
 firewall-cmd --zone=public --permanent --add-service=upnp-client 
 firewall-cmd --zone=public --permanent --add-service=vdsm 
 firewall-cmd --zone=public --permanent --add-service=vnc-server 
 firewall-cmd --zone=public --permanent --add-service=wbem-http 
 firewall-cmd --zone=public --permanent --add-service=wbem-https 
 firewall-cmd --zone=public --permanent --add-service=wireguard 
 firewall-cmd --zone=public --permanent --add-service=ws-discovery 
 firewall-cmd --zone=public --permanent --add-service=ws-discovery-client 
 firewall-cmd --zone=public --permanent --add-service=ws-discovery-tcp 
 firewall-cmd --zone=public --permanent --add-service=ws-discovery-udp 
 firewall-cmd --zone=public --permanent --add-service=wsman 
 firewall-cmd --zone=public --permanent --add-service=wsmans 
 firewall-cmd --zone=public --permanent --add-service=xdmcp 
 firewall-cmd --zone=public --permanent --add-service=xmpp-bosh 
 firewall-cmd --zone=public --permanent --add-service=xmpp-client 
 firewall-cmd --zone=public --permanent --add-service=xmpp-local 
 firewall-cmd --zone=public --permanent --add-service=xmpp-server 
 firewall-cmd --zone=public --permanent --add-service=zerotier
 firewall-cmd --reload

 echo "Firewall services added and reloaded"

7、停止防火墙:

 systemctl stop firewalld 

8、安装依赖:

 apt install -y socat
 apt install -y conntrack

9、下载kubekey:

 国外:
     curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.7 sh -
 国内:
     export KKZONE=cn
     curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.7 sh -

10、安装kubernetes和kubesphere:

 ./kk create cluster --with-kubernetes v1.23.15 --with-kubesphere v3.3.2

11、验证安装结果:

 kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

12、启动firewalld防火墙:

 systemctl start firewalld 

13、登录ks web ui界面:

 http://xxx.xxx.xxx.xxx:30880/login
 用户名:
     admin
 密码:
     P@88w0rd(默认

14、现在面临的问题:

复制 1创建保密字典中的dockerhub时,打开防火墙 http就不通,关闭防火墙就通了,没找到原因
 2进入Ks Web UI界面资源用量获取不上,没找到原因