多K8S集群运维管理参考

多K8S集群运维管理参考,第1张

可以通过--kubeconfig 命令行参数来选择操作不同集群

使用默认的 kubeconfig 文件, 需要将多个 kubeconfig 合并,保存在kubeconfig 的默认位置 $HOME/.kube/config , 合并后的参考格式如下:

kubeconfig 中定义了 (clusters)集群、(users)用户和 以及相关联的(contexts)上下文,如果使用Uk8s 可以在控制台: 概览->内网凭证/外网凭证 查看需要的凭证,然后按照上述格式补全即可

方式三:使用ansible Playbook 来管理集群内的容器应用

场景描述: 目前我们需要使用helm安装一个external-dns 用来将 ingess对接的域名解析规则,自动同步到DNS服务器,使用shell命令操作参考如下:

将以上操作转化为 ansible-playbook 的tasks 可以拆分为四个 tasks ,

将上诉文件保存为 deploy_external_dns.yaml, 执行命令 ansible-playbook deploy_external_dns.yaml 命令执行成功回看到返回如下类似结果:

方式四:使用ansible-playbook roles来组织管理集群变更tasks

在方式三中,如果是管理一个集群,编写一个deploy_external_dns.yaml就能完成工作,如果管理多个集群,就要编写多个yaml文件,并且重复编写很多差异不多的tasks 实际操作可能类似这个样子:

经过对比分析,这些tasks 主要差异变量:

只要将以上两个变量参考可配置化,最原始的四个 tasks就可以复用,然后使用 Ansible role 重新组织tasks 文件,拆分为两个role:

其中 external_dns 依赖 helm-repository 然后目录结构如下

roles/helm-repository/main.yml

roles/external-dns/tasks/main.yml

roles/external-dns/meta/main.yml

新建一个文件 deploy-chart-external-dns 来引用 role:helm-repository

最后,仅仅需要维护一个可复用的 role:helm-repository ,以及在deploy-chart-external-dns 定义要集群属性等变量,就可以轻松的维护多集群内的各类容器应用了

执行命令:ansible-playbook deploy-chart-external-dns 返回结果如下:

    在局域网中的Linux服务器集群,为了保障运维安全,只能从堡垒机登录到各个Linux服务器。那么需要对Linux服务器集群进行安全加固,限制访问权限。在堡垒机上可以部署脚本来记录用户操作的审计日志(详情参考笔者的文章),那么整个局域网的Linux服务器集群的安全性就可以大大提高。

    堡垒机作用明显,其提供运维统一入口和安全审计功能,切断直接访问和事后审计定责,解决“运维混乱”变得“运维有序” 。

   下面是三种方法总结。分别从服务端,系统端、防火墙端来完成只允许堡垒机SSH登录的功能。

1、/etc/ssh/sshd_config

    修改添加AllowUsers到ssh配置文件/etc/ssh/sshd_config  :

    AllowUsers myuser@20.132.4.*

    然后重启 sshd服务:systemctl restart sshd

2、hosts.allow与hosts.deny

    修改/etc/hosts.deny中添加设置 sshd : ALL ,拒绝所有的访问;

    修改/etc/hosts.allow,添加设置sshd : 20.132.4.* ,单独开启某个IP地址 。

    这两个文件优先级为先检查hosts.deny,再检查hosts.allow。

    更加详细信息参考笔者的文章-Linux中hosts.allow与hosts.deny  。

3、iptables防火墙

    tcp协议中,禁止所有的ip访问本机的22端口。

    iptables -I INPUT -p tcp--dport 22 -j DROP

    只允许20.132.4.* 访问本机的22端口

    iptables  -I  INPUT  -s  20.132.4.*   -ptcp  --dport  22  -j   ACCEPT

    另外/etc/pam.d/sshd也可以提供访问控制功能,调用的pam_access.so模块是根据主机名、IP地址和用户实现全面的访问控制,pam_access.so模块的具体工作行为根据配置文件/etc/security/access.conf来决定。但是囿于资料过少,待以后遇到再解决把。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/427327.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-26
下一篇2023-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存