K3S 上部署 vArmor

admin 2023年12月18日14:48:44评论16 views字数 2585阅读8分37秒阅读模式

前言

目前,vArmor 仅兼容 containerd 环境,所以 K3S 不要设置成启动 docker,按下面步骤默认就行。K3S 上部署 vArmor

两台 ubuntu22.04 虚拟机,一台做 master,一台做 worker,两台虚拟机之间通信正常。


安装 K3S

机器 master 上安装 master 节点

curl –sfL      https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh |      INSTALL_K3S_MIRROR=cn sh -s -      --system-default-registry "registry.cn-hangzhou.aliyuncs.com"      --write-kubeconfig ~/.kube/config      --write-kubeconfig-mode 666      --disable traefik

如果出现下图信息, apt update apt install policycoreutils,再重新执行上面的安装命令。K3S 上部署 vArmor

成功安装,K3S 上部署 vArmor


其他的一些设置

# 配置 containerd 的 mirrorcat > /etc/rancher/k3s/registries.yaml <<EOFmirrors:  docker.io:    endpoint:      - "http://hub-mirror.c.163.com"      - "https://docker.mirrors.ustc.edu.cn"      - "https://registry.docker-cn.com"EOF
systemctl restart k3s
# 开机自启systemctl enable k3s --now
# 启动服务systemctl start k3s systemctl status k3s

机器 worker1 上安装 worker 节点

查看 master 节点的 ip

kubectl get nodes -o wide

获取 master 节点的 token

cat /var/lib/rancher/k3s/server/node-token

填入下方命令

要保证两台机器网络互通。

apt updateapt install policycoreutils
curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | K3S_KUBECONFIG_OUTPUT=~/.kube/config INSTALL_K3S_MIRROR=cn K3S_URL=https://192.168.171.1:6443 K3S_TOKEN=K10b877a0f89a40de60d362d986d71543a66d66558ed8e731c6b3fc2e4d4e67b749::server:0266ee37851c8550c51d3afb634aeeea sh -

K3S 上部署 vArmor

K3S 上部署 vArmor

添加 worker 角色标签

kubectl label node worker1 node-role.kubernetes.io/worker=true --overwrite

K3S 上部署 vArmor

其他的一些设置

// 开机自启systemctl daemon-reloadsystemctl enable k3s-agent
// 启动服务systemctl start k3s-agentsystemctl status k3s-agent
// 重启服务systemctl restart k3s-agent
// agent 查看配置信息,可以进行修改vim /etc/systemd/system/k3s-agent.service.env

卸载 K3S

# 一键卸载 server
k3s-uninstall.sh

# 一键卸载 agent
k3s-agent-uninstall.sh


安装 helm

wget https://get.helm.sh/helm-v3.13.2-linux-amd64.tar.gztar -zxvf helm-v3.13.2-linux-amd64.tar.gzcp linux-amd64/helm /usr/local/bin/helm versionhelm ls

K3S 上部署 vArmor


安装 vArmor

拉取 chart 包

helm pull oci://elkeid-cn-beijing.cr.volces.com/varmor/varmor --version 0.5.4


安装

这里是 k3s + containerd 环境的安装命令,和项目中【快速上手】给出 k8s + containerd 环境的命令不一样,原因请看 https://github.com/bytedance/vArmor/issues/9

防御全开,

K3S 上部署 vArmor

K3S 上部署 vArmor


环境部署到这里,我目前的资源使用情况如下,还行,我这小小办公电脑顶得住。

K3S 上部署 vArmor


示例测试

# 创建测试命名空间kubectl create ns demo
# 创建 VarmorPolicy,对符合 .spec.target.selector 的 Deployment 开启 AlwaysAllow 模式沙箱kubectl create -f test/demo/1/policy-init.yaml
# 查看 VarmorPolicy & ArmorProfile 状态kubectl get VarmorPolicy -n demokubectl get ArmorProfile -n demo
# 创建 Deploymentkubectl create -f test/demo/1/deploy.yaml
# 获取 Pod namePOD_NAME=$(kubectl get Pods -n demo -l app=demo-1 -o name)
# 在 c1 容器中执行命令,读取 secret tokenkubectl exec -n demo $POD_NAME -c c1 -- cat /run/secrets/kubernetes.io/serviceaccount/token

K3S 上部署 vArmor

# 更新 VarmorPolicy 策略,禁止 Deployment 读取 secret tokenkubectl apply -f test/demo/1/policy.yaml
# 在 c1 容器中执行命令,读取 secret token,验证读取行为被禁止kubectl exec -n demo $POD_NAME -c c1 -- cat /run/secrets/kubernetes.io/serviceaccount/token

K3S 上部署 vArmor


原文始发于微信公众号(安全小将李坦然):K3S 上部署 vArmor

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月18日14:48:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   K3S 上部署 vArmorhttp://cn-sec.com/archives/2257738.html

发表评论

匿名网友 填写信息