K8S-Kubernetes 管理工具(8)

工具叫 Portainer,只需要在官网上下载一个配置文件,然后 apply 这个文件就好了。

那么问题来了,我们用 Windows 下载的文件怎么上传到虚拟机?

使用scp命令scp \path\of\your\file username@ip:/dir

如果是直接复制到根目录可以scp \path\of\your\file ubuntu@172.22.94.170:注意冒号不能省

有了配置文件后执行sudo kubectl apply -n portainer -f portainer.yaml

注意这里有个-n portainer参数,-n 用来指定命名空间

n 代表 Namespace,命名空间,一种将 Kubernetes 资源进行分组的机制,相当于把一个 Kubernetes 集群划分成多个空间,不同的项目或团队可以在各自的空间上独立工作互不干扰,不同命名空间中的资源也可以同名。

适用于多租户环境(又学一个高级词),突然反应过来云服务器是怎么运行的了,把一个节点划分多个 Namespace,然后就可以租给多个用户了

如果看教程看入迷了,启动了 portainer 之后过了五分钟没登录的话,再去浏览器访问 portainer 会收到提示 Your Portainer instance timed out for security purposes. To re-enable your Portainer instance, you will need to restart Portainer. 这时候要重启服务,直接重新 apply 一下就好了sudo kubectl apply -n portainer -f portainer.yaml,但这样还是得每五分钟去弄一下它。找到一个一劳永逸的方法。改一下 portainer.yaml 文件的检查周期livenessProbe.periodSeconds,改完记得重新 apply 一下。

livenessProbe:
  httpGet:
    path: /
  periodSeconds: 3600  # 修改这里的值,单位为秒,比如修改为600表示每10分钟检查一次

这样改完就是每一小时检查一次活跃了。界面如下。

 

报错合集

launch failed: Remote "" is unknown or unreachable.

我没猜错的话你的电脑里有梯子,而且你魔法上网了,出现这个报错就说明连不上远程,你开梯子的时候会修改 host 文件,导致 multipass 连接 Remote 的时候无法正确 IP,用火绒的网络诊断工具诊断并修理一下就好了。

ubuntu@ip: Permission denied (publickey)

确保 sshd 配置文件里以下三个选项都是 yes

PubkeyAuthentication yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
KbdInteractiveAuthentication yes

Bad permissions. Try removing permissions for user: \\Everyone (S-1-1-0) on file C:/Users/LittleGuai/.ssh/id_rsa.

我不是配置了免密登录了吗?怎么还要输入密码?别急,读一下报错信息。

 

这个报错是因为本地私钥的文件权限放得太开了(too open), 要求私钥文件只能由当前用户访问。

先用 $env:username查看当前用户名,记住这个用户名,后面有用

PS C:\Users\LittleGuai> $env:username
姚小怪

进入C:\Users\LittleGuai\.ssh按下面操作,这里的所有者(Owner)就是文件的创建人,主体(Principal)就是可以访问私钥文件的用户,就是因为可访问的用户太多所以系统认定这个文件不安全,所以要把主体全部删掉(或者可以尝试禁用他们的权限),这样被删掉的主体就访问不了文件了。

再把所有者改为当前用户(如果跟前面查到的一样可以不用改),主体中添加当前用户就可以了。

Windows PowerShell 下常用命令

注意:PowerShell 和普通的 cmd 不一样,命令也不一样

列出环境变量:Get-ChildItem Env:

查看某个环境变量值:$env:变量名

 

posted @ 2025-07-11 21:34  arroa  阅读(35)  评论(0)    收藏  举报