kind可以用以部署多个集群,适用于本地多集群测试与CI/CD测试支持多集群共享镜像缓存缺点:只适用于内核版本比较高的系统,像是almalinux等像是centos7.9就会因为内核版本落后,无法使用cgroup进行容器的资源隔离,启动时会报错
初始化内容(略过)包括安装docker,kubectl等
安装kind123curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.22.0/kind-linux-amd64chmod +x ./kindsudo mv ./kind /usr/local/bin/kind
创建单节点集群12345...
Minikube是一个开源的“本地Kubernetes引擎”,它可以在macOS、Linux和Windows平台上实现本地化的Kubernetes集群部署。
轻量级:Minikube使用虚拟化技术在本地创建一个单节点的Kubernetes集群,占用的资源相对较少,方便技术人员进行学习、实践和日常的项目开发。
多平台支持:Minikube可以在Windows、macOS和Linux等多个操作系统上运行,为不同平台的用户提供了本地化的Kubernetes开发环境。
简单易用:Minikube提供了一个简单的命令行界面,使得创建和管理本地Kubernetes集群变得非常容易。用户可以通过命令...
使用kubeadm使用kubeadm安装k8s时,证书有效期默认为一年
一年到了就需要进行有效期的延长
查看k8s集群的证书有效期1234567891011121314151617181920212223242526(k8s 1.21之前)kubeadm alpha certs check-expiration(k8s 1.21之后)kubeadm certs check-expiration可以看到还有32天就过期了[check-expiration] Reading configuration from the cluster...[check-expiration] FYI: Yo...
众所周知helm chart中有几个文件:Chart.yaml图表文件template资源文件Values.yaml变量文件_helpers.tpl模板函数文件
定义规范定义规范就是“官方推荐的”,默认自带的东西
使用helm create创建出来的chart就是这些东西都带的
Chart图表文件这个文件没什么东西
123456789101112apiVersion: v2name: qa-data-platformdescription: A Helm chart for Kubernetesversion: 0.5.1appVersion: "1.16.0"基本上...
项目概述场景概述公有云gitlab存放dockerfile,公有云jenkins现在要求公有gitlab更新时,自动构建dockerfile镜像并部署到公有、私有两套k8s
现有条件
允许创建新git仓库jenkins现有shell项目,拉取git代码后构建,使用容器ssh部署到公有环境
主要问题
不允许打vpn可以用jenkins webhook感知gitlab更新,但jenkins无法连接私有k8s即私有k8s无法感知gitlab更新
解决方案
创建新的B git,根据容器要求创建helm chart存放在B中
构建声明式jenkinsfile
当gitlab更新时,触发jenkin...
本文建议有helm基础再进行阅读甚至没有看官方文档,纯自己试验和理解来的
父子chart的关系说明helm的父chart和子chart说白了,关联性不大通过以下几个方式进行联系:
1.父Chart的Chart.yaml
需要在其中定义依赖项dependencies,通过列表的方式指定子chart的位置只有定义了依赖项,父Chart才知道有这么个子Chart并且同时指定了condition,condition这个字段指示了子Chart与Values关联的位置
2.父Chart的Values.yaml
Values文件众所周知是存放了yaml部署需要的变量,并且通过go进行引用渲染在渲染时,...
argoCD的优势1.只根据git的更新作为部署与更新的依据,能够清晰对比与现有部署的区别
2.只要通过修改git,就可以快速进行多环境的回滚
3.只需要通过对git项目做控制,不再需要对k8s做复杂的RBAC
4.从网络上来说,适用于公有云gitlab无法访问私有云k8s的场景
argoCD的组件与工作过程1.Repository Server——检索阶段
检索阶段会克隆应用声明式配置清单所在的 Git 仓库,将其读取到本地存储
可以支持k8s的yaml文件,helm的chart以及kustomize配置清单
2.Application Controller ——核对阶段
将检索阶段获...
本质上是一种CRD,本文介绍了使用kubectl与使用helm进行部署Operator的方式
CRD是一种k8s的自定义资源,可以通过yaml文件指定新的资源类型,包括资源的属性、版本、范围等
在自定义了资源之后,就可以使用这种资源,创建控制器来管理一些服务
但它的自定义,其实并不是从头开始的自定义,而是使用官方预先准备好的工具,我们定义CRD,其实是使用了官方提供的扩展
使用自定义CRD 官方示例123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354apiVersion: apiextensions.k8s.io/v1 # 指定使用的K...
最新版本,包括了docker与containerd