avatar
文章
89
标签
3
分类
13
归档
分类
照片
关于
搜索
CodeTalks
搜索
归档
分类
照片
关于
搜索

CodeTalks

Kubernetes 实战 | 配置日志系统
发表于2019-09-04|编程分享Kubernetes
尽管 Kubernetes Dashboard 允许我们直接进入 Pod 容器中查看日志,但是在实际的系统中,Pod 容器可能经历创建、销毁等过程,一个服务也可能由多个 Pod 负载均衡提供。因此,我们最好配置一套完整的日志收集、分析、搜索、查看系统,方便我们对系统进行监控。 而常用的集群日志系统就是 EFK,即 Elastic Search、Filebeat、Kibana。 EFK 简介Elastic Search 是一款分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例;Filebeat 则是一种 Beats(其他的还有 Metric Beats 等),用...
Kubernetes 实战 | 图解 Kubernetes 资源
发表于2019-09-03|编程分享Kubernetes
Kubernetes 是容器编排工具,负责在多台机器组成的集群上调度容器。用户只需要使用Kubernetes 资源来声明希望集群达到的状态,Kubernetes 就会调度集群资源,自动满足所声明的状态。 使用 Kubernetes,用户不用再操心容器具体的部署过程,而是使用声明式的方法来进行应用部署,大大简化了运维工作,使得程序员可以更专注于业务的的开发。 可以看出,使用 Kubernetes,我们更关心的是集群中的各种资源的管理,下面就是 Kubernetes 中常见的资源。 更值得注意的是,Kubernetes 是通过**控制器(Controller)**来调谐资源的,一个控制器只...
Kubernetes 实战 | 安装 Ingress Controller
发表于2019-08-31|编程分享Kubernetes
可以看到之前安装的 Kubernetes Dashboard Web UI 没有办法直接在集群外部访问,这是由于 Kubernetes 默认 Service 提供的访问方式是 ClusterIP,也就是在集群内部通过虚拟 IP 访问。这个 IP 在集群外是无法访问的。当然,我们可以使用 NodePort 方式来提供 Service 服务,但是这样的话我们就需要在机器上自己设置反向代理,比较麻烦。 什么是 IngressKubernetes 使用 Ingress 的方式解决了这个问题。Ingress 也是集群上的一种资源,用来路由外部的流量到集群内部的 Service。 一个 Ingres...
Kubernetes 实战 | 安装 Dashboard
发表于2019-08-31|编程分享Kubernetes
通过命令行方式管理 Kubernetes 集群不太直观,因此 Kubernetes 官方推出了 Kubernetes Dashboard 这一个 Web UI 工具方便我们执行管理集群相关的操作。 安装 Web UI执行官方提供的一键脚本就可以安装 Kubernetes Dashboard 了: 1kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta1/aio/deploy/recommended.yaml 此时由于 Dashboard 是部署在集群内部的,外部无法直接访问...
ucore OS | 实验 8 文件系统
发表于2019-06-30|大学学习ucore
这次实验课上布置了另外的任务,即实现 MTFQ 以及工作集算法。 在实验过程中,发现 ucore 并没有对用户进程 swap 提供支持,因此加入了一些修正。 练习 1 完成 ucore 文件系统读文件操作的实现12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849// 处理一开始的块if ((blkoff = offset % SFS_BLKSIZE) != 0 ) { if (nblks != 0) { // 不在一块里 ...
ucore OS | 实验 7 同步互斥
发表于2019-06-30|大学学习ucore
练习 1 理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题内核级信号量实现位于 sem.c 中: 12345678910booltry_down(semaphore_t *sem) { bool intr_flag, ret = 0; local_intr_save(intr_flag); if (sem->value > 0) { sem->value --, ret = 1; } local_intr_restore(intr_flag); return ret;} ...
ucore OS | 实验 6 调度器
发表于2019-06-30|大学学习ucore
练习 1 使用 Round-Robin 调度算法123456789101112131415161718192021222324// The introduction of scheduling classes is borrrowed from Linux, and makes the // core scheduler quite extensible. These classes (the scheduler modules) encapsulate // the scheduling policies. struct sched_class { // the nam...
ucore OS | 实验 5 用户进程管理
发表于2019-06-30|大学学习ucore
练习 1 加载应用程序并执行在 load_icode 中,前面的函数体负责初始化内存内容和拷贝相应的内容到内存中,最后需要一种方法,使得 CPU 可以从用户进程入口处开始运行。 123456tf->tf_cs = USER_CS;tf->tf_ds = tf->tf_es = tf->tf_ss = USER_DS;tf->tf_esp = USTACKTOP;tf->tf_eip = elf->e_entry;tf->tf_eflags = FL_IF;ret = 0; 在中断返回之后,CPU 会使用 trapframe 中的值设置寄存...
ucore OS | 实验 4 内核线程管理
发表于2019-06-30|大学学习ucore
练习 1 分配并初始化一个进程控制块12345678910111213141516171819202122232425262728293031323334static struct proc_struct *alloc_proc(void) { struct proc_struct *proc = kmalloc(sizeof(struct proc_struct)); if (proc != NULL) { /* * below fields in proc_struct need to be initialized * enum ...
ucore OS | 实验 3 虚拟内存管理
发表于2019-05-16|大学学习ucore
练习 1 给未被映射的地址映射上物理页12345678910111213141516intdo_pgfault(struct mm_struct *mm, uint32_t error_code, uintptr_t addr) { // ... pte_t *ptep=NULL; if (!(ptep = get_pte(mm->pgdir, addr, 1))) goto failed; //(1) try to find a pte, if pte's PT(Page Table) isn't existe...
1…456…9
avatar
howardlau
记录想法
文章
89
标签
3
分类
13
GitHub
最新文章
朝花夕拾:一场从 2012 年开始的游戏汉化2026-09-05
让 FlapPGA Mario 在浏览器里重新跑起来2026-08-25
DeepSeek 3FS 源码解读——客户端篇2025-03-16
DeepSeek 3FS 源码解读——RPC 篇2025-03-03
DeepSeek 3FS 源码解读——磁盘 IO 篇2025-03-02
分类
  • DeeCamp 20181
  • IT 杂谈2
  • Uncategorized1
  • 大学学习9
    • ucore8
  • 机器学习7
  • 游戏推荐2
  • 科普3
归档
  • 2026 年 09 月 1
  • 2026 年 08 月 1
  • 2025 年 03 月 4
  • 2025 年 01 月 1
  • 2023 年 09 月 1
  • 2023 年 08 月 1
  • 2022 年 08 月 3
  • 2022 年 07 月 1
网站信息
文章数目 :
89
最后更新时间 :
© 2017 - 2026 By howardlau
粤 ICP 备 17129444 号-1
搜索
数据加载中