TKE:腾讯云容器服务,Kubernetes 版本:1.24.4,containerd 版本:1.6.9
Helm 版本:helm 3,本文采用 helm 方式部署 Harbor。参考:Helm安装和使用
Harbor 版本:1.11.1
COS:腾讯云对象存储
CFS:腾讯云文件存储(可理解为NFS)
TKE:腾讯云容器服务,Kubernetes 版本:1.24.4,containerd 版本:1.6.9
Helm 版本:helm 3,本文采用 helm 方式部署 Harbor。参考:Helm安装和使用
Harbor 版本:1.11.1
COS:腾讯云对象存储
CFS:腾讯云文件存储(可理解为NFS)
在之前的文章 通过 Service 访问 Pod 集群 中,学习了两种方法做 pod 负载,分别是 ClusterIP
和 NodePort
,也提到了 LoadBalancer
,仅仅是提了一嘴。
在正常的生产环境中,当使用了 NodePort
类型暴露服务时,每台集群节点的 nodeport 端口都能够去访问,
使用 kubectl 命令时,最烦人的就是频繁的切换命名空间了,查看什么资源都得加命名空间,每次敲命令在习惯也会很烦。今天在网上看到一篇文章,很有用,可以记住上一次使用 kubectl 时操作的命名空间。
在实际的生产环境中遇到了这样的问题:集群中有大量 k8s 节点,在部署应用时,需要拉取私有仓库(harbor/registry)的私有项目镜像,也就是节点必须 docker login
之后才可以正常拉取到镜像。但是也不可能每个节点都这样去做,或者写脚本把用户密码明文暴露,显然是不合适的
需要将镜像仓库的认证凭据(域名/ip,用户名,密码)保存在 k8s 中
相信大家在使用 kubeadm init
时,会发现在 /etc/kubernetes/pki
目录下生成一大堆证书文件;还有一些 k8s 插件在部署时,会创建 RBAC,这些都是为了 kubernetes 的安全而产生的。
- Authentication(鉴权):鉴定访问集群的身份
- Authorization(授权):在确认身份的基础上,给定符合身份的权限
- Admission Control(准入控制):安检
在前面的学习中,发现做的例子都是 Deployment ,且大部分使用 web 应用去做示例,为什么不用 mysql 类似数据库来做示例呢。
在 LNMP 架构中,应该了解过动静分离,也就是动态数据和静态数据,是以是否需要去访问数据库去进行读写数据来区分的。
Kubernetes 同样也区分了有状态应用和无状态应用,之前常用的 Deployment 就是为无状态应用而使用的。本文中提到的 StatefulSet 就是为有状态应用使用的。
1 / 4