{"id":12613,"date":"2019-07-23T22:25:28","date_gmt":"2019-07-23T20:25:28","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/"},"modified":"2019-07-23T22:25:28","modified_gmt":"2019-07-23T20:25:28","slug":"kubernetes-how-to-install-a-single-master-cluster-with-kubeadm","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/","title":{"rendered":"Kubernetes &#8211; How to install a single master cluster with kubeadm?"},"content":{"rendered":"<p>To bootstrap a minimal K8S cluster for testing purpose, kubeadm is a very interesting tool. The goal of this blog is not to explain to you the K8S architecture or the components but only the deployment part. using kubeadm.<\/p>\n<p>The final architecture of our cluster will be the following:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-33302\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\" alt=\"\" width=\"890\" height=\"630\" \/><\/a><em>Source:<a href=\"https:\/\/elastisys.com\/2018\/01\/25\/setting-highly-available-kubernetes-clusters\/\">https:\/\/elastisys.com\/2018\/01\/25\/setting-highly-available-kubernetes-clusters\/<\/a> <\/em><\/p>\n<h3>Docker Installation<\/h3>\n<p>The first step is to install Docker on each cluster node:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">yum install yum-utils device-mapper-persistent-data lvm2<\/pre>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">yum-config-manager \\\n--add-repo \\\nhttps:\/\/download.docker.com\/linux\/centos\/docker-ce.repo\n\nyum update &amp;&amp; yum install docker-ce-18.06.2.ce<\/pre>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">mkdir \/etc\/docker\n\ncat &gt; \/etc\/docker\/daemon.json &lt;&lt;EOF\n{\n\"exec-opts\": [\"native.cgroupdriver=systemd\"],\n\"log-driver\": \"json-file\",\n\"log-opts\": {\n\"max-size\": \"100m\"\n},\n\"storage-driver\": \"overlay2\",\n\"storage-opts\": [\n\"overlay2.override_kernel_check=true\"\n]\n}\nEOF<\/pre>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">mkdir -p \/etc\/systemd\/system\/docker.service.d\nsystemctl daemon-reload\nsystemctl restart docker<\/pre>\n<p>&nbsp;<\/p>\n<h3>Kubeadm Installation<\/h3>\n<p>Before installing Kubernetes components some pre-requisites need to be configured within your cluster nodes.<\/p>\n<h5>Disable SWAP devices<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">docker@docker-manager000 ~]$ cat \/proc\/swaps\nFilename\t\t\t\tType\t\tSize\tUsed\tPriority\n\/dev\/dm-1                               partition\t5242876\t0\t-1\n\n[docker@docker-manager000 ~]$ sudo swapoff -a<\/pre>\n<p>Remove any matching reference found in \/etc\/fstab &amp; Reboot the system for changes taking effect.<\/p>\n<h5>Set SELinux in permissive mode (effectively disabling it)<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ sudo setenforce 0\n[docker@docker-manager000 ~]$ sudo sed -i 's\/^SELINUX=enforcing$\/SELINUX=permissive\/' \/etc\/selinux\/config\ndocker@docker-manager000 ~]$ sudo sed -i 's\/^SELINUX=permissive$\/SELINUX=disabled\/' \/etc\/selinux\/config<\/pre>\n<h5>Hostname configuration<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ hostnamectl set-hostname docker-manager000\n[docker@docker-manager000 ~]$ hostname\ndocker-manager000<\/pre>\n<h5>Network connectivity<\/h5>\n<p>Modify the \/etc\/hosts of each server as following:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ cat \/etc\/hosts\n127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4\n::1 localhost6 localhost6.localdomain6 localhost6.localdomain\n\nxx.xx.x.xx\tdocker-manager000\nxx.xx.x.xx\tdocker-worker000\nxx.xx.x.xx\tdocker-worker001<\/pre>\n<p>&nbsp;<\/p>\n<h5>Installing kubeadm, kubelet and kubectl<\/h5>\n<p>First, configure the Kubernetes repository for downloading the latest stable version of Kubernetes: <\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">cat &lt; \/etc\/yum.repos.d\/kubernetes.repo\n[kubernetes]\nname=Kubernetes\nbaseurl=https:\/\/packages.cloud.google.com\/yum\/repos\/kubernetes-el7-x86_64\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https:\/\/packages.cloud.google.com\/yum\/doc\/yum-key.gpg https:\/\/packages.cloud.google.com\/yum\/doc\/rpm-package-key.gpg\nEOF<\/pre>\n<p>Then install packages:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes\n[docker@docker-manager000 ~]$ sudo systemctl enable --now kubelet<\/pre>\n<p>&nbsp;<\/p>\n<h5>Install NTP service<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[root@docker-manager000 containerd]$ yum install ntp\n[root@docker-manager000 containerd]$ systemctl start ntpd\n[root@docker-manager000 containerd]$ systemctl enable ntpd<\/pre>\n<h5>Ensure net.bridge.bridge-nf-call-iptables is set to 1 in your sysctl config for proper traffic routing<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[root@docker-manager000 ~]$ cat &lt;  \/etc\/sysctl.d\/k8s.conf\nnet.bridge.bridge-nf-call-ip6tables = 1\nnet.bridge.bridge-nf-call-iptables = 1\nEOF\n\nManually settings:\n[docker@docker-manager000 ~]$ sudo sysctl net.bridge.bridge-nf-call-iptables=1\n[docker@docker-manager000 ~]$ sudo sysctl net.bridge.bridge-nf-call-ip6tables=1\n\n[root@docker-manager000 ~]$ sysctl --system<\/pre>\n<h5>Make sure that the br_netfilter module is loaded<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[root@docker-manager000 ~]$ lsmod | grep br_netfilter (to check)\n[root@docker-manager000 ~]$ modprobe br_netfilter (to load)<\/pre>\n<p>&nbsp;<\/p>\n<h4>Initialize your cluster using Kubeadm<\/h4>\n<p>The kubadm command will install you all control plane components (api server + etcd + scheduler + controller-manager)<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ sudo kubeadm init --pod-network-cidr=192.168.0.0\/16<\/pre>\n<p>Copy-paste the join command with the token and keep it for the next steps. <\/p>\n<h5>Install a pod network add-on: Calico<\/h5>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">kubectl apply -f https:\/\/docs.projectcalico.org\/v3.8\/manifests\/calico.yaml<\/pre>\n<p>Import the kube config in your home before start using your cluster. <\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ mkdir -p $HOME\/.kube\n[docker@docker-manager000 ~]$ sudo cp -i \/etc\/kubernetes\/admin.conf $HOME\/.kube\/config\n[docker@docker-manager000 ~]$ sudo chown $(id -u):$(id -g) $HOME\/.kube\/config<\/pre>\n<h5>Join your cluster and run the following on Workers side<\/h5>\n<p>From each worker nodes, you can now execute the join command as following:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">sudo kubeadm join xx.xx.x.xx:6443 --token vv2iva.yt241t7epiu7i4iz \\\n    --discovery-token-ca-cert-hash sha256:558ec4a25cd39185fd753aba81748569f033af9c15e48dcdf3d10206eecdf177<\/pre>\n<p>On the master, check the cluster status:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ kubectl get nodes -o wide\nNAME                STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME\ndocker-manager000   Ready    master   20d   v1.14.2   xx.xx.x.xx            CentOS Linux 7 (Core)   3.10.0-957.12.2.el7.x86_64   docker:\/\/18.9.6\ndocker-worker000    Ready       20d   v1.14.1   xx.xx.x.xx            CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker:\/\/18.9.5\ndocker-worker001    Ready       20d   v1.14.1   xx.xx.x.xx            CentOS Linux 7 (Core)   3.10.0-957.10.1.el7.x86_64   docker:\/\/18.9.5<\/pre>\n<p>List all pods within the kube-system namespace:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">[docker@docker-manager000 ~]$ kubectl get pods -n kube-system -o wide\nNAME                                        READY   STATUS    RESTARTS   AGE     IP               NODE                NOMINATED NODE   READINESS GATES\ncalico-kube-controllers-6894d6f4f4-jtwnn    1\/1     Running   5          20d     192.168.123.39   docker-manager000              \ncalico-node-9586j                           1\/1     Running   6          20d     xx.xx.x.xx       docker-manager000              \ncalico-node-lc6vh                           1\/1     Running   3          20d     xx.xx.x.xx       docker-worker000               \ncalico-node-ph9j7                           1\/1     Running   3          20d     xx.xx.x.xx       docker-worker001               \ncoredns-fb8b8dccf-cxfcq                     1\/1     Running   4          11d     192.168.123.41   docker-manager000              \ncoredns-fb8b8dccf-pf879                     1\/1     Running   5          11d     192.168.27.145   docker-worker001               \netcd-docker-manager000                      1\/1     Running   6          20d     xx.xx.x.xx       docker-manager000              \nkube-apiserver-docker-manager000            1\/1     Running   2          11d     xx.xx.x.xx       docker-manager000              \nkube-controller-manager-docker-manager000   1\/1     Running   2          11d     xx.xx.x.xx       docker-manager000              \nkube-proxy-j8v2b                            1\/1     Running   2          11d     xx.xx.x.xx       docker-worker000               \nkube-proxy-jp5dr                            1\/1     Running   2          11d     xx.xx.x.xx       docker-worker001               \nkube-proxy-z57xx                            1\/1     Running   2          11d     xx.xx.x.xx       docker-manager000              \nkube-scheduler-docker-manager000            1\/1     Running   2          11d     xx.xx.x.xx       docker-manager000              <\/pre>\n<p>Your cluster is now up and running! You can start your first deployment \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To bootstrap a minimal K8S cluster for testing purpose, kubeadm is a very interesting tool. The goal of this blog is not to explain to you the K8S architecture or the components but only the deployment part. using kubeadm. The final architecture of our cluster will be the following: Source:https:\/\/elastisys.com\/2018\/01\/25\/setting-highly-available-kubernetes-clusters\/ Docker Installation The first step [&hellip;]<\/p>\n","protected":false},"author":109,"featured_media":12614,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,1320,1504,1522],"tags":[151,601,1365,1641,89],"type_dbi":[],"class_list":["post-12613","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","category-devops","category-docker","category-kubernetes","tag-devops","tag-docker","tag-k8s","tag-kubeadm","tag-kubernetes"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Kubernetes - How to install a single master cluster with kubeadm? - dbi Blog<\/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:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes - How to install a single master cluster with kubeadm?\" \/>\n<meta property=\"og:description\" content=\"To bootstrap a minimal K8S cluster for testing purpose, kubeadm is a very interesting tool. The goal of this blog is not to explain to you the K8S architecture or the components but only the deployment part. using kubeadm. The final architecture of our cluster will be the following: Source:https:\/\/elastisys.com\/2018\/01\/25\/setting-highly-available-kubernetes-clusters\/ Docker Installation The first step [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-23T20:25:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\" \/>\n\t<meta property=\"og:image:width\" content=\"890\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"DevOps\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DevOps\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\"},\"author\":{\"name\":\"DevOps\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735\"},\"headline\":\"Kubernetes &#8211; How to install a single master cluster with kubeadm?\",\"datePublished\":\"2019-07-23T20:25:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\"},\"wordCount\":291,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\",\"keywords\":[\"DevOps\",\"Docker\",\"k8s\",\"kubeadm\",\"kubernetes\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"DevOps\",\"Docker\",\"Kubernetes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\",\"name\":\"Kubernetes - How to install a single master cluster with kubeadm? - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\",\"datePublished\":\"2019-07-23T20:25:28+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png\",\"width\":890,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubernetes &#8211; How to install a single master cluster with kubeadm?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735\",\"name\":\"DevOps\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g\",\"caption\":\"DevOps\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/devops\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kubernetes - How to install a single master cluster with kubeadm? - dbi Blog","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:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/","og_locale":"en_US","og_type":"article","og_title":"Kubernetes - How to install a single master cluster with kubeadm?","og_description":"To bootstrap a minimal K8S cluster for testing purpose, kubeadm is a very interesting tool. The goal of this blog is not to explain to you the K8S architecture or the components but only the deployment part. using kubeadm. The final architecture of our cluster will be the following: Source:https:\/\/elastisys.com\/2018\/01\/25\/setting-highly-available-kubernetes-clusters\/ Docker Installation The first step [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/","og_site_name":"dbi Blog","article_published_time":"2019-07-23T20:25:28+00:00","og_image":[{"width":890,"height":630,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png","type":"image\/png"}],"author":"DevOps","twitter_card":"summary_large_image","twitter_misc":{"Written by":"DevOps","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/"},"author":{"name":"DevOps","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735"},"headline":"Kubernetes &#8211; How to install a single master cluster with kubeadm?","datePublished":"2019-07-23T20:25:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/"},"wordCount":291,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png","keywords":["DevOps","Docker","k8s","kubeadm","kubernetes"],"articleSection":["Database Administration &amp; Monitoring","DevOps","Docker","Kubernetes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/","url":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/","name":"Kubernetes - How to install a single master cluster with kubeadm? - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png","datePublished":"2019-07-23T20:25:28+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/kubernetes-architecture.png","width":890,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/kubernetes-how-to-install-a-single-master-cluster-with-kubeadm\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kubernetes &#8211; How to install a single master cluster with kubeadm?"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/4cd1b5f8a3de93f05a16ab8d7d2b7735","name":"DevOps","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cdd2dd7441774355062c0f0f68612296b059cd1e2ff6c7af0b15dba0ed64a85f?s=96&d=mm&r=g","caption":"DevOps"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/devops\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/109"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=12613"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12613\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/12614"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=12613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=12613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=12613"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=12613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}