{"id":1984,"date":"2023-12-02T19:56:16","date_gmt":"2023-12-02T10:56:16","guid":{"rendered":"https:\/\/www.kwonline.org\/memo2\/?p=1984"},"modified":"2024-02-20T12:02:59","modified_gmt":"2024-02-20T03:02:59","slug":"run-minikube-docker-nvidia-gpu-on-ubuntu-22_04","status":"publish","type":"post","link":"https:\/\/www.kwonline.org\/memo2\/2023\/12\/02\/run-minikube-docker-nvidia-gpu-on-ubuntu-22_04\/","title":{"rendered":"Ubuntu 22.04: Minikube + docker \u3067 Nvidia GPU \u3092\u4f7f\u3046"},"content":{"rendered":"<p>&nbsp;<br \/>\n\u500b\u4eba\u7528\u306b GPU \u304c\u4f7f\u3048\u308b K8S \u74b0\u5883\u304c\u6b32\u3057\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>Docker<\/h3>\n<p>\u307e\u305a\u306f docker \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt install ca-certificates curl gnupg wget apt-transport-https -y\r\nsudo install -m 0755 -d \/etc\/apt\/keyrings\r\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg\r\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.gpg\r\necho &quot;deb &#x5B;arch=&quot;$(dpkg --print-architecture)&quot; signed-by=\/etc\/apt\/keyrings\/docker.gpg] https:\/\/download.docker.com\/linux\/ubuntu \\\r\n  &quot;$(. \/etc\/os-release &amp;&amp; echo &quot;$VERSION_CODENAME&quot;)&quot; stable&quot; | sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\r\nsudo apt update\r\nsudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\r\n<\/pre>\n<p>\u305d\u308c\u304b\u3089\u3001\u73fe\u5728\u306e\u30e6\u30fc\u30b6\u30fc\u3067\u3082 docker \u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo usermod -aG docker $USER\r\nsudo chmod 666 \/var\/run\/docker.sock\r\n<\/pre>\n<p>\u3053\u308c\u3067\u4e00\u65e6\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u3066\u3001\u518d\u30ed\u30b0\u30a4\u30f3\u3059\u308c\u3070 docker \u3092\u4f7f\u3048\u308b\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>Minikube<\/h3>\n<p>\u3064\u3065\u3044\u3066 Minikube \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncurl -LO https:\/\/storage.googleapis.com\/minikube\/releases\/latest\/minikube-linux-amd64\r\nsudo install minikube-linux-amd64 \/usr\/local\/bin\/minikube\r\n<\/pre>\n<p>kubectl \u3082\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncurl -LO https:\/\/storage.googleapis.com\/kubernetes-release\/release\/`curl -s https:\/\/storage.googleapis.com\/kubernetes-release\/release\/stable.txt`\/bin\/linux\/amd64\/kubectl\r\nchmod +x kubectl\r\nsudo mv kubectl \/usr\/local\/bin\/\r\n<\/pre>\n<h3>Nvidia GPU<\/h3>\n<p>\u6700\u5f8c\u306b Nvidia GPU \u95a2\u9023\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3002<br \/>\n\u5148\u306b Nvidia \u30c9\u30e9\u30a4\u30d0\u30fc\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u304f\u4e8b\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\necho &quot;net.core.bpf_jit_harden=0&quot; | sudo tee -a \/etc\/sysctl.conf\r\nsudo sysctl -p\r\n<\/pre>\n<p>Nvidia Container Toolkit \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncurl -fsSL https:\/\/nvidia.github.io\/libnvidia-container\/gpgkey | sudo gpg --dearmor -o \/usr\/share\/keyrings\/nvidia-container-toolkit-keyring.gpg\r\ncurl -s -L https:\/\/nvidia.github.io\/libnvidia-container\/stable\/deb\/nvidia-container-toolkit.list | \\\r\n    sed 's#deb https:\/\/#deb &#x5B;signed-by=\/usr\/share\/keyrings\/nvidia-container-toolkit-keyring.gpg] https:\/\/#g' | \\\r\n    sudo tee \/etc\/apt\/sources.list.d\/nvidia-container-toolkit.list\r\nsudo apt update\r\nsudo apt install -y nvidia-container-toolkit\r\n<\/pre>\n<p>Docker \u3067 Nvidia Container Tookit \u3092\u4f7f\u3046\u3088\u3046\u306b\u8a2d\u5b9a\u3059\u308b\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo nvidia-ctk runtime configure --runtime=docker\r\nsudo systemctl restart docker\r\n<\/pre>\n<p>\u6700\u5f8c\u306b Minikube \u3092\u8d77\u52d5<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nminikube start --driver docker --container-runtime docker --gpus all\r\n<\/pre>\n<h3>\u304a\u307e\u3051<\/h3>\n<p>minikube \u306e\u30c7\u30d5\u30a9\u30eb\u30c8 RAM \u306f 2GB \u306a\u306e\u3067\u3001\u3053\u308c\u3092 8GB \u306b\u5897\u3084\u3059\u3002<br \/>\n\u3042\u3068 CPU \u30b3\u30a2\u3082\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 2 \u306a\u306e\u3067\u3053\u308c\u3092 4 \u306b\u3059\u308b\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nminikube config set memory 8192\r\nminikube config set cpus 4\r\nminikube config view\r\n# - cpus: 4\r\n# - memory: 8192\r\n<\/pre>\n<p>config \u3092\u5909\u3048\u305f\u3089 minikube \u30af\u30e9\u30b9\u30bf\u3092\u524a\u9664\u3057\u3066\u304b\u3089\u518d\u8d77\u52d5\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nminikube delete\r\nminikube start --driver docker --container-runtime docker --gpus all\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; \u500b\u4eba\u7528\u306b GPU \u304c\u4f7f\u3048\u308b K8S \u74b0\u5883\u304c\u6b32\u3057\u304b\u3063\u305f\u306e\u3067\u30e1\u30e2\u3002 &nbsp; Docker \u307e\u305a\u306f docker \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb sudo apt install ca-certificates curl  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,32,8,29],"tags":[],"class_list":["post-1984","post","type-post","status-publish","format-standard","hentry","category-docker","category-kubernetes","category-linux","category-python"],"_links":{"self":[{"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/posts\/1984","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/comments?post=1984"}],"version-history":[{"count":6,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/posts\/1984\/revisions"}],"predecessor-version":[{"id":2112,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/posts\/1984\/revisions\/2112"}],"wp:attachment":[{"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/media?parent=1984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/categories?post=1984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kwonline.org\/memo2\/wp-json\/wp\/v2\/tags?post=1984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}