A ?Charis
一条咸鱼。
展开
-
Rancher-RKE2-安装流程
1.重要的是,RKE2 不像 RKE1 那样依赖 Docker。RKE1 利用 Docker 来部署和管理控制平面组件以及 Kubernetes 的容器运行时间。RKE2 将控制平面组件作为静态 pod 启动,由 kubelet 管理。嵌入的容器运行时是 containerd。token替换下面的 ,server 为rke2 server节点ip或者可以解析到的主机名。1.rke2是Rancher的下一代k8s发行版,一、什么是rke2?原创 2023-08-22 10:07:22 · 1142 阅读 · 0 评论 -
Rancher使用cert-manager安装报错解决
【代码】Rancher使用cert-manager安装报错解决。原创 2023-08-21 16:35:57 · 1111 阅读 · 0 评论 -
Rancher-RKE-install 部署k8s集群
请注意:一定要检查你ssh的用户是否具备使用docker的权限,而且一定要启动docker.SSH第一个是集群配置的path位置,如果没有指定每个主机的私钥路径或者私钥的内容,则默认使用集群的配置.,表示成功部署集群,可以开始使用集群。在创建 Kubernetes 集群的过程中,会创建一个。5.根据当前目录的上下文中的cluster.yaml 安装rke集群。你运行的主机需要具备ssh免密登录其他主机的能力。1.下载Rancher-Rke的二进制包-下面是项目的地址。1.CNCF认证的k8s安装程序。原创 2023-08-18 17:31:52 · 1355 阅读 · 1 评论 -
k8s calico 网络原理
nat后: srt: 2.2.2.30 (node ip ) dest: 1.1.1.1:443 (真实的pod ip + 端口)nat前: srt: 1.1.1.30 (client ip ) dest: 2.2.2.30:38888 (node ip + 端口)nat前: srt: 1.1.1.1:443 (真实的pod ip ) dest: 2.2.2.30 (node ip )原创 2023-10-23 10:59:11 · 377 阅读 · 0 评论 -
Docker 构建Python镜像时,pip使用国内地址的dockerfile模版
这个办法同样适用于:物理机,这个地址是阿里云的。因国内无法访问pip的配置文件中的仓库地址。原创 2023-10-14 18:08:25 · 951 阅读 · 0 评论 -
Gitops-万字保姆级教程-小白也可以轻松学会! (Part 3)-关于git你需要知道的事情
这是Devops系列文章的第三篇,从git命令学习。原创 2024-03-24 22:51:02 · 575 阅读 · 0 评论 -
4句话学习-k8s节点是如何注册到k8s集群并且kubelet拿到k8s证书的
三、看到有人拿着Bootstrap token的CSR来签名请求了,CSRAppprovingController会自动签名并且生成证书。服务器端会保存你的证书,让你来下载。二、ControllerManager有一个组件叫CSRAppprovingController,专门来Watch有没有人来使用我这个api.一、kubelet拿着CSR(签名请求)使用的是Bootstrap token。四、Kubelet会下载证书并且使用这个证书来访问Api-Server.原创 2024-06-06 22:34:15 · 511 阅读 · 0 评论 -
5分钟了解,Kustomize是什么工具?
那么就是说第一个deployment.yaml,其实就是定义的模版文件,但是一个非常完整的文件。另外两个development以及production,其实就是覆盖模版文件上的一些参数,来实现不同环境部署不同的配置文件。原创 2024-07-22 21:59:37 · 316 阅读 · 0 评论 -
几句话搞懂什么是docker image?它主要解决什么问题?他用什么技术实现的?
1、他使用联合文件系统基于层级概念保证docker image的不可变性。如出现读那就正常读,如有修改会新增一层复制底层中的文件进行修改,而不是直接修改原文件的内容。当你本地开发一个应用想测试,如果时虚拟机环境那你会重复做很多工作且还会出现兼容问题。2、docker image 因为可以推送到公网且镜像非常小以及本身都是标准化的产物,那么你可以在任何地方部署和移植。4、符合OCI标准的Runtime都可以运行docker image.1、除去LinuxOS内核资源的用户空间的一组资源集合的快照。原创 2024-06-09 10:38:24 · 408 阅读 · 1 评论 -
TOP10-k8s-安全措施
这包括 etcd 的客户端到服务器的通信(例如,API 服务器到 etcd 的通信),以及 etcd 集群内部的服务器到服务器的通信。:如果可能的话,你应该考虑使用外部的密钥管理系统,如 HashiCorp Vault 或 AWS KMS,来存储你的敏感数据。etcd保存着整个k8s集群的几乎所有资源信息,攻击者可以访问etcd那么可以说几乎拥有无限制对于k8s集群的访问权限。:你应该启用 etcd 的审计日志功能,以记录所有的请求。这可以帮助你检测任何未授权的访问尝试,以及跟踪问题的来源。原创 2024-06-02 23:06:19 · 822 阅读 · 0 评论 -
浅谈应用发布的4种方式
1、一套生产环境,例如10个副本,将其中3个副本部署为新版本。一套环境中将一小部分应用副本设置为“金丝雀”,对外提供新版本服务,这一小部分流量可以针对特定的用户,位置,终端类型进行区分。两套一摸一样的生产环境,一套对外提供业务服务(蓝),一套准生产服务(绿)。1、因为环境一致经过充分测试,回退率最低。1、业务连续性强,有问题只会小部分用户。1、即将现有生产环境的APP版本直接一刀切到新版本。1、无法限制为特定的用户提供服务。2、无法限制为特定的用户提供服务。1、可以针对小部分用户进行测试。原创 2024-05-31 13:12:15 · 478 阅读 · 0 评论 -
Linux文件系统讲解!
usr/bin 是二进制文件的主要存放位置,不是操作系统本身的一部分,大部分用户的程序放在这里,比如git等,有趣的人 /usr 不是代表User用户而是Unix System Resources。/usr/lib 包含/usr 二进制文件的库,这些库对于早期系统初始化并不重要。/usr/local/bin 保存由管理员安装的可执行文件,通常是从源码构建他们后放入的。/lib包含/bin和/sbin二进制文件正常运行所必需的共享库文件。在安装/usr之前,需要在引导过程的早起访问这些库,原创 2024-06-14 22:11:08 · 835 阅读 · 0 评论 -
几句话理解Kubetnetes中的Service资源的几种类型
master-host = mysql-cluster-0.mysql-cluster.default.svc.cluster.local 直接告诉Slave节点主节点在哪里,并且后端程序的配置文件也可以直接写mysql-cluster-0.mysql-cluster.default.svc.cluster.local告诉后端程序Mysql主的地址。2、且因为副本机制的存在,创建多副本的Pod以及实际需要访问服务的Pod不一定在同一个worker节点上,需要一个LB的机制。原创 2024-06-12 12:26:54 · 717 阅读 · 0 评论 -
了解Kubernetes-RKE2的PKI以及证书存放位置
默认位置:/etc/kubenetes/pki ,因为我是搭建的RKE2发行版的k8s,故我的PKI在这里:/var/lib/rancher/rke2/server/tls。3、但同理Api-server相对于Etcd和Kubelet那么,Etcd、Kubelet为Server端,则Api-server有一份对应的Client证书。可以方便理解为当你的集群有Server,Client架构,那么为了安全加密之间的通信,则需要使用证书进行交互,那么利用PKI架构可以安全加密组件之间的通信。简称:证书基础设施。原创 2024-06-06 22:21:54 · 855 阅读 · 0 评论 -
纯理论容器实现的原理
容器本质上就是主机上的一个进程。这个进程拥有自己的用户空间并且和主机共享内核空间。容器内的进程可以通过系统调用与内核进行交互,使用内核提供的各种功能和资源。简单的说就是将一个目录赋予一个进程作为这个进程运行的根目录的技术。六、容器是怎么挂载和使用主机的Dir的?当容器启动时,会使用overlay2存储驱动将容器的LowerDir、UpperDir、WorkDir、MergedDir镜像合并,组成容器的Rootfs(也就是容器的用户空间),并且在 Docker 中,当你使用-v或--volume。原创 2024-06-10 13:53:15 · 732 阅读 · 0 评论 -
4句话明白虚拟机和容器的区别
1、容器本质上是被namespace以及cgroup隔离和限制资源的进程。在容器之间的隔离相比虚拟机OS之前的安全性较差。2、扩展APP副本时到重复资源浪费(GustOS-libs)3、当你开发在本地但要移植到云端,就会出现各种兼容性问题。4、很难集成到DevOps管道中,因为CD阶段没有标准。服务器-HostOS-虚拟化层-GustOS-libs-App。服务器-HostOS-RunTime-App。原创 2024-06-09 10:13:16 · 323 阅读 · 0 评论 -
几句话明白什么是Kubernetes Operator?
答案肯定是不知道的,这个时候就需要人工干预,这个人就是操作员,也就是Operator。1、要实现软件Operator层面,Kubernetes本身的api是不能够完成这类任务的,因为Kubernetes不可能存储所有应用的控制生命周期的知识。3、那么Kubernetes设计之初就说我们是一个自动化、减少人工干预的、自动修复平台,是不是优点问题。1、有状态应用,比如数据库、复杂的集群系统(ELK),本身有选举、同步等机制的应用程序。3、这些被单独定义的CRD就是Operator的具体控制生命周期的“知识”。原创 2024-06-11 23:17:37 · 370 阅读 · 0 评论 -
Kubernetes-使用集群CA证书给用户颁发客户端证书访问Api-Server
创建了证书之后,为了让这个用户能访问 Kubernetes 集群资源,现在就要创建 Role 和 RoleBinding 了。解释:创建一个角色叫开发者,只有更新和创建以及列出对于Pod资源的权限,没有制定命名空间则默认使用default.设置 CSR 的 CN 和 O 属性很重要。CN 是用户名,O 是该用户归属的组。2、下面get pod 则验证了权限配置正常以及正确。比如我是rke2的发行版,默认是default,其他发行版类推。将上面的的开发者权限绑定到刚才颁发证书的user-myuser。原创 2024-06-02 22:05:13 · 931 阅读 · 0 评论 -
浅谈云原生安全
1、从Cluster的Node节点的OS开始就找信任和签名的发行版,避免高风险漏洞。3、使用CIS安全最佳实践对于OS、Cluster进行安全最佳实践处理。5、不同节点上的Pod之间 egress/ingress 通信必须存在严格限制的网络策略。4、针对RBAC的admin或者Clusteradmin角色和权限进行严格分发限制。2、具备信任和签名的Cluster的发行版,例如:Rke、Rke2。2、在code构建时,使用信任的构建工具。3、推送到的仓库是私有且信任的。二、云原生各个层级的安全实践有哪些?原创 2024-05-31 13:00:38 · 496 阅读 · 0 评论 -
Rancher-Kubewarden-保姆级教学-含Demo测试
它与k8s集群的api-server通信,并会监视api-server执行pod “create update ”等动作时,把执行的行为交给policy-server评估,是否符合我们策略的要求。总的来说,这个策略旨在增强 Kubernetes 的安全性,通过阻止创建 `NodePort` 类型的 Service,从而避免了潜在的安全风险。- 该策略的作用是检查 Service 资源的类型,并防止创建类型为 `NodePort` 的 Service。1、还记得我们下载安装的kwctl工具吗?原创 2024-05-10 12:41:21 · 931 阅读 · 0 评论 -
Gitops-万字保姆级教程-小白也可以轻松学会! (Part 1)-Gitlab与Gitlab-Ci
本文章分为2个部分:Part 1主要涉及Gitlab、Gitlab-Runner、Git-Ci、Sonar-qube。Part 2主要涉及Rancher、Fleet、Git-Ci。GitOps 是一种用于持续交付(CD)的实践,它将 Git 作为单一的真理来源和配置的中心。这种方法强调开发人员和运维团队使用 Git 进行版本控制、代码审查和自动化部署的能力,以提高软件开发和部署的速度、安全性和可靠性。也可以参考下面我的另外一篇博客。原创 2024-07-10 23:44:28 · 850 阅读 · 0 评论 -
Gitops-万字保姆级教程-小白也可以轻松学会! (Part 2)-ArgoCD
在Part 1中我们安装了Gitlab、配置了Gitlab-Runner、并且测试了最基本的Ci流水线。接着结合Sonar_qube对代码进行静态扫描并集成在Gitlab_Ci中。我们初步的完成了Ci阶段。这篇Part 2 主要涉及到CD阶段,通过Argo结合Gitops部署到我们的环境中。在Part 1 篇中我们使用的Python代码只用于演示Ci阶段,本次演示代码使用博主的Github开源仓库。开源万岁!一、Argo-CD是什么?总结。原创 2024-07-23 23:08:11 · 909 阅读 · 0 评论 -
Gitops-万字保姆级教程-小白也可以轻松学会! (Part 4)-Argo-Cli安装与使用
*选择合适的符合你操作系统以及CPU架构的二进制文件。原创 2024-07-24 23:08:05 · 431 阅读 · 0 评论