kubernetes ingress-nginx
Write by lyc at 2022-2-8ingress-nginx 官网
Kubernetes ingress-nginx
Kubernetes ingress
1.ingress 简介ingress, ingress-controller 是什么?
ingress 公开了从集群外部到集群内部服务的 HTTP 和 HTTPS 路由的规则集合,而具体实现流量路由规则是由 ingress-controller 负责
ingress 是 K8S 中的一个抽象资源,给管理员提供一个暴露应用的入口定义方法。
ingress-controller 组件根据 ingress 生成具体的路由规则,并对 Pod 负载均衡。
ingress-controller 是怎么工作的:
ingress-controller 通过与 K8S API 交互,动态的去感知集群中 ingress 规则变化,然后读取它,按照自定义的规则,规则就是写明了哪个域名对应哪个 service,生成一段 Nginx 配置,应用到管理的 Nginx 服务,然后热加载生效。以此来达到 Nginx 负载均衡器配 ...
git 学习笔记5:标签管理
Write by lyc at 2020-4-9参考教程:《廖雪峰Git教程》Update by lyc at 2022-2-24:重新学习TAG规范参考:语义化版本 2.0.0
git 学习笔记5:标签管理1.创建标签TAG 默认标签是打在最新提交的commit上的。
12345678# 创建标签git tag 1.0 # 在当前分支的 最新commit 上创建标签git tag 0.9 f52c633 # 在当前分支的 指定commit 上创建标签git tag -a 1.0 -m "${MESSAGE}" 1094adb # 在当前分支的 指定commit 上创建标签,并指定标签 MESSAGE 说明# 查看标签git tag # 查看本地所有标签git show 1.0 # 查看具体的某个标签及标签 MESSAGE
2.推送标签12git push origin 1.0 # 推送本地的一个标签到远程仓库g ...
git 学习笔记4:分支管理
Write by lyc at 2020-4-9参考教程:《廖雪峰Git教程》git flow 动态图演示Update by lyc at 2022-2-24:重新学习
git 学习笔记4:分支管理1.分支管理查看分支1234567# 查看本地分支git branch # 列出所有本地分支git branch -v # 列出所有本地分支的详细信息,包括id,message# 查看远程仓库下的分支git branch -agit branch -av # 列出所有本地分支和远程分支
创建分支1234567# 创建分支git branch ${BRANCH} # 创建分支git checkout ${BRANCH} # 切换分支(移动HEAD指针)git checkout -b ${BRANCH} # 创建分支并立即切换 git branch ${BRANCH} [commi ...
git 学习笔记3:远程仓库
Write by lyc at 2020-4-9参考教程:《廖雪峰Git教程》Update by lyc at 2022-2-24:重新学习
git 学习笔记3:远程仓库1.git remote 远程仓库管理12345678git remote -v # 查看本地所有的远程仓库git remote show [remote] # 显示某个远程仓库的信息git remote add [remote] [URL] # 添加一个远程仓库的名字git remote add origin http://gitlab.tdtech.gao7.com/1330lyc/DomainExpired.git # 添加一个名为origin的远程仓库到本地git remote remove origin # 删除名为origin的远程仓库git remote rm origin
2.git clone 从远程仓库拷贝1234567# 拷贝远程仓库到当前目录cd ${DIR} ...
git 学习笔记2:增删改查
Write by lyc at 2020-4-9参考教程:《廖雪峰Git教程》Update by lyc at 2022-2-24:重新学习
git 学习笔记2:增删改查1.创建本地仓库与提交1234567891011121314151617# 1.git init:创建版本库cd ${Project_Name} && git init # 切换到一个空目录下,创建一个代码库git init ${Project_Name} # 新建一个Project_Name目录并初始化为git代码库# 2.git add:添加工作区文件到暂存区git add [file1] [file2] ... # 从工作区添加指定文件到暂存区git add [dir] # 从工作区添加指定目录到暂存区,包括子目录git add . # 添加当前目录的所有文件到暂存区# 3.git commit:将暂存区文件 ...
git 学习笔记1:git 安装
Write by lyc at 2020-4-9参考教程:《廖雪峰Git教程》windows安装gitwindows安装git
git 学习笔记1:git 安装方式1:yum安装CentOS7 下直接 yum 安装的 git 版本太旧了
123$ yum install git -y$ git --versiongit version 1.8.3.1
方式2:编译安装 git v2.26.0(推荐)
git 编译安装包下载
安装依赖
123yum remove -y gityum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-develyum install -y gcc gcc-c++ perl-ExtUtils-MakeMaker
编译安装
1234567cd /usr/local/src/wget https://github.com/git/git/archive/v2.26.0.tar.gztar xvf v2.26.0.tar.gzcd git-2.26.0make prefi ...
二进制安装maven3.8
菜鸟教程:Maven 环境配置【阿里云镜像】配置阿里云Maven 镜像
二进制安装maven3.8Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。(略)
下载
Maven Download
下载 Linux 环境下的二进制安装包
安装1234cd /usr/local/srcwget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gztar xvf apache-maven-3.8.8-bin.tar.gz -C /usr/localln -s /usr/local/apache-maven-3.8.8 /usr/local/maven
添加环境变量
1234567$ vim /etc/profile# mavenexport MAVEN_HOME=/usr/local/mavenexport PATH=$MAVEN_HOME/bin:$PATH$ source /etc/profile
验证:
123456$ mvn -vApac ...
pstree 查看 Linux 进程树与线程数
Write by lyc at 2022-2-14参考博文:Linux下查看线程数的几种方法汇总
pstree 查看 Linux 进程树与线程数1.pstree 命令在 Linux 系统中,系统调用 fork 可以创建子进程,通过子 shell 也可以创建子进程,Linux 系统中进程之间的关系天生就是一棵树,树的根就是进程 PID 为 1 的 init 进程。
pstree 命令以树状图显示进程间的关系(display a tree of processes)。查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以清楚的看出来是谁创建了谁。
ps 命令可以显示当前正在运行的那些进程的信息,但是对于它们之间的关系却显示得不够清晰。
top 命令查看进程与子进程之间的状态,性能。
pstree 查看进程树12345678# 安装 pstree 命令行工具yum -y install psmisc# 查看所有进程的进程树pstree -apnh# 查看指定进程的进程树pstree -apnh ${PID}
参数说明:
-a, --arguments ...
kubernetes kubelet 证书续签
Write by lyc at 2022-01-21
kubernetes kubelet 证书续签1.K8S 证书类别K8S 证书一般分为两套:
K8S 组件证书(CA根证书/组件证书/kubelet证书)
etcd 证书(CA根证书/etcd证书)
假如按角色来分,证书分为管理节点证书和工作节点证书:
管理节点:如果是 kubeadm 部署则自动生成,如果是二进制部署一般由 cfssl 或者 openssl 生成。
工作节点:工作节点主要是指 kubelet 连接 apiserver 所需的客户端证书,这个证书由 controller-manager 组件自动颁发,默认有效期是一年,如果到期,kubelet 将无法使用过期的证书连接 apiserver,从而导致无法正常工作,日志会给出证书过期错误:
1x509: certificate has expired or is not yet valid
红线:K8S 自建证书颁发机构(CA),需携带由它生成的客户端证书访问 apiserver
蓝色:etcd 自建证书颁发机构(CA),需携带由它生成的客户端证书访问 ...
kubernetes 弹性伸缩(四):request limit 1比2 对于 HPA 的配置思路
Write by lyc at 2022-01-19
kubernetes 弹性伸缩(四):request limit 1比2 对于 HPA 的配置思路1.为什么 HPA 不用内存作监控指标?我认为用内存做 HPA metric 不够严谨,内存不像 CPU 那么直观量多利用率增加,量少内存也不一定会立即被释放,它会被缓存起来,且内存有可能随着容器的运行时间而慢慢的增加,那么 HPA 就会因此触发扩容直到 max, 而不会缩容。
如果 Prometheus 监控内存的指标大于 HPA 内存的触发指标,那么这个过程就不会触发 Prometheus 告警,不容易被维护者发现。
那么倒不如让 Pod OOM,自动重新让 Deployment 新建过 Pod 或触发 Restart 告知维护人员存在异常(内存泄漏)。
2.为什么每个 Pod request 与 limit 比例为设置为 1:2 ?1234567resources: requests: cpu: 250m memory: 128Mi limits: cpu: 500m memory: 256Mi ...