<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          真是活久見,在 Minecraft 的虛擬游戲里竟然還能管理 Kubernetes!

          共 5978字,需瀏覽 12分鐘

           ·

          2020-10-10 05:52


          更多奇技淫巧歡迎訂閱博客:https://fuckcloudnative.io

          微軟 2015 年收購 Minecraft 之后不久開源了一個項(xiàng)目叫 Dockercraft[1],這個項(xiàng)目當(dāng)時看起來非常有趣,通過 Dockercraft[2],玩家可以在 Minecraft 中啟動或停止一個 Docker 容器,而 Docker 容器會以一個 N*N 的方塊房子的方式顯示在玩家面前,每一棟房子都代表一個 Docker 容器。

          房子的外面掛著顯示容器信息的看板,包括容器的名稱、正在運(yùn)行的進(jìn)程、CPU 與內(nèi)存的使用率等信息。

          房子里面是管理容器的開關(guān),扳動墻上的開關(guān)可以停止和啟動容器,這對于碼農(nóng)來說是一個非常有趣的服務(wù)器。

          我尋思著,既然有了 Dockercraft,怎么能沒有 Kubecraft 呢?Google 搜了下還真有,項(xiàng)目名字正好就叫 Kubecraft[3]。它的功能和 Dockercraft 類似,可以管理 Kubernetes 集群中的容器,每一個房子代表一個 Pod,房子里面有開關(guān)可以銷毀 Pod,真是太好玩了(太無聊了......)。

          官方倉庫[4]給的部署方式是用 Docker 跑的,命令如下:

          $ docker run -t -d -i -p 25565:25565 \
          --name kubecraft \
          -e KUBE_CFG_FILE=/etc/kubeconfig \
          -v ~/.kube/config:/etc/kubeconfig \
          stevesloka/kubecraft

          如果想部署在 Kubernetes 中,可以參考下面的部署清單:

          apiVersion: apps/v1
          kind: Deployment
          metadata:
            name: kubecraft
            labels:
              app: kubecraft
          spec:
            replicas: 1
            selector:
              matchLabels:
                app: kubecraft
            template:
              metadata:
                labels:
                  app: kubecraft
              spec:
                affinity:
                  podAntiAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                    - podAffinityTerm:
                        labelSelector:
                          matchExpressions:
                          - key: app
                            operator: In
                            values:
                            - kubecraft
                        topologyKey: kubernetes.io/hostname
                      weight: 1
                tolerations:
                - key: node-role.kubernetes.io/ingress
                  operator: Exists
                  effect: NoSchedule
                containers:
                - name: kubecraft
                  image: stevesloka/kubecraft
                  tty: true
                  stdin: true
                  env:
                  - name: KUBE_CFG_FILE
                    value: /etc/kubeconfig
                  ports:
                  - containerPort: 25565
                    protocol: TCP
                  volumeMounts:
                  - mountPath: /etc/kubeconfig
                    subPath: kubeconfig
                    name: kubeconfig
                volumes:
                - name: kubeconfig
                  configMap:
                    name: kubeconfig
          ---
          apiVersion: v1
          kind: Service
          metadata:
            name: kubecraft
            labels:
              app: kubecraft
          spec:
            selector:
              app: kubecraft
            ports:
              - protocol: TCP
                name: http
                port: 25565
                targetPort: 25565

          一定要加上 tty: truestdin:true,不然容器無法啟動!

          你還需要先創(chuàng)建一個 Configmap 來保存 kubeconfig,例如:

          $ kubectl create cm kubeconfig --from-file=/root/.kube/config

          然后就可以愉快地部署了。

          除了 Kubecraft 之外,還有一個項(xiàng)目叫 KubeCraftAdmin,功能上并沒有什么太大的差異,只是每一個動物代表一個 Pod,你只要干掉一只雞?,Kubernetes 中的 Pod 就被干死了,刺不刺激?

          最后,如果你對該項(xiàng)目感興趣,公眾號后臺回復(fù) kubecraftadmin 即可獲取 KubeCraftAdmin 項(xiàng)目地址。

          參考資料

          [1]

          Dockercraft: https://github.com/docker/dockercraft

          [2]

          Dockercraft: https://github.com/docker/dockercraft

          [3]

          Kubecraft: https://github.com/stevesloka/kubecraft

          [4]

          官方倉庫: https://github.com/stevesloka/kubecraft


          你可能還喜歡

          點(diǎn)擊下方圖片即可閱讀

          重新奪回對 /etc/resolv.conf 的控制權(quán)

          云原生是一種信仰 ?



          碼關(guān)注公眾號

          后臺回復(fù)?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!



          點(diǎn)擊 "閱讀原文" 獲取更好的閱讀體驗(yàn)!

                   
          ??給個「在看」,是對我最大的支持??
          瀏覽 19
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕无码在线播放 | 欧美成人在线观看网站 | 暖暖高清视频日本中文www | 成人黄色免费网站 | 毛片一区二区 |