
k8s与docker容器技术
文章平均质量分 80
容器技术的应用以及容器管理
IT艺术家-rookie
IT艺术家
展开
-
k8s--集群内的pod调用集群外的服务
直接使用Pod网络的话,需要知道Pod的IP,但Pod重启后IP会变,这可能不太稳定。另外,用户可能需要了解如何配置服务的Endpoints来指向外部服务的IP和端口,这样可以通过Kubernetes的服务发现机制来访问外部服务。我个人的场景是跑了一个后但服务的pod,但是数据库,redis在我自己的电脑上,在公司我的电脑和集群的电脑是可以直接通信的,所以使用方法1来解决。还需要考虑网络策略和防火墙的问题,确保Kubernetes集群的节点和外部服务的电脑之间的网络是通的,端口没有被防火墙阻止。原创 2025-03-19 22:23:19 · 658 阅读 · 0 评论 -
k8s--部署k8s集群--控制平面节点
Vmware虚拟机,使用Ubuntu 24.04.1 LTS无桌面操作系统。注意:在配置网络的时候要正确,不然后面下载系统组件会失败。原创 2025-01-29 12:35:24 · 1868 阅读 · 0 评论 -
docker-记录一次docker-compose部署容器挂载权限问题
需要在单独的docker环境部署一套应用程序,包括mqtt,数据库,应用等。原创 2024-09-02 14:56:55 · 1154 阅读 · 0 评论 -
k8s--基础架构--Mixed Version Proxy
Mixed Version Proxy 是 Kubernetes 1.28 中的一个新特性,处于 alpha 阶段。:它允许 API Server 将资源请求代理给其他同伴 API Server。:这在集群中存在多个运行不同 Kubernetes 版本的 API Server 时非常有用,例如在长期部署新版本 Kubernetes 过程中。这个特性使得集群管理员能够配置高可用的集群,并更安全地进行升级,通过将资源请求(在升级过程中发出的请求)定向到正确的 kube-apiserver。原创 2023-10-18 08:53:22 · 311 阅读 · 0 评论 -
k8s--基础架构--容器运行时接口 (CRI)和垃圾回收
Container Runtime Interface(CRI)是一个插件接口,它使能够使用各种,无需重新编译集群组件。您需要在集群中的每个节点上安装一个可用的容器运行时,以便kubelet能够启动Pod和它们的容器。容器运行时接口(CRI)是kubelet和容器运行时之间通信的主要协议。Kubernetes容器运行时接口(CRI)定义了集群组件kubelet和容器运行时之间通信的主要gRPC协议。原创 2023-10-07 09:11:23 · 819 阅读 · 0 评论 -
k8s--架构基础--cgroup v2
cgroup v2是Linux cgroup API的下一个版本。cgroup v2提供了一个统一的控制系统,具有增强的资源管理能力。单一统一的层次结构设计更安全的子树委派给容器支持新特性,如Pressure Stall Information(压力停顿信息)提供跨多个资源的增强资源分配管理和隔离对不同类型的内存分配(网络内存、内核内存等)进行统一的记账记账非即时资源变化,例如页面缓存写回某些Kubernetes特性专门使用cgroup v2来增强资源管理和隔离。原创 2023-09-26 09:09:46 · 2119 阅读 · 0 评论 -
k8s--架构基础--云控制器管理器
RBAC ClusterRole的具体配置取决于云控制器管理器所需的操作和访问权限。它可能涵盖对集群范围的各种资源的访问权限,如Node、Pod、Service、Endpoint等。此外,它还可以涉及到一些底层云基础设施的访问权限和操作权限,以便云控制器管理器能够执行特定的云操作。原创 2023-09-25 12:40:11 · 727 阅读 · 0 评论 -
k8s--基础架构--租赁(Lease )
分布式系统通常需要租约(leases),。在Kubernetes中,租约的概念在Kubernetes中,Lease对象用于协调集群中的节点和组件之间的通信和协作。例如,每个节点都会创建一个Lease对象,以向其他节点宣告自己的存在,并定期发送心跳信号以表明其健康状态。此外,Lease对象还可用于组件级别的领导者选举,例如选举控制器中的主节点。通过使用Lease对象,Kubernetes可以确保系统中的节点和组件之间的通信和协作得以平稳进行,增强了集群的可靠性和稳定性。原创 2023-09-24 10:58:08 · 882 阅读 · 0 评论 -
k8s--基本架构--节点与控制平面之间的通信
记录了API服务器和Kubernetes集群之间的通信路径。其是允许用户自定义安装,以加固网络配置,从而使集群能够在不受信任的网络上运行(或在云提供商上的完全公共IP上运行)。简单来说,这篇文档描述了Kubernetes中控制平面(Control Plane)和节点之间的通信方式。控制平面,用于管理和控制整个集群。节点则是集群中运行实际工作负载的主机。:API服务器是,通过API服务器可以对集群进行各种操作。它需要与节点进行通信,以便获取节点的状态、分配任务、监控节点健康状况等。原创 2023-09-23 15:47:52 · 392 阅读 · 0 评论 -
k8s---基本架构--节点
那么在kubelet的配置中,可以通过设置来指定每个优先级类别的关机期间。优先级值为100,000的Pod:将有10秒的时间来停止优先级值为10,000的Pod:将有180秒的时间来停止优先级值为1,000的Pod:将有120秒的时间来停止优先级值为0的Pod(regular/unset):将有60秒的时间来停止这个配置表示具有不同优先级值的Pod将有不同的关机期间。Kubelet将根据Pod的优先级值来确定每个优先级类别的关机时间,以确保在节点关机期间能够有序地终止Pod的运行。原创 2023-09-20 12:29:05 · 492 阅读 · 0 评论 -
k8s--基本概念理解
例如:tier!= frontend前者选择所有标签键等于environment且值等于production的资源。后者选择所有标签键等于tier且值不等于frontend的资源,以及所有没有带有tier键的标签的资源。可以使用逗号运算符来过滤掉在production环境中的前端资源:environment=production,tier!=frontend基于相等性的标签要求的一个使用场景是Pods指定节点选择条件。原创 2023-08-24 21:58:07 · 1183 阅读 · 0 评论 -
k8s--使用cornJob定时执行sql文件
时间表 0 * * * * 表示在每小时的第 0 分钟执行,也就是每小时执行一次这里是使用的我自己常见的一个镜像,在alpine中加入了postgres,为了使用psql工具,数据库密码和账户存在了secret中,secret的name是capital-airport-backend。原创 2023-08-10 15:09:55 · 609 阅读 · 0 评论 -
docker---网络
默认情况下,主机上/etc/hosts文件中定义的自定义主机不会被容器继承。每个容器都有自己独立的网络命名空间,其中包括自己的/etc/hosts文件。如果你想将额外的主机添加到容器中,可以在创建容器时修改容器的/etc/hosts文件。这可以通过在运行docker run命令时使用--add-host标志来实现。--add-host标志允许你在容器的/etc/hosts文件中指定额外的条目。以上命令将在运行容器时,在容器的/etc/hosts文件中添加了一条记录,将myhost映射到的IP地址。原创 2023-08-03 09:17:17 · 1737 阅读 · 0 评论 -
docke--部署TimescaleDB
创建一个TimescaleDB容器:使用以下命令创建一个TimescaleDB容器。将替换为您自己的容器名称。这将在后台启动一个新的容器,并将容器的5432端口映射到主机的5432端口。这将打开一个与TimescaleDB容器中的PostgreSQL实例的交互式终端会话。将替换为您想要创建的数据库名称。这将在您的数据库中启用TimescaleDB扩展,使其成为一个时间序列数据库。现在,已经成功安装和部署了TimescaleDB。原创 2023-07-12 14:16:15 · 989 阅读 · 0 评论 -
k8s--configMaps
该配置有修改,不一定能直接用,重点是volumes部分。这样就可以和读取本地的yaml文件一样。原创 2023-06-28 10:48:25 · 499 阅读 · 0 评论 -
Docker学习
Docker图形化管理工具。提供一个后台面板给我们操作–restart=always 启动方式-v /var/run/docker.sock:/var/run/docker.sock 挂载–privileged=true 权限访问测试:外网:http://39.105.163.53:8088/注册页面:注册之后:local平时不会使用这个面板docker 的理念: 将应用和环境打包成一个镜像总结一句话:容器的持久化和同步操作!容器间也是可以数据共享的!原创 2023-06-22 22:44:07 · 1601 阅读 · 0 评论 -
docker --hbase部署
【代码】docker --hbase部署。原创 2023-06-27 15:42:00 · 1358 阅读 · 0 评论 -
k8s--工作负载资源
default 没有指明使用其它名字空间的对象所使用的默认名字空间kube-system Kubernetes 系统创建对象所使用的名字空间kube-public 这个名字空间是自动创建的,所有用户(包括未经过身份验证的用户)都可以读取它。这个名字空间主要用于集群使用,以防某些资源在整个集群中应该是可见和可读的。这个名字空间的公共方面只是一种约定,而不是要求。kube-node-lease 此名字空间用于与各个节点相关的 租约(Lease)对象。原创 2022-09-16 11:41:37 · 770 阅读 · 0 评论 -
k8s--serviec,endpoint,ingress和pod
service,endpoints,ingress原创 2022-09-15 16:34:02 · 1696 阅读 · 0 评论 -
docker--基础(一)
docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。原创 2022-08-21 14:08:14 · 201 阅读 · 0 评论 -
k8s--部署单机版MySQL,并持久化
k8s部署,持久化mysql原创 2022-06-21 16:53:47 · 628 阅读 · 0 评论 -
k8s --使用secret
为什么要使用secret官网说明以前一些数据库密码可能会写在配置文件中springboot工程中一般是application.yaml。有的会直接写明文,有的加密之后把密文写在配置文件中。k8s中secret是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Secret 意味着你不需要在应用程序代码中包含机密数据。Secret 类似于 ConfigMap 但专门用于保存机密数据。Pod使用SecretPod有用三种方式来使用 Sec原创 2022-04-20 16:20:46 · 4167 阅读 · 0 评论 -
k8s--部署单机版MySQL,并使用本地可视化工具连接
k8s部署部署k8s准备rc文件和svc文件mysql-rc.yamlapiVersion: v1kind: ReplicationControllermetadata: name: mysqlspec: replicas: 1 selector: app: mysql template: metadata: labels: app: mysql spec: containers: - name:原创 2022-04-13 23:26:02 · 1486 阅读 · 0 评论 -
k8s--kubeadm安装部署k8s
在master1需要安装CFSSL工具,这将会用来建立 TLS certificates。wget "${CFSSL_URL}/cfssl_linux-amd64" -O /usr/local/bin/cfsslwget "${CFSSL_URL}/cfssljson_linux-amd64" -O /usr/local/bin/cfssljsonsudo chmod +x /usr/local/bin/cfssl /usr/local/bin/cfssljson............原创 2022-04-02 14:44:25 · 2678 阅读 · 2 评论 -
CentOs7
这里使用的是中文版的一、安装docker官网安装教程1.卸载旧版本旧版本的 Docker 被称为docker或docker-engine. 如果安装了这些,请卸载它们以及相关的依赖项。 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker原创 2022-03-23 22:21:00 · 3268 阅读 · 0 评论 -
Docker的使用
docker镜像加速创建或修改 /etc/docker/daemon.json 文件,修改为如下形式{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ]}window本地docker阿里云配置容器命令进入当前正在运行的容器一般我们打包的项目,比如gola原创 2022-01-12 16:29:01 · 299 阅读 · 0 评论