升级truenas scale正式版以后,apt被屏蔽了——这么说不太恰当,其实是就是取消了执行权限,重新加回来就好了。
chmod +x /usr/bin/apt*
chmod +x /usr/bin/apt*
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
# 切换到超级用户
sudo -i
# 删除规则
rm -rf /etc/iptables
# 重启生效
reboot
# k8s 版本 1.15-1.18
sudo kubeadm alpha certs check-expiration
# k8s >=1.23
sudo kubeadm certs check-expiration
可以看到,证书已经过期了。会造成集群挂掉。
会有相关报错:
– failed to verify client's certificate: x509: certificate has expired or is not yet valid
– Unable to connect to the server: x509: certificate has expired or is not yet valid
– 6443 端口没有监听 等情况
# k8s 版本 1.15-1.18
sudo kubeadm alpha certs renew all
# k8s >=1.23
sudo kubeadm certs renew all
更新后,再查看证书的日期。就会发现已经刷新了一年。
cp /etc/kubernetes/admin.conf ~/.kube/config
sudo systemctl restart kubelet
这样的话, kubectl 命令就又恢复了。
journalctl -xefu kubelet
iptables -t nat -A OUTPUT -p tcp --dport 25 -j DNAT --to 10.0.0.10:10025
这里 将 25 端口出去的流量转发到了1025端口。
这里 10.0.0.10 为 代理服务器 的ip地址。
sudo apt-get install postfix
sudo tee /etc/postfix/main.cf<<EOF
inet_interfaces = all
#inet_interfaces = localhost
mynetworks = 0.0.0.0/0
EOF
sudo systemctl restart postfix
sudo tee smtp-proxy.sh<<EOF
#!/bin/bash
# 被允许的ip
IPS=(
129.1.1.1
132.2.2.2
132.3.3.3
)
for IP in {IPS[@]}
do
iptables -t nat -A PREROUTING -p tcp -s{IP} --dport 10025 -j REDIRECT --to-ports 25
iptables -A INPUT -p tcp -s ${IP} --dport 25 -j ACCEPT
done
EOF
sudo chmod +x smtp-proxy.sh
./smtp-proxy.sh
sudo ufw default deny
sudo ufw allow 10025
sudo ufw allow from 129.1.1.1
sudo ufw allow from 132.2.2.2
sudo ufw allow from 132.3.3.3
环境说明:
+ ubuntu 22.04
+ k8s 1.23.9
wget https://repo.radeon.com/amdgpu-install/22.20.3/ubuntu/jammy/amdgpu-install_22.20.50203-1_all.deb
sudo apt install ./amdgpu-install_22.20.50203-1_all.deb
sudo apt-get update
sudo amdgpu-install --usecase=dkms
# 安装完成后,必须重启一下
sudo reboot
ps: 需要开启 vt-d 功能,否则启动不了。
git clone https://github.com/intel/intel-device-plugins-for-kubernetes -b release-0.23
以ubuntu/debian 为例
找到 kubelet.service文件
vim /lib/systemd/system/kubelet.service
在
[Unit] 块中加入下面一行
After=docker.service
podman的网络使用的是 iptables 的转发。不支持ufw开放/禁用 端口。
开了ufw防火墙后,podman 转发的端口基本上就只能本地访问了。这是个大坑
ifconfig
执行后,可以找到一些 cni-popdman0 这种的interface。
使用iptables对所有的相关cni都转发一下 例如:
iptables -I FORWARD -p tcp ! -i cni-podman0 -o cni-podman0 -j ACCEPT
这样,即使开启着 ufw。你的podman的端口也能通过外部访问了。
不过不安全。这是全部转发的端口都允许了。所以只是临时方案。否则只能关闭ufw(不能接受)
/etc/default/ufw
修改 DEFAULT_FORWARD_POLICY
的值为 ACCEPT
sudo ufw reload
随着各大龙头企业对docker的打压,docker在逐渐死亡,尤其是k8s宣布完全脱离docker之后。因此我也尝试了一番 用podman来无损替代docker服务。
sudo apt-get purge docker*
Running `brew update --auto-update`...
fatal: It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase. If that is the
case, please try
git rebase (--continue | --abort | --skip)
If that is not the case, please
rm -fr ".git/rebase-merge"
and run me again. I am stopping in case you still have something
valuable there.