技术博客
Kubernetes in Action笔记 - (10) 使用ConfigMap与Secret传递应用配置
向容器传递应用程序的配置参数 方法: 向容器传递命令行参数 为每个容器设置自定义环境变量 通过特殊类型的卷将配置文件挂载到容器中 向容器传递命令行参数 在Docker中定义命令与参数 容器中运行的完整指令由两部分组成:命令与参数。Dockerfile中的两种指令分别定义命令与参数这两个部分:
December 25, 2020
Kubernetes in Action笔记 - (9) 卷
卷 卷是 pod 的一个组成部分,不是独立的 Kubernetes 对象, 不能单独创建或删除。 pod 中的所有容器都可以使用卷, 但必须先将它挂载在每个需要访问它的容器中。
December 22, 2020
Kubernetes in Action笔记 - (8) 服务、Endpoint、Ingress
什么是服务 服务是一种为一组功能相同的 pod 提供单 一 不变的接入点的资源。当服务存在时,它的 IP 地址和端口不会改变 为什么需要服务 pod 的存在是短暂的,一个 pod 可能会在任何时候消失, 或许因为它所在节点发生故障, 或许因为有人删除了 pod, 或者因为 pod 被从一个健康的节点剔除了。 当其中任何一种情况发生时, 消失的 pod 将被ReplicationController 替换为新的 pod。 新的 pod 与替换它的 pod 具有不同的 IP 地址。
December 20, 2020
Kubernetes in Action笔记 - (7) DaemonSet、Job和CronJob
DaemonSet DaemonSet 用于确保一个pod匹配它的选择器并在每个节点上运行。因此,它并没有期望的副本数的概念。 如果节点下线, DaemonSet不会在其他地方重新创建pod。 但是, 当将一个新节 点添加到集群中时, DaemonSet会立刻部署一个新的pod实例。
December 13, 2020
Kubernetes in Action笔记 - (6) ReplicationController和ReplicationSet
托管的Pod 如果是直接创建Pod,当节点失效,这个Pod就会丢失。 如果是通过ReplicationController或者Deployment等资源来创建的,那就属于托管的资源。k8s集群会管理并检测它的运行状态,当一些意外情况发生的,k8s会自动采取应对措施。
December 13, 2020
Kubernetes in Action笔记 - (5) Pod的生命周期与探针
Pod生命周期 Pod的phase是Pod生命周期中的简单宏观描述,定义在Pod的PodStatus对象的phase 字段中。
December 11, 2020
Kubernetes in Action笔记 - (4) 标签、注解与命名空间
标签 什么是标签 标签是可以附加到资源的任意键值对。通过标签选择器,可以筛选出具有该确切标签的资源。
December 10, 2020
Kubernetes in Action笔记 - (3) Pod介绍
什么是Pod Pod是k8s的基本构建模块,包含一个或者多个容器。一个Pod中的所有容器都运行在同—个节点上,绝不跨越两个节点
December 3, 2020
Kubernetes in Action笔记 - (2) k8s集群架构
集群架构 k8s集群由很多节点组成,被分成两种类型:Master节点与Node节点。 Master节点 承载着控制和管理整个集群系统的 Control Panel。包含下面组件:
December 3, 2020
Kubernetes in Action笔记 - (1) 容器技术介绍
容器允许你在同一台机器上运行多个服务, 不仅提供不同的环境给每个服务, 而且将它们互相隔离。 容器与虚拟机比较 轻量级 和虚拟机比较, 容器更加轻量级, 它允许在相同的硬件上运行更多数量的组件。主要是因为每个虚拟机需要运行自己的一组系统进程, 这就产生了除组件进程消耗以外的额外计算资源损耗。而一个容器仅仅是运行在宿主机上被隔离的单个进程, 仅消耗应用容器消耗的资源, 不会有其他进程的开销。
December 2, 2020
Nginx服务器安全加固
基础知识 常用配置 顶部配置 #定义 Nginx 运行的用户和用户组 user nginx; #进程文件 pid /var/run/nginx.pid; #错误日志位置和级别,debug、info、notice、warn、error、crit error_log /var/log/nginx/error.log warn; #Nginx worker 的进程数,一般可设置为可用的CPU内核数。 worker_processes 8; #每个 worker 打开文件描述符的最大数量限制。理论值应该是最多打开文件数(系统的值ulimit -n) #与 nginx 进程数相除,但是 nginx 分配请求并不均匀,所以建议与ulimit …
November 22, 2020
Elastic Search vm.max_map_count too low 错误
在启动elastic search的时候,在启动日志看到下面的错误提示 Max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 解决这个问题,有两个办法:
November 19, 2020
利用frp与nginx实现公网访问NAS
能够在远程访问存储NAS上面的资料,才能真正发挥NAS的作用。但是对于没有公网IP的内网用户,如何实现在公网上面访问NAS,是一个需要事先解决的问题。
November 14, 2020
Cloudflare开启HTTPS加密后,请求转发到源站报522错误
笔者使用Cloudflare做DNS,同时使用Cloudflare的SSL证书服务。整个链路如下图: |----------| |-----------| |---------------| | Brower | ------> | Cloudfare | ------> | Origin Server | |----------| |-----------| |---------------| 笔者想要做整个链路的https,但是在配置完之后,打开页面是看到522的错误。这个错误表示连接上源站点,但是请求超时。可以参考这个页面来找到可能的原因: …
November 13, 2020
Ubuntu安装Postgres
ubuntu自带的软件仓库可能没有最新的postgres,这就需要自己手动添加安装源,再安装 # 添加安装源 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' # 导入key wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - # 更新软件列表 sudo apt-get update # 查找相关的软件 …
October 27, 2020