ubuntu部署k8s详细教程

<p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/14585851-c14744fbd37eb13d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>在Ubuntu上搭建Kubernetes(K8s)环境可以通过多种方式实现,下面是一个详细的教程,使用<strong>kubeadm</strong>工具来搭建Kubernetes集群。这个教程将涵盖从准备工作到安装和配置Kubernetes的所有步骤。</p><p><strong/></p><ol><li><p><strong>操作系统</strong>:确保你使用的是Ubuntu 20.04或更高版本。</p></li><li><p><strong>硬件要求</strong>:</p></li><ul><li><p>至少2GB RAM(推荐4GB或更多)。</p></li><li><p>至少2个CPU核心。</p></li><li><p>确保有足够的磁盘空间(至少20GB)。</p></li></ul><li><p><strong>网络要求</strong>:</p></li><ul><li><p>确保所有节点之间可以互相通信。</p></li><li><p>关闭防火墙或配置防火墙规则以允许Kubernetes组件之间的通信。</p></li></ul></ol><p><strong/></p><p><strong/></p><pre>sudo apt updatesudo apt upgrade -y</pre><p><strong/></p><p>为每个节点设置主机名(例如,master和worker节点):</p><pre>sudo hostnamectl set-hostname master-node</pre><p><strong/></p><p>在所有节点上编辑 <strong>/etc/hosts</strong> 文件,添加每个节点的IP和主机名:</p><pre>sudo nano /etc/hosts</pre><p>添加以下内容(根据你的实际IP地址和主机名进行修改):</p><pre>192.168.1.100 master-node
192.168.1.101 worker-node1
192.168.1.102 worker-node2</pre><p><strong/></p><p>Kubernetes需要一个容器运行时,Docker是最常用的选择。</p><p><strong/></p><pre>sudo apt install -y apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release&nbsp;-cs)&nbsp;stable&quot;sudo&nbsp;apt&nbsp;updatesudo&nbsp;apt&nbsp;install&nbsp;-y&nbsp;docker-ce</pre><p><strong/></p><pre>sudo&nbsp;systemctl&nbsp;start&nbsp;dockersudo&nbsp;systemctl&nbsp;enable&nbsp;docker</pre><p><strong/></p><p>编辑Docker配置文件:</p><pre>sudo&nbsp;mkdir&nbsp;/etc/dockersudo&nbsp;nano&nbsp;/etc/docker/daemon.json</pre><p>添加以下内容:</p><pre>{&nbsp;&nbsp;&quot;exec-opts&quot;:&nbsp;[&quot;native.cgroupdriver=systemd&quot;],&nbsp;&nbsp;&quot;log-driver&quot;:&nbsp;&quot;json-file&quot;,&nbsp;&nbsp;&quot;log-opts&quot;:&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&quot;max-size&quot;:&nbsp;&quot;100m&quot;&nbsp;&nbsp;},&nbsp;&nbsp;&quot;storage-driver&quot;:&nbsp;&quot;overlay2&quot;}</pre><p>重启Docker服务:</p><pre>sudo&nbsp;systemctl&nbsp;restart&nbsp;docker</pre><p><strong/></p><p><strong/></p><pre>curl&nbsp;-s&nbsp;https://packages.cloud.google.com/apt/doc/apt-key.gpg&nbsp;|&nbsp;sudo&nbsp;apt-key&nbsp;add&nbsp;-cat&nbsp;&lt;&lt;EOF&nbsp;|&nbsp;sudo&nbsp;tee&nbsp;/etc/apt/sources.list.d/kubernetes.listdeb&nbsp;https://apt.kubernetes.io/&nbsp;kubernetes-xenial&nbsp;mainEOF</pre><p><strong/></p><pre>sudo&nbsp;apt&nbsp;updatesudo&nbsp;apt&nbsp;install&nbsp;-y&nbsp;kubelet&nbsp;kubeadm&nbsp;kubectlsudo&nbsp;apt-mark&nbsp;hold&nbsp;kubelet&nbsp;kubeadm&nbsp;kubectl</pre><p><strong/></p><p>在主节点上执行以下命令以初始化Kubernetes集群:</p><pre>sudo&nbsp;kubeadm&nbsp;init&nbsp;--pod-network-cidr=192.168.0.0/16</pre><p>初始化完成后,您会看到一条类似于以下的输出,记录下<strong>kubeadm join</strong>命令:</p><pre>kubeadm&nbsp;join&nbsp;192.168.1.100:6443&nbsp;--token&nbsp;&lt;token&gt;&nbsp;--discovery-token-ca-cert-hash&nbsp;sha256:&lt;hash&gt;</pre><p><strong/></p><p>在主节点上配置kubectl以便于管理Kubernetes集群:</p><pre>mkdir&nbsp;-p&nbsp;HOME/.kubesudo cp -i /etc/kubernetes/admin.conf HOME/.kube/configsudo&nbsp;chown&nbsp;(id -u):(id&nbsp;-g)&nbsp;HOME/.kube/config</pre><p><strong/></p><p>Kubernetes需要一个网络插件来管理Pod之间的通信。这里我们使用Calico作为网络插件:</p><pre>kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml</pre><p><strong/></p><p>在每个工作节点上,使用在初始化时记录的<strong>kubeadm join</strong>命令加入集群。例如:</p><pre>sudo kubeadm join 192.168.1.100:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash></pre><p><strong/></p><p>在主节点上,运行以下命令以验证集群状态:</p><pre>kubectl get nodes</pre><p>你应该能看到主节点和所有工作节点的状态为<strong>Ready</strong>。</p><p><strong/></p><p>至此,你已经成功在Ubuntu上搭建了Kubernetes集群。通过这个集群,你可以部署和管理容器化应用程序。接下来,你可以根据需要安装其他工具和应用,进一步探索Kubernetes的强大功能。希望这个教程对你有所帮助!</p><p>
</p>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容