前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s实践(二):基本概念、kubectl命令和资料分享

k8s实践(二):基本概念、kubectl命令和资料分享

作者头像
loong576
修改2019-10-23 11:09:19
1.4K0
修改2019-10-23 11:09:19
举报
文章被收录于专栏:运维ABC

概念

1. Kubernetes简介

Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本,主要功能包括:

  • 基于容器的应用部署、维护和滚动升级
  • 负载均衡和服务发现
  • 跨机器和跨地区的集群调度
  • 自动伸缩
  • 无状态服务和有状态服务
  • 广泛的 Volume 支持
  • 插件机制保证扩展性

Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。

2. Kubernetes核心组件

Kubernetes 主要由以下几个核心组件组成:

  • etcd 保存了整个集群的状态;
  • apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
  • scheduler 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • kubelet 负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
  • Container runtime 负责镜像管理以及Pod和容器的真正运行(CRI);
  • kube-proxy 负责为Service提供cluster内部的服务发现和负载均衡

3. Kubernetes基本概念

Cluster

集群是指由Kubernetes使用一系列的物理机、虚拟机和其他基础资源来运行你的应用程序

Node

一个node就是一个运行着Kubernetes的物理机或虚拟机,并且pod可以在其上面被调度

Pod

一个pod对应一个由相关容器和卷组成的容器组

Label

一个label是一个被附加到资源上的键/值对,譬如附加到一个Pod上,为它传递一个用户自定的并且可识别的属性。Label还可以被应用来组织和选择子网中的资源

selector

是一个通过匹配labels来定义资源之间关系得表达式,例如为一个负载均衡的service指定所目标Pod

Replication Controller

replication controller是为了保证一定数量被指定的Pod的复制品在任何时间都能正常工作。它不仅允许复制的系统易于扩展,还会处理当pod在机器在重启或发生故障的时候再次创建一个

ReplicaSet

在新版本的Kubernetes中建议使用ReplicaSet来取代ReplicationCtronller。ReplicaSet跟ReplicationCtronller没有本质的不同,只是名字不一样,并且ReplicaSet支持集合式的selector。

Deployment

Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括:

  • 定义Deployment来创建Pod和ReplicaSet
  • 滚动升级和回滚应用
  • 扩容和缩容
  • 暂停和继续Deployment

Service

一个service定义了访问pod的方式,就像单个固定的IP地址和与其相对应的DNS名之间的关系

Volume

一个volume是一个目录,可能会被容器作为未见系统的一部分来访问。Kubernetes volume 构建在Docker Volumes之上,并且支持添加和配置volume目录或者其他存储设备

Secret

Secret存储了敏感数据,例如能允许容器接收请求的权限令牌

Name

用户为Kubernetes中资源定义的名字

Namespace

Namespace 好比一个资源名字的前缀。它帮助不同的项目、团队或是客户可以共享cluster,例如防止相互独立的团队间出现命名冲突

Annotation(注解)

相对于label来说可以容纳更大的键值对,它对我们来说可能是不可读的数据,只是为了存储不可识别的辅助数据,尤其是一些被工具或系统扩展用来操作的数据

二、kubectl命令

kubectl是Kubernetes里的命令行接口,用它来控制Kubernetes集群。

Kubectl的子命令主要分为8个类别:

  • 基础命令(初学者都会使用的)
  • 基础命令(中级)
  • 部署命令
  • 集群管理命令
  • 故障排查和调试命令
  • 高级命令
  • 设置命令
  • 其他命令

熟悉这些命令有助于大家来操作和管理kubernetes集群。

三、资料分享

网站博客

1.Kubernetes官网

2.Kubernetes Documentation

3.Kubernetes中文社区

4.源码

5.Kubernetes(K8S)中文文档

6.每天5分钟玩转Kubernetes

7.Kubernetes 指南

kubectl参考资料:

1.https://www.bookstack.cn/read/Kubernetes-zh/66.md

2.https://cheatsheet.dennyzhang.com/cheatsheet-kubernetes-a4

3.https://kubernetes.io/docs/reference/kubectl/kubectl/

4.https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#get

5.https://feisky.gitbooks.io/kubernetes/components/kubectl.html?h=kubectl

书籍

1.《Kubernetes权威指南 从Docker到Kubernetes实践全接触》

2.《Kubernetes in Action中文版》

3.《kubernetes-chinese-docs》

4.《Kubernetes进阶实战》

5.《kubernetes手册2017最新版》

6.《基于Kubernetes的容器云平台实战》

7.《Docker 容器与容器云(第2版)》

8.《Kubernetes指南》

下载链接:https://pan.baidu.com/s/1YsA2-X1h0mFQ3rX6tb8WOg

提取码:b7f1

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/06/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概念
    • 1. Kubernetes简介
      • 2. Kubernetes核心组件
        • 3. Kubernetes基本概念
          • Cluster
          • Node
          • Pod
          • Label
          • selector
          • Replication Controller
          • ReplicaSet
          • Deployment
          • Service
          • Volume
          • Secret
          • Name
          • Namespace
          • Annotation(注解)
      • 二、kubectl命令
      • 三、资料分享
        • 网站博客
          • kubectl参考资料:
            • 书籍
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档