入门Kubernetes -基础概念

时间:2021-01-10 22:52:24   收藏:0   阅读:31

一、Kubernetes概述

 Kubernetes ,又称为 k8s(首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s,所以简称 k8s)或者简称为 "kube" ,是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。

 k8s作用:

 k8s不支持:  

 k8s组件: 

  一个 Kubernetes 集群包含 集群由一组被称作节点的机器组成。这些节点上运行 Kubernetes 所管理的容器化应用。集群具有至少一个工作节点。 

  工作节点托管作为应用负载的组件的 Pod 。控制平面管理集群中的工作节点和 Pod 。 为集群提供故障转移和高可用性,这些控制平面一般跨多主机运行,集群跨多个节点运行。

   下图展示了包含所有相互关联组件的 Kubernetes 集群。 

技术分享图片

二、相关术语

 1、主机(Master): 用于控制 Kubernetes 节点的计算机。所有任务分配都来自于此。

 kube-apiserver:API 服务器是 Kubernetes 控制面的组件, 该组件公开了 Kubernetes API。 API 服务器是 Kubernetes 控制面的前端。

 kube-scheduler:控制平面组件,负责监视新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行

 etcd:etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。

 kube-scheduler:负责监视新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行。

 kube-controller-manager:控制器管理组件,控制器包括

 2、节点(Node):负责执行请求和所分配任务的计算机。由 Kubernetes 主机负责对节点进行控制。

 容器集(Pod):被部署在单个节点上的,且包含一个或多个容器的容器组。同一容器集中的所有容器共享同一个 IP 地址、IPC、主机名称及其它资源。容器集会将网络和存储从底层容器中抽象出来。

 复制控制器(Replication controller):用于控制应在集群某处运行的完全相同的容器集副本数量。

 服务(Service):将工作内容与容器集分离。Kubernetes 服务代理会自动将服务请求分发到正确的容器集——无论这个容器集会移到集群中的哪个位置,甚至可以被替换掉。

 Kubelet:运行在节点上的服务,可读取容器清单(container manifest),确保指定的容器启动并运行。

 kubectl: Kubernetes 的命令行配置工具。

三、环境准备

 由于Cenos环境问题,本次验证先采用本地windows docker 中启用k8s做验证

 1、安装Docker for Windows 

 2、启用k8s,进入docker设置界面

   技术分享图片

  3、重启:docker 服务 ,左下角:Kubernetes 状态为running,则表示k8s集群已运行起来

  4、启动Kubernetes dashboard   

  下载镜像:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

kubectl create -f kubernetes-dashboard.yaml --需要下载 https://github.com/AliyunContainerService/k8s-for-docker-desktop/tree/v1.18.8

  检查 kubernetes-dashboard 应用状态

kubectl get pod -n kubernetes-dashboard

  开启 API Server 访问代理

kubectl proxy

  访问地址:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

     获取token:    

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN

  技术分享图片

 

   技术分享图片

 

   输入token进入管理界面,查看k8s相关信息

  技术分享图片

四、过程问题

 问题:当启用k8s后,重启docker服务后,Kubernetes 状态一直为:starting

 解决办法:https://developer.aliyun.com/article/672675  

五、其他:

 本次只对k8s基础了解,还需要对它的相关应用进一步,学习了解相关:Pod、Service、现有项目实际部署;才能真正对相关内容有更加深入的认识相关内容

 在官网中也可以在线学习相关基础知识和操作还是比较好

参考:

 中文官网:https://kubernetes.io/zh/docs/concepts/overview/what-is-kubernetes/

 k8s在线学习:https://kubernetes.io/zh/docs/tutorials/kubernetes-basics/

 k8s启用:https://developer.aliyun.com/article/672675

原文:https://www.cnblogs.com/cwsheng/p/14259760.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!