分享个好玩的,在k8s上部署web版macos

参考github上这个项目dockur/macos

先拉取docker镜像

docker pull dockurr/macos

使用这个yaml文件进行部署

复制代码
apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/bound-by-controller: "yes"
    name: macos-pvc
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 64Gi
  claimRef:
    apiVersion: v1
    kind: PersistentVolumeClaim
    name: macos-pvc
    namespace: macos
  hostPath:
    path: /data/macos
    type: DirectoryOrCreate
  persistentVolumeReclaimPolicy: Retain
  volumeMode: Filesystem

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: macos-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 64Gi
---
apiVersion: v1
kind: Pod
metadata:
  name: macos
  labels:
    name: macos
spec:
  terminationGracePeriodSeconds: 120 # the Kubernetes default is 30 seconds and it may be not enough
  containers:
    - name: macos
      image: dockurr/macos
      ports:
        - containerPort: 8006
          protocol: TCP
        - containerPort: 5000
          protocol: TCP
        - containerPort: 5000
          protocol: UDP
      securityContext:
        privileged: true
      env:
        - name: RAM_SIZE
          value: 4G
        - name: CPU_CORES
          value: "2"
        - name: DISK_SIZE
          value: "64G"
      volumeMounts:
        - mountPath: /storage
          name: storage
        - mountPath: /dev/kvm
          name: dev-kvm
  volumes:
    - name: storage
      persistentVolumeClaim:
        claimName: macos-pvc
    - name: dev-kvm
      hostPath:
        path: /dev/kvm
---
apiVersion: v1
kind: Service
metadata:
  name: macos
spec:
  type: NodePort
  selector:
    name: macos
  ports:
    - name: tcp-8006
      protocol: TCP
      port: 8006
      targetPort: 8006
    - name: tcp-5900
      protocol: TCP
      port: 5900
      targetPort: 5900
    - name: udp-5900
      protocol: UDP
      port: 5900
      targetPort: 5900

等待部署完成,查找service的端口

访问页面,使用VNC桌面有点卡顿

相关推荐
伴野星辰1 分钟前
Pycharm打包教程:电脑(windows / macos)+ 手机(安卓 / IOS)全流程
macos·智能手机·pycharm
han_16 分钟前
JavaScript设计模式(十):模板方法模式实现与应用
前端·javascript·设计模式
得物技术19 分钟前
立正请站好:一个组件复用 Skill 的工程化实践|得物技术
前端·架构·ai编程
marsh020620 分钟前
32 openclaw容器化部署:Docker与Kubernetes集成指南
docker·ai·容器·kubernetes·编程·技术
简单点了24 分钟前
mac安装wireshark
测试工具·macos·wireshark
攀登的牵牛花27 分钟前
OpenClaw 的内心独白,关于最近很火的Harness?
前端·openai
浩星28 分钟前
electron系列8之Electron + Vue 3:构建现代化桌面应用(下)
前端·vue.js·electron
西西学代码30 分钟前
查找设备页面(amap_map)
开发语言·前端·javascript
tang74516396237 分钟前
mac的ideal中调用driver = webdriver.Chrome() 启动不了的原因
chrome·python·macos
m0_7381207237 分钟前
渗透测试基础ctfshow——Web应用安全与防护(四)
前端·安全·web安全·网络安全·flask·弱口令爆破