技术博客

Kubernetes in Action笔记 - (10) 使用ConfigMap与Secret传递应用配置

kubernetesconfigmapsecret

向容器传递应用程序的配置参数 方法: 向容器传递命令行参数 为每个容器设置自定义环境变量 通过特殊类型的卷将配置文件挂载到容器中 向容器传递命令行参数 在Docker中定义命令与参数 容器中运行的完整指令由两部分组成:命令与参数。Dockerfile中的两种指令分别定义命令与参数这两个部分:

更多 →

December 25, 2020

Kubernetes in Action笔记 - (9) 卷

kubernetes

卷 卷是 pod 的一个组成部分,不是独立的 Kubernetes 对象, 不能单独创建或删除。 pod 中的所有容器都可以使用卷, 但必须先将它挂载在每个需要访问它的容器中。

更多 →

December 22, 2020

Kubernetes in Action笔记 - (8) 服务、Endpoint、Ingress

kubernetes

什么是服务 服务是一种为一组功能相同的 pod 提供单 一 不变的接入点的资源。当服务存在时,它的 IP 地址和端口不会改变 为什么需要服务 pod 的存在是短暂的,一个 pod 可能会在任何时候消失, 或许因为它所在节点发生故障, 或许因为有人删除了 pod, 或者因为 pod 被从一个健康的节点剔除了。 当其中任何一种情况发生时, 消失的 pod 将被ReplicationController 替换为新的 pod。 新的 pod 与替换它的 pod 具有不同的 IP 地址。

更多 →

December 20, 2020

Kubernetes in Action笔记 - (7) DaemonSet、Job和CronJob

kubernetes

DaemonSet DaemonSet 用于确保一个pod匹配它的选择器并在每个节点上运行。因此,它并没有期望的副本数的概念。 如果节点下线, DaemonSet不会在其他地方重新创建pod。 但是, 当将一个新节 点添加到集群中时, DaemonSet会立刻部署一个新的pod实例。

更多 →

December 13, 2020

Kubernetes in Action笔记 - (6) ReplicationController和ReplicationSet

kubernetes

托管的Pod 如果是直接创建Pod,当节点失效,这个Pod就会丢失。 如果是通过ReplicationController或者Deployment等资源来创建的,那就属于托管的资源。k8s集群会管理并检测它的运行状态,当一些意外情况发生的,k8s会自动采取应对措施。

更多 →

December 13, 2020

Kubernetes in Action笔记 - (5) Pod的生命周期与探针

kubernetes

Pod生命周期 Pod的phase是Pod生命周期中的简单宏观描述,定义在Pod的PodStatus对象的phase 字段中。

更多 →

December 11, 2020

Kubernetes in Action笔记 - (4) 标签、注解与命名空间

kubernetes

标签 什么是标签 标签是可以附加到资源的任意键值对。通过标签选择器,可以筛选出具有该确切标签的资源。

更多 →

December 10, 2020

Kubernetes in Action笔记 - (3) Pod介绍

kubernetes

什么是Pod Pod是k8s的基本构建模块,包含一个或者多个容器。一个Pod中的所有容器都运行在同—个节点上,绝不跨越两个节点

更多 →

December 3, 2020

Kubernetes in Action笔记 - (2) k8s集群架构

kubernetes

集群架构 k8s集群由很多节点组成,被分成两种类型:Master节点与Node节点。 Master节点 承载着控制和管理整个集群系统的 Control Panel。包含下面组件:

更多 →

December 3, 2020

Kubernetes in Action笔记 - (1) 容器技术介绍

kubernetescontainer

容器允许你在同一台机器上运行多个服务, 不仅提供不同的环境给每个服务, 而且将它们互相隔离。 容器与虚拟机比较 轻量级 和虚拟机比较, 容器更加轻量级, 它允许在相同的硬件上运行更多数量的组件。主要是因为每个虚拟机需要运行自己的一组系统进程, 这就产生了除组件进程消耗以外的额外计算资源损耗。而一个容器仅仅是运行在宿主机上被隔离的单个进程, 仅消耗应用容器消耗的资源, 不会有其他进程的开销。

更多 →

December 2, 2020

Nginx服务器安全加固

nginxsecurity

基础知识 常用配置 顶部配置 #定义 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

在启动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

frpnginxnaskcp

能够在远程访问存储NAS上面的资料,才能真正发挥NAS的作用。但是对于没有公网IP的内网用户,如何实现在公网上面访问NAS,是一个需要事先解决的问题。

更多 →

November 14, 2020

Cloudflare开启HTTPS加密后,请求转发到源站报522错误

cloudflaressl

笔者使用Cloudflare做DNS,同时使用Cloudflare的SSL证书服务。整个链路如下图: |----------| |-----------| |---------------| | Brower | ------> | Cloudfare | ------> | Origin Server | |----------| |-----------| |---------------| 笔者想要做整个链路的https,但是在配置完之后,打开页面是看到522的错误。这个错误表示连接上源站点,但是请求超时。可以参考这个页面来找到可能的原因: …

更多 →

November 13, 2020

Linux查看某个端口是否被占用

linux

使用lsof lsof -i lsof -i:80 使用netstat netstat -anp | grep 80

更多 →

November 9, 2020

Ubuntu安装Postgres

postgresubuntu

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