
K8S与容器
文章平均质量分 60
K8S与容器
qq_道可道
助人乃快乐之本
展开
-
K8S上使用aws ecr做镜像库
参考:在k8s上使用ecr作为业务镜像库。原创 2022-10-17 16:33:48 · 1023 阅读 · 1 评论 -
Thanos架构学习
thanos架构学习原创 2022-06-28 16:12:50 · 755 阅读 · 1 评论 -
Kubernetes descheduler小记
使用descheduler增强k8s调度能力原创 2022-06-28 14:28:35 · 407 阅读 · 0 评论 -
Kube eagle eks监控节点组实际资源使用率
Kube eagle eks监控节点组实际资源使用率简介官网参考背景前提方案1,给所有节点组增加标签方案2,修改源码(待测试)安装配置简介Kube eagle是一个prometheus exporter,暴露kubernetes pod资源请求、限制和它的实际使用的各种指标。可以通过它更好地查看kubernetes集群资源,以便优化资源分配。Kube eagle eks 在Kube eagle的基础上有一个附加特性,即向所有度量添加nodegroup标签。这对于EKS部署很有用,并允许按节点组进行过滤原创 2022-05-20 10:44:05 · 524 阅读 · 0 评论 -
Kubernetes实用插件记录
descheduler定期检测K8S当前节点使用资源request/limit情况,重新调度pod,减少集群pod分配不均衡的问题node-problem-detector节点问题监测插件可以预防节点存在问题导致的调度异常,典型场景如下:基础架构守护进程问题:NTP服务宕机;硬件问题:CPU、内存或磁盘坏;内核问题:内核死锁,损坏的文件系统;容器运行时问题:运行时守护进程无响应;。。。cluster-autoscaler弹性扩缩容Node节点,可与云厂商集成,根据pod pending状原创 2022-05-18 21:00:47 · 212 阅读 · 0 评论 -
AWS EKS版本升级
官网参考更新集群控制平面https://docs.amazonaws.cn/eks/latest/userguide/update-cluster.html更新托管节点组https://docs.amazonaws.cn/eks/latest/userguide/update-managed-node-group.html更新非托管节点组https://docs.amazonaws.cn/eks/latest/userguide/update-workers.html按照官方说法,建议每次升级原创 2022-05-17 15:50:34 · 646 阅读 · 0 评论 -
AWS EKS 托管节点组与非托管节点组选择
场景结合SPOT 实例来运行超大规模工作负载同时节省成本,spot实例费用最多不超过按需实例单价/小时,根据时间、区域、可用区都在动态浮动,通常节省60-70之间浮动。EKS 使用Spot 实例最佳实践https://aws.amazon.com/cn/blogs/china/eks-use-spot-instance-best-practice/?nc1=b_rp选择不同的Spot资源池,降低资源回收对整体负载的影响(选择更多实例类型和不同可用区)需要结合Cluster Autoscaler(原创 2022-05-10 12:10:29 · 1095 阅读 · 0 评论 -
AWS EKS Service与Ingress网络流向小记
AWS EKS Service与Ingress网络流向小记前言ServiceClusterIPNodePortLoadBalancer不加annotation默认创建的是CLB(Classic Load Balancer)annotation为nlb则创建NLB instance模式(Network Load Balancer)annotation为nlb-ip则创建NLB ip模式(Network Load Balancer)小记Ingress前言K8S Service主要负责集群内访问,Ingres原创 2022-03-14 10:40:24 · 1679 阅读 · 1 评论 -
k8s nginx ingress添加自定义header
抛砖引玉(-snippets块可以自定义header)https://kubernetes.github.io/ingress-nginx/examples/customization/configuration-snippets/apiVersion: extensions/v1beta1kind: Ingressmetadata: annotations: nginx.ingress.kubernetes.io/configuration-snippet: | set $原创 2021-10-28 15:11:32 · 6677 阅读 · 0 评论 -
K8S进入Pod排查DNS超时问题
1、登录到node节点2、docker ps|grep pod名,找到容器对应ID。3、使用如下脚本进入pod 对应的namespace# cat a.sh#!/bin/bashdocker_id=$1pid=`docker inspect --format "{{ .State.Pid}}" ${docker_id}`nsenter -n -t${pid}4、ifconfig查看下当前IP确认已进入到pod内5、分析dns问题:tcpdump -i eth0 -nt -s 500 po原创 2021-06-03 14:02:12 · 2696 阅读 · 0 评论 -
k8s连接多集群
手动配置contexthttps://kubernetes.io/zh/docs/tasks/access-application-cluster/configure-access-multiple-clusters/手动配置比较复杂且容易出错,建议使用kubecm使用kubecmkubecm官网brew install kubecm# 添加配置,进入交互式页面,根据实际情况rename配置# Merge test.yaml with $HOME/.kube/configkubecm ad原创 2021-04-21 17:41:13 · 362 阅读 · 0 评论 -
K8S service调试的几种场景
不暴露service访问service进行调试,端口转发至本地kubectl port-forward service/frontend-antd-svc 5000:8080集群8080端口转发本地5000端口UI版端口转发至本地,更方便管理和人性化kube forwarder本地运行service调试,且应用在集群中使用本地服务的场景,双向代理telepresence...原创 2021-04-21 11:39:53 · 408 阅读 · 0 评论 -
k8s api查看
获取所有api列表kubectl api-versionsadmissionregistration.k8s.io/v1admissionregistration.k8s.io/v1beta1apiextensions.k8s.io/v1apiextensions.k8s.io/v1beta1apiregistration.k8s.io/v1apiregistration.k8s.io/v1beta1apps/v1authentication.k8s.io/v1authenticatio原创 2021-04-01 11:34:00 · 2590 阅读 · 0 评论 -
dockerfile基础镜像构建与应用vue+jdk8
dockerfile基础镜像及实践nginx_base基础Dockerfilenginx.conf业务Dockerfiledeploymentjdk8_base基础Dockerfile优雅退出脚本stop.sh业务Dockerfilenginx_base基础DockerfileFROM nginxENV TZ "Asia/Shanghai"RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && rm -rf /e原创 2021-03-08 16:50:40 · 375 阅读 · 0 评论 -
dockerfile之redis-cli工具
dockerfile之redis其余配置参考Dockerfile# 指定创建的基础镜像FROM goodsmileduck/redis-cli:6.0.4 # 作者描述信息MAINTAINER zhangzhidao # 替换阿里云的并更新源、安装openssh 并修改配置文件和生成key 并且同步时间RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \ &&原创 2021-03-08 16:20:19 · 287 阅读 · 0 评论 -
dockerfile之kubectl工具
dockerfile之kubectl通过jumpserver的录像和审计功能管理各环境k8sbashrcDockerfilek8s Statefulset 启动k8s nodeport访问通过jumpserver的录像和审计功能管理各环境k8sbashrcalias kubectlola-dev='kubectl --kubeconfig=/root/.kube/ola-dev 'alias kubectlola-test='kubectl --kubeconfig=/root/.kube/ola-原创 2021-03-08 16:15:00 · 492 阅读 · 0 评论 -
nginx容器配置健康检查接口,消灭云厂商lb频繁健康检查日志
背景云厂商LB将流量负载到后端nginx后通常会有频繁的健康检查机制,默认检查/目录,当我们把nginx部署到容器内,默认会将/var/log/nginx/*.log的标准日志输出,而LB的健康检查次数太多,干扰看容器日志并且增加很多无效日志。配置在server中增加location:healthcheck配置,并修改LB的健康检查地址为/healthcheck,将这类日志都输出到一个独立的日志中即可 location ~ ^/healthcheck { default_typ原创 2021-02-26 13:24:00 · 901 阅读 · 0 评论 -
k8s使用token连接集群
创建dashboard-admin SA并绑定ClusterRole:cluster-adminapiVersion: v1kind: ServiceAccountmetadata: name: dashboard-admin namespace: kube-system---kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata: name: dashboard-adminsubjects原创 2021-02-23 14:48:00 · 1239 阅读 · 0 评论 -
k8s部署jumpserver小记
背景这里使用官方提供的jumpserver/jms_all:v2.7.1镜像进行快速部署创建pv提前准备好文件存储,这里使用腾讯云提供的文件存储apiVersion: v1kind: PersistentVolumemetadata: name: jumpserver-mediaspec: accessModes: - ReadWriteMany capacity: storage: 10Gi claimRef: apiVersion: v1 kin原创 2021-02-17 10:18:09 · 1623 阅读 · 0 评论 -
k8s(kuberneters) 节点频繁Node became not ready原因排查
主要原因:系统线程数满导致阿里云terway网络插件一直启动失败,进而导致节点频繁处于Node became not ready,进一步造成该节点调度出现问题。查看当前系统线程数设置(网上很多文章说是进程数,请仔细甄别)cat /proc/sys/kernel/pid_max32768查看系统线程数:ps -efL|wc -l1、查看/var/log/message2、解决方法,重启docker或重启服务器,重启kubelet没用总结:因为某些pod程序大量创建线程数导致系统线程数被占满原创 2020-10-29 18:50:09 · 1406 阅读 · 0 评论 -
k8s可修改的sysctl内核参数及案例
官网:https://kubernetes.io/zh/docs/tasks/administer-cluster/sysctl-cluster/启用非安全的 Sysctl 参数–allowed-unsafe-sysctls设置 Pod 的 Sysctl 参数目前,在 Linux 内核中,有许多的 sysctl 参数都是 有命名空间的 。 这就意味着可以为节点上的每个 Pod 分别去设置它们的 sysctl 参数。 在 Kubernetes 中,只有那些有命名空间的 sysctl 参数可以通过 P原创 2020-10-29 17:05:07 · 4084 阅读 · 2 评论 -
生产docker run 卡住没反应故障排查思路
参考文献:docker run hangs问题排查记录https://www.cnblogs.com/edenlong/p/10972876.html阿里巴巴 Kubernetes 集群问题排查思路和方法https://www.infoq.cn/article/t_ZQeWjJLGWGT8BmmiU41.首先确认docker version一致2.查看/var/log/message日...原创 2020-04-20 18:02:56 · 9852 阅读 · 0 评论 -
使用skaffold持续开发应用
Skaffold是一个命令行工具,它为Kubernetes-native应用程序的持续开发提供了便利。Skaffold处理Build、Push和Deploy应用程序的工作流,并提供用于创建CI/CD管道的构建块。这使您能够在Skaffold不断部署到本地或远程Kubernetes集群时,专注于应用开发。简单说就是使用了skaffold工具后,本地代码有任何变更都会触发一次Build、Push镜像...原创 2020-04-07 13:57:03 · 648 阅读 · 0 评论 -
k8s滚动发布使用
spec: ... minReadySeconds: 100 # 这里需要估一个比较合理的值,从容器启动到应用正常提供服务 strategy: # k8s 默认的 strategy 就是 RollingUpdate, 这里写明出来可以调节细节参数 type: RollingUpdate rollingUpdate: maxSurge: 1 # 更新时允...原创 2020-03-16 22:57:14 · 654 阅读 · 0 评论 -
k8s集群安全机制理解
一、认证(Authentication):HTTP Token认证(单向认证)HTTP Base认证:用户名密码(单向认证)HTTPS证书认证:基于CA双向认证(最安全,最佳)一、组件与ApiServer通信两种类型Controller Manager和Scheduler因为在本机,通常不需要CAkubectl、kubelet、kube-proxy访问API Server需要CA证书...原创 2020-03-07 17:17:25 · 522 阅读 · 0 评论 -
kube-proxy中iptables与ipvs对比整理
kube-proxy中iptables与ipvs对比整理概况iptables模式IPVS模式(NAT模式)概况kube-proxy负责监听API server中service和endpoint的变化情况。通过userspace、iptables、ipvs来实现service负载均衡。这里仅对iptables和ipvs说明,userspace模式因为可靠性和性能(频繁切换内核/用户空间)早已经...原创 2019-08-26 18:59:50 · 4047 阅读 · 0 评论 -
使用kubeadm部署高可用K8S v1.14.4
使用kubeadm部署高可用K8S v1.14.4一、基础环境配置二、部署keepalived和haproxy(对应规划主机)三、软件安装四、 配置kubeadmin初始化文件(部署master上执行)五、配置集群网络六、部署Dashboard七、重置集群(若有需要)八、问题排查九、etcd状态检查参考大神博客及官网:https://kubernetes.io/zh/docs/referenc...原创 2019-08-26 11:48:03 · 1412 阅读 · 0 评论 -
基于Openshift的jenkins设计方案
基于Openshift的jenkins设计及搭建Author: zhangzhidaobase-jdk8这里用tomcat启动jenkins、安装tomcat日志分割插件、私钥、基础环境配置BUILD: docker build --no-cache --network=host -t reg.iqianjin.com/test/iqj-jenkins:v2 .RUN: docker run -i...原创 2019-09-19 19:01:37 · 227 阅读 · 0 评论