第3章 部署Kubernetes Cluster
<p>官方安装文档可以参考
<a href="https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/">https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/</a></p>
<p>注意:kubernetes几乎所有安装组件和Docker镜像都放在Google自己网站上,这对国内的同学是个不小的障碍。建议:网络障碍都必须想办法解决,不然连kubernetes的门都进不了。</p>
<h3>3.1 安装docker</h3>
<h3>3.2 安装kubelet、kubeadmin和kubectl</h3>
<p>在所有节点上安装kubelet、kubeadmin和kubectl</p>
<ul>
<li>kubelet运。行在Cluster所有节点上,负责启动pod和容器。</li>
<li>kubeadm用于初始化Cluster</li>
<li>kubectl是kubernetes命令行工具。通过kubectl可以部署和管理应用,查看各种资源,创建、删除和更新各种组件。
<pre><code class="language-bash">yum update
yum install kubelet kubeadm kubectl</code></pre>
<h3>3.3 用kubernetes创建Cluster</h3>
<p>完整的官方文档可以参考
<a href="https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm">https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm</a> 已经更新为:
<a href="https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/">https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/</a></p>
<h4>3.3.1 初始化Master</h4>
<p>在Master上执行命令:</p>
<pre><code class="language-bash">kubeadm init --apiserver-advertise-address 172.16.3.159 --pod-network-cidr=10.244.0.o/16</code></pre>
<p><strong>--apiserver-advertise-address</strong>指明用Master的哪个Cluster的哪个interface与Cluster的其它节点通信。如果Master有多个interface,建议明确指定,如果不指定,kubeadm会自动选择默认网关的interface。
<strong>--pod-network-cidr</strong> 指定Pod网络的范围。kubernetes支持多种网络方案,而且不同网络方案对--pod-network-cidr有自己的要求,这里设置10.244.0.0/16是因为我们将使用flannel网络方案,必须设置成这个CIDR。在后面的实践中我们会切换到其它网络方案,比如:Canal。</p></li>
</ul>
<p>初始化过程:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)</p>
<h4>3.3.2 配置kubectl</h4>
<h4>3.3.3 安装Pod网络</h4>
<h4>3.3.4 添加k8s-node1和k8s-node2</h4>