0%

kubenetes是什么

k8s是一个全新的基于容器技术的分布式架构领先方案,一个开放的开发平台,一个完备的分布式系统支撑平台

k8s重要资源对象介绍

Master

概念介绍

k8s中的Master指的是集群控制节点,在每个集群里都需要有一个Master来负责整个集群的管理和控制。

关键进程

(1)Kubenetes API Server(kube-apiserver):提供了HTTP Rest接口的额关键服务进程,是
kubenetes里所有资源的增删改查等操作的唯一入口,也是集群控制的入口进程
(2)kubenetes Controller Manager(kube-controller-manager):kubenetes里所有资源对象的自动化控制中心,可以将其理解为资源对象的大总管
(3)Kubenetes Scheduler(kube-scheduler):负责资源调度(Pod调度)的进程,相当于哦公交公司的调度室

Node

概念介绍

除了Master,Kubenetes集群中的其他机器被称为Node。Node是集群中的工作负载节点,每个Node都会被Master分配一些工作负载(Docker容器),当某个Node宕机时,其上的工作负载会被Master自动转移到其他节点上

关键进程

(1)kubelet:负责Pod对应的容器的创建、启停等任务,同时与Master密切协作,,实现集群管理的基本功能
(2)kube-proxy:实现kubenetes Service的通信与负载均衡的重要组件
(3)Docker Engine:负责本机的容器的创建和管理工作

Pod

概念介绍

在Kubernetes中,最小的管理元素不是一个个独立的容器,而是Pod,Pod是最小的,管理,创建,计划的最小单元.

部分概念

(1)可以设置限额的计算资源有CPU和Memory两种:
  通常以千分之一的CPU配额为最小单位,用m来表示
  Memory配额也是一个绝对值,单位是内存字节数
(2)Event是一个事件的记录,记录了事件的最早产生事件,最后重现事件,重复次数,发起者,类型,以及导致此事件的原因等众多信息。

Label

概念

一个Label是一个key=value的键值对,可类似于sql查询语句一样来进行查询

Deployment

Deployment内部使用了Replica Set来实现目的

kubectl的create命令和apply命令的区别

kubectl create:

(1)kubectl create命令,是先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的

(2)kubectl create命令,用同一个yaml 文件执行替换replace命令,将会不成功,fail掉。

kubectl apply:

kubectl apply命令,根据配置文件里面列出来的内容,升级现有的。所以yaml文件的内容可以只写需要升级的属性

服务端

继续学习go,python,php

前端

前端:es6,react

操作系统

内存管理、进程管理和文件系统
深入了解linux

数据库相关

mysql mongodb redis

分布式系统

CAP理论、BASE理论、限流、熔断、一致性选举算法、主从架构、集群架构、异地多活、负载均衡、分层架构、微服务

基础知识

(1)熟悉TCP/IP、HTTP等协议 socket网络编程开发
(2)熟悉HTTP、HTTPS,深入了解浏览器原理
(3)数据库的读写分离、分库分表
(4)WEB 安全,包括XSS,CSRF,SQL注入

了解即可

(1)模仿学习、强化学习等机器学习相关
(2)网络处理、架构设计等海量数据处理
(3)无线互联网服务及应用
(4)了解 MySQL、Redis、消息队列等基本组件

工具

k8s, docker,cide相关

基础demo实现

简单的文件下载

需求描述
有一个json文件,由一个二维数组转化而来,数组由多个下载记录组成,单条结构包含:
文件名,下载链接,时间,使用go/python/shell将这些文件下载下来,并按照记录的文件名来命名

简单的客服系统

需求描述
可实现一对一聊天功能,要求延迟控制在1s以内,并且在客服电脑上弹出提示,可以设置简单的智能问答

进阶任务

打造分布式存储/数据库系统

提升服务的整体稳定性和性能

高流量高并发实现

微服务架构

其他

浏览器渲染机制

前后端全链路流程


尝试对已完成的项目进行压测