您的位置:首页 > 运维架构 > Kubernetes

Kubernetes 实战教学,手把手教您设置拥有5个节点的 K8S 群集(无需搭建任何基础设施)...

2018-12-19 18:10 886 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dt763C/article/details/85110657

出品丨Docker公司(ID:docker-cn)
编译丨小东每周一、三、五晚6点10分  与您不见不散!

说在前面
您是 Kubernetes新手吗?想用 Kubernetes 开创自己的事业吗?如果想,那么欢迎您,您来对地方了。本系列文章将为您提供帮助您使用 Kubernetes 获得实践经验的教程。在这里,您可以找到各种实验和教程,无论您是初学者、系统管理员、IT 专业人员还是开发人员,都可以为您提供帮助。而且,这是一个基于浏览器的免费学习平台,已经为您安装了 kubenetes 工具,如kubeadm、kompose 和 kubectl,您不需要额外增加任何基础设施,因为大多数教程都在 Play with K8s Platform 上(点击文尾处“阅读原文”进入)运行。

&


Kubernetes(通常缩写为K8S)用于管理云平台中多个主机上的容器化的应用。Kubernetes 是自动化容器操作的开源平台,这些操作包括部署、调度和节点集群间扩展。在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现和访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。
Kubernetes可以通过简单、自动化的部署、更新(滚动更新)以及几乎零停机时间来管理我们的应用程序和服务,大大加速开发过程。它还提供自我修复,当进程在容器内崩溃时,Kubernetes 可以检测并重新启动服务。任何开发人员都可以使用基本的 Docker 知识,打包应用程序并将其部署在 Kubernetes 上。
在一分钟内,Kubernetes 就可以在物理或虚拟机集群上安排和运行应用程序容器。Kubernetes还允许开发人员“切断”物理机和虚拟机的联系,从以主机为中心的基础设施转移到以容器为中心的基础设施,从而为您提供容器本身固有的全部优势。Kubernetes 提供了构建真正以容器为中心的开发环境基础设施。K8s 为容器分组、容器编排、健康检查、服务发现、负载平衡、水平自动扩展、隐私、配置管理、存储编排、资源使用监控、CLI和仪表板提供了丰富的功能。
这是第一篇针对设置5节点 Kubernetes 集群的文章。要开始使用 Kubernetes,请按照以下步骤操作:
在浏览器上打开 https://labs.play-with-k8s.com。
点击“Start”按钮,进入PWK实例,如下图所示:

点击“Add Instances” 来设置第一个 k8s 节点。

克隆镜像仓库 git clone https://github.com/ajeetraina/kubernetes101/cd kubernetes101/install
引导第一个节点集群 sh bootstrap.sh
添加新的 K8s 群集节点

  • 点击“Add Instances” 来设置第一个 k8s 集群节点。

  • 等待1分钟直到完成。

  • 复制以“kubeadm join”开头的命令,我们需要在工作节点上运行它。


设置工作节点
单击“Add New Instance”并将最后一个 kubeadm 命令粘贴到这个新的新工作节点上。[node2 ~]$ kubeadm join --token 4f924f.14eb7618a20d2ece 192.168.0.8:6443 --discovery-token-ca-cert-hash  sha256:a5c25aa4573e06a0c11b11df23c8f85c95bae36cbb07d5e7879d9341a3ec67b3```您将看到以下输出结果:[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.[preflight] Skipping pre-flight checks[discovery] Trying to connect to API Server "192.168.0.8:6443"[discovery] Created cluster-info discovery client, requesting info from "https://192.168.0.8:6443"[discovery] Requesting info from "https://192.168.0.8:6443" again to validate TLS against the pinned public key[discovery] Cluster info signature and contents are valid and TLS certificate validates against pinned roots, will use API Server "192.168.0.8:6443"[discovery] Successfully established connection with API Server "192.168.0.8:6443"[bootstrap] Detected server version: v1.8.15[bootstrap] The server supports the Certificates API (certificates.k8s.io/v1beta1)Node join complete:* Certificate signing request sent to master and response  received.* Kubelet informed of new secure connection details. Run 'kubectl get nodes' on the master to see this machine join.[node2 ~]$



验证 Kubernetes 集群
在主节点上运行以下命令:[node1 ~]$ kubectl get nodesNAME      STATUS    ROLES     AGE       VERSIONnode1     Ready     master    15m       v1.10.2node2     Ready         1m        v1.10.2[node1 ~]$
添加工作节点 [node1 ~]$ kubectl get nodesNAME      STATUS    ROLES     AGE       VERSIONnode1     Ready     master    58m       v1.10.2node2     Ready         57m       v1.10.2node3     Ready         57m       v1.10.2node4     Ready         57m       v1.10.2node5     Ready         54s       v1.10.2[node1 ]$ kubectl get poNo resources found.[node1 ]$ kubectl get svcNAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGEkubernetes   ClusterIP   10.96.0.1            443/TCP   1h[node1 ]$

在下一篇文章,我将展示如何在5节点的 Kubernetes 集群上构建一个简单的 Nginx 应用程序。


点击下列标题,阅读更多干货


如果本文对你有帮助,欢迎分享到朋友圈!获取更多Docker实用技巧,扫描下图二维码!    

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: