{"id":839,"date":"2020-08-28T20:57:13","date_gmt":"2020-08-28T11:57:13","guid":{"rendered":"http:\/\/blog.kanotype.net\/?p=839"},"modified":"2020-08-28T20:59:44","modified_gmt":"2020-08-28T11:59:44","slug":"virtualbox%e3%81%a7kubernetes%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89","status":"publish","type":"post","link":"https:\/\/blog.kanotype.net\/?p=839","title":{"rendered":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">VirtualBox\u5229\u7528\u3057\u3066\u3001Kubernetes\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<!--more \u7d9a\u304d\u3092\u8aad\u3080-->\n\n\n\n<p class=\"wp-block-paragraph\">\u69cb\u7bc9\u3059\u308bKubernetes\u74b0\u5883\u306f1 Control Plane + 1 Worker Node\u74b0\u5883\u3067\u3059\u3002Kubernetes\u306eOS\u306fUbuntu Server\u3092\u5229\u7528\u3057\u307e\u3059\u3002\u57fa\u672c\u7684\u306b\u306f<a href=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/tools\/kubeadm\/install-kubeadm\/\" data-type=\"URL\" data-id=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/tools\/kubeadm\/install-kubeadm\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kubernetes\u516c\u5f0f\u30de\u30cb\u30e5\u30a2\u30eb<\/a>\u901a\u308a\u3067\u3059\u304c\u3001\u4e00\u90e8\u8ffd\u52a0\u8a2d\u5b9a\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5fc5\u8981\u306a\u3082\u306e\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.virtualbox.org\/\" data-type=\"URL\" data-id=\"https:\/\/www.virtualbox.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">VirtualBox<\/a> (6.1.12)<\/li><li><a href=\"https:\/\/jp.ubuntu.com\/download\" data-type=\"URL\" data-id=\"https:\/\/jp.ubuntu.com\/download\" target=\"_blank\" rel=\"noreferrer noopener\">Ubuntu Server<\/a> LTS 20.04 \u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306fControl Plane\u7528\u306eVM\u3092\u4f5c\u308a\u307e\u3059\u3002VirtualBox\u3092\u904b\u7528\u3059\u308bPC\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306bNetwork Adapter\u306fBridged Adapter\u306b\u3057\u307e\u3059\u3002\u540d\u524d\u306fk8s-control-plane\u306b\u8a2d\u5b9a\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">k8s-control-plane\u306bUbuntu Server\u306eiso\u30d5\u30a1\u30a4\u30eb\u3092\u30de\u30a6\u30f3\u30c8\u3057\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d\u306bhostname\u3092\u805e\u304b\u308c\u305f\u3089VM\u540d\u3068\u540c\u3058k8s-control-plane\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u307e\u305fOpenSSH\u3082\u6709\u52b9\u306b\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u305d\u306e\u4ed6\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002(\u7279\u306bDocker\u3001Docker\u306f\u5f8c\u3067Kuberentes\u3068\u4e00\u7dd2\u306bapt\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OS\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u3063\u305f\u3089\u3001\u672c\u683c\u7684\u306bKubernetes\u306b\u5fc5\u8981\u306a\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306fswap\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo swapoff -a<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u8a18\u3060\u3051\u3060\u3068\u3001\u518d\u8d77\u52d5\u3057\u305f\u3068\u304d\u306bswap\u304c\u307e\u305f\u6709\u52b9\u306b\u306a\u308b\u306e\u3067fstab\u8a2d\u5b9a\u3082\u5909\u66f4\u3057\u3001\u30d6\u30fc\u30c8\u6642\u306eswap\u3082\u7121\u52b9\u306b\u3057\u307e\u3059\u3002(\/etc\/fstab\u304b\u3089swap\u30d1\u30fc\u30c6\u30a3\u30b7\u30e7\u30f3\u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo sed -ri '\/\\sswap\\s\/s\/^#?\/#\/' \/etc\/fstab<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306b\u3001Kuberentes\u52d5\u4f5c\u306b\u5fc5\u8981\u306a\u30dd\u30fc\u30c8\u3092firewall\u304b\u3089\u8a31\u53ef\u3057\u307e\u3059\u3002\u3064\u3044\u3067\u306bSSH\u30dd\u30fc\u30c8\u3082\u8a31\u53ef\u3057\u3066\u30ea\u30e2\u30fc\u30c8\u304b\u3089SSH\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002(Visual Studio Code Remote SSH + Kubernetes\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u4f7f\u3046\u305f\u3081)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw limit ssh\nsudo ufw allow 6443\/tcp\nsudo ufw allow 2379:2380\/tcp\nsudo ufw allow 10250:10252\/tcp\nsudo ufw allow 8285\/udp\nsudo ufw allow 8472\/udp\nsudo ufw --force enable <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u203b UDP 8285, 8472\u30dd\u30fc\u30c8\u3092\u8a31\u53ef\u3057\u306a\u3044\u3068\u3001Kubernetes\u306e<a rel=\"noreferrer noopener\" href=\"https:\/\/coreos.com\/flannel\/docs\/latest\/flannel-config.html\" data-type=\"URL\" data-id=\"https:\/\/coreos.com\/flannel\/docs\/latest\/flannel-config.html\" target=\"_blank\">flannel<\/a>\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u52d5\u4f5c\u3057\u306a\u304f\u306a\u308aPod\u304b\u3089\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u30a2\u30af\u30bb\u30b9\u304c\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306b\u3001Kubernetes\u304c\u5229\u7528\u3059\u308b\u30b3\u30f3\u30c6\u30ca\u30a8\u30f3\u30b8\u30f3\u3067\u3042\u308bDocker\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002(<a href=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/container-runtimes\/\" data-type=\"URL\" data-id=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/container-runtimes\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u516c\u5f0f\u30de\u30cb\u30e5\u30a2\u30eb<\/a>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update &amp;&amp; sudo apt-get install -y \\\n  apt-transport-https ca-certificates curl software-properties-common gnupg2\n\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo apt-key add -\n\nsudo add-apt-repository \\\n  \"deb &#91;arch=amd64] https:\/\/download.docker.com\/linux\/ubuntu \\\n  $(lsb_release -cs) \\\n  stable\"\n\nsudo apt-get update &amp;&amp; sudo apt-get install -y \\\n  containerd.io docker-ce docker-ce-cli\n\ncat &lt;&lt;EOF | sudo tee \/etc\/docker\/daemon.json\n{\n  \"exec-opts\": &#91;\"native.cgroupdriver=systemd\"],\n  \"log-driver\": \"json-file\",\n  \"log-opts\": {\n    \"max-size\": \"100m\"\n  },\n  \"storage-driver\": \"overlay2\"\n}\nEOF\n\nsudo mkdir -p \/etc\/systemd\/system\/docker.service.d\nsudo systemctl daemon-reload\nsudo systemctl restart docker\nsudo systemctl enable docker<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Docker\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u3063\u305f\u3089\u3001\u3044\u3088\u3044\u3088Kubernetes\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u3059\u3002(<a rel=\"noreferrer noopener\" href=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/tools\/kubeadm\/install-kubeadm\/\" data-type=\"URL\" data-id=\"https:\/\/kubernetes.io\/docs\/setup\/production-environment\/tools\/kubeadm\/install-kubeadm\/\" target=\"_blank\">Kubernetes\u516c\u5f0f\u30de\u30cb\u30e5\u30a2\u30eb<\/a>)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306fKubernetes\u52d5\u4f5c\u306b\u5fc5\u8981\u306a\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat &lt;&lt;EOF | sudo tee \/etc\/sysctl.d\/k8s.conf\nnet.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1\nEOF\n\nsudo sysctl --system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u3057\u3066Kubernetes\u306e\u5404\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002(kubelet, kubeadm, kubectl)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt-get update &amp;&amp; sudo apt-get install -y apt-transport-https curl\n\ncurl -s https:\/\/packages.cloud.google.com\/apt\/doc\/apt-key.gpg | sudo apt-key add -\n\ncat &lt;&lt;EOF | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\ndeb https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\nEOF\n\nsudo apt-get update &amp;&amp; sudo apt-get install -y kubelet kubeadm kubectl\nsudo apt-mark hold kubelet kubeadm kubectl<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u3063\u305f\u3089\u3001\u3053\u306eVM\u3092Control Plane\u3068\u3057\u3066\u4f7f\u3046\u3088\u3046\u306b\u521d\u671f\u5316\u3092\u884c\u3044\u307e\u3059\u3002flannel\u5229\u7528\u306e\u305f\u3081\u3001Pod\u306eCIDR\u309210.244.0.0\/16\u306b\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u3067\u30d1\u30e9\u30e1\u30fc\u30bf\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo kubeadm init --pod-network-cidr=10.244.0.0\/16<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u521d\u671f\u5316\u4f5c\u696d\u306e\u30ed\u30b0\u306e\u6700\u5f8c\u306bWorker Node\u306e\u8a2d\u5b9a\u306b\u5fc5\u8981\u306a\u30b3\u30de\u30f3\u30c9\u304c\u51fa\u529b\u3055\u308c\u308b\u306e\u3067\u30b3\u30d4\u30fc\u3057\u3066\u304a\u304d\u307e\u3059\u3002(kubeadm join ~)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">kubectl\u4f7f\u7528\u306b\u5fc5\u8981\u306a\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002(<a rel=\"noreferrer noopener\" href=\"https:\/\/qiita.com\/nnagashima\/items\/d7deb00d086b6e276eea\" data-type=\"URL\" data-id=\"https:\/\/qiita.com\/nnagashima\/items\/d7deb00d086b6e276eea\" target=\"_blank\">\u51fa\u5178<\/a>)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p $HOME\/.kube\nsudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config\nsudo chown $(id -u):$(id -g) $HOME\/.kube\/config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\u306bflannel\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl apply -f https:\/\/raw.githubusercontent.com\/coreos\/flannel\/master\/Documentation\/kube-flannel.yml<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c11\u3057\u5f85\u3063\u3066\u304b\u3089\u3001\u6b63\u5e38\u306bKubernetes\u304c\u52d5\u3044\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get node\nkubectl get pod -n kube-system<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3067Control Plane\u306eVM\u6e96\u5099\u306f\u7d42\u308f\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Worker Node\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306fControl Plane\u3068\u307b\u307c\u4e00\u7dd2\u3067\u3059\u3002k8s-node-0\u3068\u3044\u3046\u540d\u524d\u3067VM\u3092\u4f5c\u308a\u3001Ubuntu Server\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057Control Plane\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u540c\u3058\u624b\u9806\u3092Kubernetes\u306e\u5404\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u307e\u3067\u884c\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u8a31\u53ef\u3059\u308b\u30dd\u30fc\u30c8\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5909\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw limit ssh\nsudo ufw allow 10250\/tcp\nsudo ufw allow 30000:32767\/tcp\nsudo ufw allow 8285\/udp\nsudo ufw allow 8472\/udp\nsudo ufw --force enable <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u307e\u3067\u7d42\u308f\u3063\u305f\u3089\u3001Control Plane\u306ekubeadm init\u30b3\u30de\u30f3\u30c9\u306e\u30ed\u30b0\u3067\u30b3\u30d4\u30fc\u3057\u305fkubeadm join\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo kubeadm join ...<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u304c\u6210\u529f\u3057\u305f\u3089\u3001Control Plane\u306eVM\u304b\u3089\u6b63\u3057\u304fWorker Node\u304c\u63a5\u7d9a\u3055\u308c\u305f\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kubectl get node<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">k8s-control-plane, k8s-node-0\u30ce\u30fc\u30c9\u304c\u4e21\u65b9\u3068\u3082Ready\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u308c\u3070\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306f\u7d42\u4e86\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3067VirtualBox\u306e\u74b0\u5883\u306bKubernetes\u3092\u69cb\u7bc9\u3067\u304d\u307e\u3057\u305f\u3002VM\u306eSnapshot\u6a5f\u80fd\u3092\u5229\u7528\u3057\u3066\u3044\u3064\u3067\u3082\u72b6\u614b\u3092\u623b\u305b\u308b\u306e\u3067\u3001\u3044\u308d\u3044\u308d\u81ea\u7531\u306b\u30c6\u30b9\u30c8\u3067\u304d\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VirtualBox\u5229\u7528\u3057\u3066\u3001Kubernetes\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[100],"tags":[32,118,119,120],"class_list":["post-839","post","type-post","status-publish","format-standard","hentry","category-100","tag-ubuntu","tag-kubernetes","tag-docker","tag-virtualbox","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.kanotype.net\/?p=839\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0\" \/>\n<meta property=\"og:description\" content=\"VirtualBox\u5229\u7528\u3057\u3066\u3001Kubernetes\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.kanotype.net\/?p=839\" \/>\n<meta property=\"og:site_name\" content=\"\u30ab\u30ce\u30d6\u30ed\u30b0\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-28T11:57:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-08-28T11:59:44+00:00\" \/>\n<meta name=\"author\" content=\"KanoT\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"KanoT\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839\"},\"author\":{\"name\":\"KanoT\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/#\\\/schema\\\/person\\\/4ad86ae071b384c7de0b93a63002856d\"},\"headline\":\"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9\",\"datePublished\":\"2020-08-28T11:57:13+00:00\",\"dateModified\":\"2020-08-28T11:59:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839\"},\"wordCount\":126,\"commentCount\":0,\"keywords\":[\"ubuntu\",\"Kubernetes\",\"Docker\",\"VirtualBox\"],\"articleSection\":[\"\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\"],\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.kanotype.net\\\/?p=839#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839\",\"url\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839\",\"name\":\"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/#website\"},\"datePublished\":\"2020-08-28T11:57:13+00:00\",\"dateModified\":\"2020-08-28T11:59:44+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/#\\\/schema\\\/person\\\/4ad86ae071b384c7de0b93a63002856d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.kanotype.net\\\/?p=839\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/?p=839#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/blog.kanotype.net\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/#website\",\"url\":\"https:\\\/\\\/blog.kanotype.net\\\/\",\"name\":\"\u30ab\u30ce\u30d6\u30ed\u30b0\",\"description\":\"\u5404\u7a2e\u77e5\u8b58\u4fdd\u7ba1\u6240\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blog.kanotype.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/#\\\/schema\\\/person\\\/4ad86ae071b384c7de0b93a63002856d\",\"name\":\"KanoT\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/blog.kanotype.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/cropped-Icon-2025-glow-small-96x96.png\",\"url\":\"https:\\\/\\\/blog.kanotype.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/cropped-Icon-2025-glow-small-96x96.png\",\"contentUrl\":\"https:\\\/\\\/blog.kanotype.net\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/cropped-Icon-2025-glow-small-96x96.png\",\"caption\":\"KanoT\"},\"description\":\"KANOTYPE\u7ba1\u7406\u8005\u3002\",\"url\":\"https:\\\/\\\/blog.kanotype.net\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.kanotype.net\/?p=839","og_locale":"ja_JP","og_type":"article","og_title":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0","og_description":"VirtualBox\u5229\u7528\u3057\u3066\u3001Kubernetes\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u624b\u9806\u3092\u8aac\u660e\u3057\u307e\u3059\u3002","og_url":"https:\/\/blog.kanotype.net\/?p=839","og_site_name":"\u30ab\u30ce\u30d6\u30ed\u30b0","article_published_time":"2020-08-28T11:57:13+00:00","article_modified_time":"2020-08-28T11:59:44+00:00","author":"KanoT","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"KanoT","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"2\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.kanotype.net\/?p=839#article","isPartOf":{"@id":"https:\/\/blog.kanotype.net\/?p=839"},"author":{"name":"KanoT","@id":"https:\/\/blog.kanotype.net\/#\/schema\/person\/4ad86ae071b384c7de0b93a63002856d"},"headline":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9","datePublished":"2020-08-28T11:57:13+00:00","dateModified":"2020-08-28T11:59:44+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.kanotype.net\/?p=839"},"wordCount":126,"commentCount":0,"keywords":["ubuntu","Kubernetes","Docker","VirtualBox"],"articleSection":["\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2"],"inLanguage":"ja","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.kanotype.net\/?p=839#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.kanotype.net\/?p=839","url":"https:\/\/blog.kanotype.net\/?p=839","name":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9 - \u30ab\u30ce\u30d6\u30ed\u30b0","isPartOf":{"@id":"https:\/\/blog.kanotype.net\/#website"},"datePublished":"2020-08-28T11:57:13+00:00","dateModified":"2020-08-28T11:59:44+00:00","author":{"@id":"https:\/\/blog.kanotype.net\/#\/schema\/person\/4ad86ae071b384c7de0b93a63002856d"},"breadcrumb":{"@id":"https:\/\/blog.kanotype.net\/?p=839#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.kanotype.net\/?p=839"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.kanotype.net\/?p=839#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/blog.kanotype.net\/"},{"@type":"ListItem","position":2,"name":"VirtualBox\u3067Kubernetes\u74b0\u5883\u69cb\u7bc9"}]},{"@type":"WebSite","@id":"https:\/\/blog.kanotype.net\/#website","url":"https:\/\/blog.kanotype.net\/","name":"\u30ab\u30ce\u30d6\u30ed\u30b0","description":"\u5404\u7a2e\u77e5\u8b58\u4fdd\u7ba1\u6240","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.kanotype.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/blog.kanotype.net\/#\/schema\/person\/4ad86ae071b384c7de0b93a63002856d","name":"KanoT","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/blog.kanotype.net\/wp-content\/uploads\/2026\/07\/cropped-Icon-2025-glow-small-96x96.png","url":"https:\/\/blog.kanotype.net\/wp-content\/uploads\/2026\/07\/cropped-Icon-2025-glow-small-96x96.png","contentUrl":"https:\/\/blog.kanotype.net\/wp-content\/uploads\/2026\/07\/cropped-Icon-2025-glow-small-96x96.png","caption":"KanoT"},"description":"KANOTYPE\u7ba1\u7406\u8005\u3002","url":"https:\/\/blog.kanotype.net\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/posts\/839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=839"}],"version-history":[{"count":5,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/posts\/839\/revisions"}],"predecessor-version":[{"id":844,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=\/wp\/v2\/posts\/839\/revisions\/844"}],"wp:attachment":[{"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kanotype.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}