Kubernetes 入门实战课
罗剑锋
Kong 高级工程师,Nginx/OpenResty 开源项目贡献者
19527 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 41 讲
Kubernetes 入门实战课
15
15
1.0x
00:00/00:00
登录|注册

32|实战演练:玩转Kubernetes(3)

你好,我是 Chrono。
到今天,我们的“高级篇”课程也要结束了。比起前面的“初级篇”“中级篇”来说,这里的知识点比较多,难度也要高一些。如果你能够一篇不漏地学习下来,相信一定对 Kubernetes 有更深层次的认识和理解。
今天的这节课还是来对前面的知识做回顾与总结,提炼出文章里的学习要点和重点,你也可以顺便检验一下自己的掌握程度,试试在不回看课程的情况下,自己能不能流畅说出关联的操作细节。
复习之后,我们就来进行最后一次实战演练了。首先会继续改进贯穿课程始终的 WordPress 网站,把 MariaDB 改成 StatefulSet,加上 NFS 持久化存储;然后我们会在 Kubernetes 集群里安装 Dashboard,综合实践 Ingress、namespace 的用法。

要点回顾一:API 对象

“高级篇”可以分成三个部分,第一部分讲的是 PersistentVolume、StatefulSet 等 API 对象。
24 讲PersistentVolume 简称 PV,是 Kubernetes 对持久化存储的抽象,代表了 LocalDisk、NFS、Ceph 等存储设备,和 CPU、内存一样,属于集群的公共资源。
因为不同存储设备之间的差异很大,为了更好地描述 PV 特征,就出现了 StorageClass,它的作用是分类存储设备,让我们更容易去选择 PV 对象。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文是一篇关于Kubernetes高级应用的实战演练,主要包括对API对象、应用管理和集群管理的回顾与总结,以及在Kubernetes集群中搭建WordPress网站和安装Dashboard的实践。文章首先回顾了API对象的重要性,包括PersistentVolume、StorageClass、PersistentVolumeClaim等概念,以及StatefulSet的应用领域和特点。其次,对应用管理进行了讨论,包括版本更新、资源配额和健康检查等内容。最后,介绍了集群管理的相关知识,如名字空间、系统监控和网络通信。在实践部分,文章详细介绍了如何通过修改YAML文件来优化WordPress网站,实现MariaDB的数据持久化,并展示了如何在Kubernetes集群中安装Dashboard。整体而言,本文内容涵盖了Kubernetes高级应用的多个方面,适合对Kubernetes有一定了解并希望深入实践的读者阅读。文章内容丰富,涉及实际操作步骤,对于想要深入学习Kubernetes高级应用的读者具有很高的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 入门实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(14)

  • 最新
  • 精选
  • stefen
    如果能带主从的mariadb去部署wordpress就比较完美一些.

    作者回复: 主从部署比较麻烦,其实和Kubernetes关系不大,我不是专门做数据库的,这方面就只能藏拙了,如果有心得欢迎分享。

    2022-09-12归属地:北京
    4
  • nc_ops
    老师。“还是拿现成的模板修改”,模板在哪里?没找到。是在你发的dashboard项目网站里吗?模板名字是啥?

    作者回复: 可以参考之前讲Ingress那节课,里面有Ingress Controller的yaml示例。

    2022-12-16归属地:上海
    2
  • 极客酱酱
    在部署statefulset管理的maria pod时,不要忘了创建service对象,不然`maria-sts-0.maria-svc`是无效的,有可能报Error establishing a database connection maria-svc.yml内容如下: apiVersion: v1 kind: Service metadata: name: maria-svc spec: selector: app: maria-sts ports: - port: 3306 protocol: TCP targetPort: 3306

    作者回复: good

    2023-03-14归属地:四川
    2
    1
  • Geek_1d8cd9
    老师,我成功部署Wordpress后却发现伴随着每次虚拟机的重启,我之前在博客上上传的图片都会消失或者被破坏,但我写的文章却可以保存,所以我猜可能图片保存到了Wordpress这个Pod里,因为博客图片的保存路径为 /var/www/html/wp-content/uploads,所以我就想在wp-dep.yaml里再加一个PVC动态存储,把Pod里的/var/www/html/wp-content/uploads 挂载到 我创建的nfs 挂载目录 /app/nfs下,但这样做并没有成功,是我哪部分的方向有问题吗?

    作者回复: 应该没问题,看看是哪里出错,PV是否挂载成功了,还有WordPress配置是否正确,每个环节都检查一下。

    2023-10-27归属地:湖南
  • 未来已来
    1. 部署 dashboard 过程中被科学搞了一下,顺便删了 /etc/cni/net.d 下的 10-flannel.conflist 后发现成功了 2. 通过 dashboard 发现了两个 pod 在 terminating,一个 worker 挂掉了,处理后全绿了,666

    作者回复: great

    2023-09-17归属地:广东
  • 拓山
    k8s.test需要再kubetcl里配置吗? 这个点很困惑

    作者回复: k8s.test是一个域名,需要在使用浏览器的电脑上配置域名解析(如/etc/hosts),然后我们才能用浏览器通过域名来访问到kubernetes。

    2023-04-17归属地:浙江
    2
  • Lorry
    老师,按照流程,最后通过Ingress是可以访问到(https)的dashboard页面,但是页面是为空,看title以及页面源码确实有dashboard字样,但是没有具体内容,显示为空白页面。 会是什么原因导致的呢?

    作者回复: 先不用Ingress,看看直接访问dashboard是否正常,然后再看看是否Ingress配置的哪里有问题。

    2023-02-26归属地:四川
  • Geek_674ea8
    老师,为dashboard配置ingress时,配置好后还是无法通过浏览器使用域名访问(已在hosts添加),浏览器报503:gateway time-out,查看ingress-controller日志显示如下: Host is unreachable) while connecting to upstream, client: 10.10.1.1, server: k8s.test, request: "GET / HTTP/2.0", upstream: "https://10.10.0.19:8443/" 其中upstream的地址 10.10.0.19为kubernetes-dashbord的pod地址。 请问这种问题是什么原因造成的啊?

    作者回复: 看日志,503是nginx到后端出现错误,可能是kubernetes网络的问题,访问不了Pod,可以先不用Ingress controller,先用NodePort方式试试,再找找中间环节的问题。

    2023-02-03归属地:四川
  • nc_ops
    为什么kubernetes-dashboard的那些对象要处于2个不同的名字空间呢?有什么用吗

    作者回复: 没什么特别的意义,也可以放在一个名字空间里,分成两个主要是和之前的做法保持一致。

    2022-12-16归属地:上海
  • dao
    分享我遇到的问题: 1. 搭建 dashboard ,访问时一直有这个错误 “Client sent an HTTP request to an HTTPS server”,原因是 ingress 没有加上 nginx.org/ssl-services annotation(老师已经提醒了) 参考文档 https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-with-annotations/#backend-services-upstreams 2. 搭建 wordpress 时,ingress 有端口号,浏览器打开页面无法正常显示,比如主页 https://wp.test:30443/ ,加载页面资源时会变成 https://wp.test/xxxx ,丢失了端口号。这个问题不知道该如何解,请老师/同学帮忙解答,谢谢! (为了验证自己的想法,手动去改了 ingress controller pod 里 nginx 配置,强制设置“ proxy_set_header Host $host:430443; ”,可以凑效。)

    作者回复: 1. Ingress的配置比较复杂,需要多看它的文档。 2. Ingress代理WordPress的时候比较麻烦,因为它的重定向不太好配置,这个我不是太了解,有更好的方法欢迎分享。

    2022-10-06归属地:北京
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部