云计算-容器云
文章平均质量分 88
云计算-容器云
itachi-uchiha
哇~~哈哈
展开
-
【K8S 九】使用docker作为CRI
kubernetes将dockershim从kubelet中移除了,紧接着docker就宣布和Mirantis合作维护独立于Kubernetes之外的shim代码,作为Docker引擎API的一致CRI接口。这意味着我们可以像以前一样继续构建基于Docker引擎的Kubernetes环境,只需从内置的dockershim切换到外部的dockershim。......原创 2022-08-01 17:54:15 · 2435 阅读 · 0 评论 -
【K8S 八】使用containerd作为CRI
虽说要到1.27版本弃用,但是我发现自kubeadm安装部署1.24.2时,配置该参数已经不管用了,直接使用了CRI的默认配置,例如CRI是containerdplugins.plugins."io.containerd.grpc.v1.cri".sandbox_image="k8s.gcr.io/pause3.6"--container-runtime=remote在1.27会被移除,remote将会是--container-runtime的唯一值(也就是说没有配置的必要了,所以直接移除掉).......原创 2022-07-27 19:02:33 · 4244 阅读 · 0 评论 -
【K8S 七】Metrics Server部署中的问题
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get nodes.metrics.k8s.io)Failed to scrape node" err="Get \"https://x.x.x.x:10250/metrics/resource\": context deadline exceeded"原创 2022-07-27 16:25:05 · 8739 阅读 · 0 评论 -
构建openGauss-Lite-5.0.2-openEuler基础镜像
如果使用Dockerfile中RUN指令,执行su - user切换不生效。;但是,即便使用了--privileged,设置的sysctl也不会被写到image配置中,即便修改了/etc/sysctl.conf,也不会生效;通过--sysctl kernel.sem=value进行设置,su - user切换之后也会失效。原创 2024-08-15 11:19:37 · 873 阅读 · 0 评论 -
kubernetes集群部署:node节点部署和cri-docker运行时安装(四)
是一个外部的开源项目,目的是提供一个兼容 Kubernetes CRI 的 Docker 运行时。它是 Docker 和 Kubernetes 之间的桥梁,使 Kubernetes 可以使用 Docker 作为容器运行时,同时符合 CRI 标准。原创 2024-07-06 14:21:35 · 1324 阅读 · 0 评论 -
kubernetes集群部署:node节点部署和CRI-O运行时安装(三)
Kubernetes最初使用Docker作为默认的容器运行时。然而,随着Kubernetes的发展和OCI标准的确立,社区开始寻找更专门化的解决方案,以减少复杂性和提高性能。CRI-O的主要目标是提供一个轻量级的容器运行时,它可以直接运行OCI容器镜像,并与Kubernetes无缝集成。原创 2024-07-06 14:10:46 · 931 阅读 · 0 评论 -
kubernetes集群部署:环境准备及master节点部署(二)
是 Calico 的核心组件,负责管理节点上的网络配置和策略实施。负责 Calico 与 Kubernetes API 的交互,确保配置一致性和高可用性。用于大规模集群中,聚合和分发数据,减少 API 服务器的负载,提高性能。下一篇:《kubernetes集群部署:node节点部署和CRI-O运行时安装(三)》原创 2024-07-05 16:14:46 · 890 阅读 · 0 评论 -
kubernetes集群部署:关于CRI(一)
上周接到了一项紧急预研任务:kubernetes各项属性采集。目前我手里已经存在二进制部署的一套kubernetes(v1.23版本+CRI:dockershim)集群;为了适配的广泛性,决定使用kuberadm工具部署最新(v1.30版本)版本的kubernetes,并适配各种CRI。原创 2024-07-05 15:50:05 · 793 阅读 · 0 评论 -
kubernetes集群部署GlusterFS分布式文件系统
#1.metadata:data:EOF##2.metadata:true 2d23h定义文件如下,该PVC申请1G空间,StorageClass使用gluster-heketi。PVC一旦生成,系统便触发Heketi进行相应操作:1、GlusterFS集群上创建Brick,再创建Volume。原创 2024-05-31 11:29:47 · 1042 阅读 · 0 评论 -
harbor配置目录被误删后救援
问题找到了,接着只能开源或者截流了,本着节俭的原则,du -hs /*查看系统上一级目录的磁盘使用情况,发现:harbor镜像仓库的/data目录、docker的/var/lib/docker目录占用了90%的磁盘,这下好了只能开源了(磁盘扩容),不死心的我还是删了一些边边角角的文件。然鹅踩雷了,一条rm -rf /opt/harbor*把harbor仓库的启动配置目录给删了(无法通过docker-compose启动了,直接用docker启动那是麻烦给麻烦他妈开门)。自此,问题生了baby。原创 2024-02-27 17:52:50 · 422 阅读 · 0 评论 -
在现有Kubernetes集群中扩展Node节点(二进制安装)
现有Kubernetes集群扩展Node节点,算是常规操作;那么,如何扩展呢?二进制安装则要稍稍麻烦一些。这里只探讨首次安装kubernetes集群时,node安装和后续扩展node的不同点。原创 2023-09-22 19:07:42 · 173 阅读 · 0 评论 -
删除Terminating状态的namespace:cattle-system
这里以cattle-system为例!执行删除命令后namespace(也是用其他k8s object)仍然存在,首先执行。5、清理json文件:rm -rf ${NAMESPACE}.json。2、执行如下代码,需指定要删除的。4、直接调用apiserver。原创 2023-03-28 13:53:22 · 925 阅读 · 0 评论 -
【云原生 三】 kubelet调用CRI的演进过程
那么,什么是dockershim呢?dockershim是一个grpc服务,监听一个socket供kubelet连接,dockershim收到kubelet的请求后,将其转化为RESTAPI请求,再发送给dockerdaemon。我们上一张图就清楚了,其实就是硬编码到kubelet的一个模块,其作用就是,充当cri-client同cri服务端通信。因为dockershim硬编码在了kubelet中,只要我们安装了docker,原生就支持,无需多余的配置。......原创 2022-08-01 17:55:47 · 614 阅读 · 0 评论 -
【云原生 二】 Docker架构演进过程
从1.4版本开始接触docker,到现在的20.10.*版本,可以说docker已经女大十八变。很早就想总结一下docker架构的几次大的变化,虽然留意并感觉到了docker架构的变化,苦于“难见以前的她”,以及具体在哪个版本开始变化的,所以一直没有搞。总有些志同道合的人已经做了这件事,翻看了一下他们的总结+实际实验,所以我也来说道说道。这里我划分了四个时期docker早期架构、docker中期架构、docker晚期架构、docker现有架构。...原创 2022-07-29 12:25:55 · 566 阅读 · 0 评论 -
【云原生 一】 CRI、OCI、containerd和CRI-O、runc
讨论CRI、OCI、containerd和CRI-O、runc,其实就是一个概念问题,看图更易理解含义,所以先上两张图。/usr/bin/containerd-shim-runc-v2:containerd-shim启动后会去启动/usr/bin/containerd-shim-runc-v2,然后立即退出,此时containerd-shim-runc-v2的父进程就变成了systemd(1),这样containerd-shim-runc-v2就和containerd脱离了关系,即便containerd退原创 2022-07-29 10:22:26 · 2148 阅读 · 2 评论 -
【K3S 一】部署K3S集群(单Master)
目录K3S嵌入式组件及其版本K3S工作架构拓扑在线快速安装(Quick-Start - Install Script)离线安装(Air-Gap Install)高级配置私有仓库配置使用Docker作为容器运行时普通用户执行客户端命令FAQK3S嵌入式组件及其版本如下列表所示,K3S嵌入式集成了K8S集群所需的几乎所有关键组件,其中从Kubernetes到FLannel被集成到了K3S二进制可执行程序;从Metrics-server到Local-path-pro.原创 2021-04-09 19:30:09 · 5867 阅读 · 0 评论 -
【K8S 一】使用kubeadm工具快速部署Kubernetes集群(单Master)
安装前配置依赖包安装yum -y install iproute-tcconntrackipsetipvsadmkube-proxy开启ipvs的前置条件 (ALL NODE)modprobe br_netfilter ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack_ipv4关闭防火墙不关闭防火墙,需要将比较多的端口添加到例外,否则会出现比较多的坑,需要你填。例如:kubeadm init时的警告: ..........原创 2020-11-10 17:10:35 · 11920 阅读 · 0 评论 -
【K8S 二】搭建Docker Registry私有仓库(自签发证书+登录认证)(K8S和非K8S环境下)
Go 1.15 版本开始废弃 CommonName,因此推荐使用 SAN 证书docker run -d -e REGISTRY_AUTH="htpasswd" -e REGISTRY_AUTH_HTPASSWD_PATH="/auth/htpasswd" \ -e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \ -v /opt/registry/images:/var/lib/registry \原创 2020-11-19 15:58:24 · 6187 阅读 · 0 评论 -
【K8S 三】部署 metrics-server 插件
目录安装前提下载镜像并配置启动YAML部署并验证安装前提下面所有操作的前提是已经存在搭建好的Kubernetes集群环境,且apiserver要配置证书,且metrics-server也需要CA证书,不然就会报错:(使用kubeadm工具会简单很多)Expected to load root CA config from /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, but got err: open /var/..原创 2020-11-20 18:09:18 · 4162 阅读 · 0 评论 -
【K8S 四】部署 kubernetes-dashboard 插件
目录修改配置并安装下载配置文件并修改配置创建并查看状态访问访问方式创建访问用户Bearer TokenKubeconfig修改配置并安装下载配置文件并修改配置wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yamlcp recommended.yaml kube-dashboard.yaml编辑kube-dashboar.原创 2020-11-23 15:38:15 · 727 阅读 · 1 评论 -
【K8S 五】使用kubeadm工具快速部署Kubernetes集群(Master高可用集群)
目录安装前配置安装 Kubeadm(ALL NODE)部署外部 etcd 节点初始化主节点(MASTER NODE)初始化Master-01 安装网络-Flannel 其他Master节点接入Master集群Work Node加入集群(WORK NODE)安装前配置IP地址 角色1 角色2 K8S版本 ETCD版本 master-01/192.168.35.7 Master节点 ETCD节点 ...原创 2021-03-03 17:45:51 · 1139 阅读 · 2 评论 -
【K8S etcd篇】部署etcd 3.4.14 集群
路漫漫其修远兮,坑何其多?今天不讲etcd集群的搭建步骤,只记述期间填过的坑。etcd集群,通过etcdctl member list和etcdctl cluster-health、etcdctl endpoint health进行检查,正常效果如下:# etcdctl --peers https://192.168.35.7:2379 --ca-file=/opt/etcd/tls-certs/ca.pem --cert-file=/opt/etcd/tls-certs/etcd.pem -.原创 2021-03-02 14:47:50 · 3580 阅读 · 1 评论 -
【K8S 六】Harbor镜像仓库高可用方案(更新:2022-06-21)
主备方案一:Push镜像到主节点,每次通过vip登录即可(无需判断节点角色),备节点设置“Pull-based”复制模式和“定时”触发模式高频拉取镜像:每小时甚至每分钟拉取一次;(资源浪费)主备方案二:Push镜像到备节点,每次登录需要先判断哪个是备节点(因为vip会浮动),备节点设置“Push-based”复制模式和“事件驱动”触发模式推送镜像;(较完美:Push镜像到备节点,需要在操作台设置备节点IP到reg.harbor.4a的映射)............原创 2022-06-14 00:41:29 · 3406 阅读 · 2 评论 -
Helm3.0安装及发布应用
打包Chart Package并发布自定义chart配置信息进行打包发布chart包helm通过repo启动新发布的chart包FAQ原创 2022-07-13 20:20:01 · 2653 阅读 · 0 评论 -
IPv6:配置Docker支持IPv6
首先,Docker对IPv6的支持肯定没有IPv4好;其次,如果可以使用Docker的host网络模式,就可以借用host的IPv6协议栈进行通信,而无需多余配置;以实现容器ipv6通信的需求。Docker开启IPv6支持vi /etc/docker/daemon.json{ "ipv6": true, "fixed-cidr-v6": "fd00:db8:1::/64"}Docker开启ip6tables支持# 设置ip6tables为true,该功能为experime.原创 2021-09-06 15:08:46 · 25508 阅读 · 0 评论 -
WSL2下运行Docker
WSL2来了为什么要升级到WSL2?第一代的WSL 并不“完整”。说到底 WSL 还只是一个用于访问 Linux 环境的兼容层,并没有实现 Linux 内核的完整功能。而 WSL2 基于Hyper-V功能的子集提供了“真正的 Linux 内核”。安装WSL2功能模块第一步:启动WSL:如果之前没有用过 WSL,那么首先需要安装 Windows 10 的 WSL 功能。打开 PowerShell ,使用管理员权限运行:(执行完下面的命令,建议执行第二步,更新到WSL 2,但是如果你只是想.原创 2020-12-03 09:26:17 · 5718 阅读 · 1 评论 -
华为服务器(鲲鹏)aarch64/arm64架构下安装部署K8S(kubeadm工具)
具体安装步骤同《使用kubeadm工具快速部署Kubernetes集群》,不再赘述,这里记录一下填过的坑。坑一:Docker Image必须是arm64 架构的或者兼容arm64架构因kubeadm工具安装部署k8s平台,除了kubelet外,kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、etcd、cni插件、CoreDNS都是容器部署,所以要求所有的Docker Image必须是arm64 架构的。而大多数的Im原创 2020-11-18 13:14:17 · 6993 阅读 · 0 评论 -
Cgroup drivers:systemd cgroupfs 区别
通过下面内容可知:systemd和cgroupfs都是CGroup管理器,而systemd是大多数Linux发行版原生的。如果Docker运行时和kubelet的CGroup驱动配置为cgroupfs,则意味着使用了systemd作为init system的系统上有两个不同的CGroup管理器。https://kubernetes.io/docs/setup/production-environment/container-runtimes/Whensystemdis chosen as th..原创 2020-11-10 18:48:56 · 3632 阅读 · 0 评论 -
开启单机模式:配置master节点也作为worker node可运行pod(MASTER NODE)
目录删除原有的taint设置看当前taint的情况恢复污染点删除原有的taint设置kubectl taint nodes rhel-8-11.8 node-role.kubernetes.io/master-看当前taint的情况kubectl describe node rhel-8-11.8Taints: node-role.kubernetes.io/master:NoScheduleTaints:一项的值如果是:<none&...原创 2020-11-10 17:20:21 · 2053 阅读 · 0 评论 -
k8s网络插件flannel模式剖析:vxlan、host-gw、directrouting(vxlan+host-gw)
下面的博客写得非常好,实在没有再赘述一篇的必要了,标题也借用了该微博的,想要了解相关内容的同学,请移步:https://www.cnblogs.com/sandshell/p/11769642.html原创 2020-09-06 15:07:40 · 937 阅读 · 0 评论 -
kubelet runtime
--container-runtime string The container runtime to use. Possible values: 'docker', 'remote'. (default "docker")下面这篇博客写得挺好,大家可以移步下面链接进行阅读:https://segmentfault.com/a/1190000022163808...原创 2020-09-06 13:03:07 · 167 阅读 · 0 评论 -
Docker容器环境下,JDBC连接oracle Connection reset异常
启动微服务,查看日志在初始化数据源卡死,过几分钟之后,报:Caused by: java.sql.SQLRecoverableException: IO 错误: Connection reset……Caused by: java.net.SocketException: Connection reset网上查找原因,给出的解决方法是,增加启动参数:-Djava.security.egd=file:/dev/urandom查看了一下程序启动参数已经添加了。后来Doc..原创 2020-08-28 18:30:05 · 1118 阅读 · 0 评论