Kubernetes
衣舞晨风
不预测,只应对
展开
-
Kubernetes 常用命令 持续更新
17、如何查看k8s中kube-proxy的模式是ipvs还是iptables。4、工作负载异常:结束中,解决Terminating状态的Pod删不掉的问题。就到pod对应的机器上,通过docker exec进入。7、查看networkpolicy 信息。1、进入指定namespace pod。11、查询某个node上所有的pod。5、查看cron job运行情况。8、查看contexts候选列表。14、查看系统中的 CRD 资源。2、查看k8s pod详情。10、查询集群中的node。原创 2023-10-11 14:50:32 · 789 阅读 · 0 评论 -
win 10安装velero及使用
国内的网络大概率会失败。原创 2023-08-31 15:39:15 · 205 阅读 · 0 评论 -
使用 nsenter 进入 netns 抓包
我们使用 Kubernetes 时难免发生一些网络问题,往往需要进入容器的网络命名空间 (netns) 中,进行一些网络调试来定位问题,本文介绍如何进入容器的 netns。使用 kubectl 获取 pod 中任意 cotnainer 的 id:输出示例片段1 (containerd运行时):输出示例片段2 (dockerd运行时):获取 PID拿到 container id 后,我们登录到 pod 所在节点上去获取其主进程 pid。containerd 运行时使用 crictl 命令获取:do原创 2022-06-08 18:19:11 · 1044 阅读 · 1 评论 -
Kubernetes中Java应用Heap Dump
Dump Java Heap to OSS伴随着微服务及容器化的发展,越来越多的应用运行在kubernetes集群中,运维、调试的问题也随之而来。以Java为例,当线上环境出现内存问题,比如OOM,这时候需要Dump内存进行分析的时候,就会发现对于普通开发人员来说他们没有操作kubernetes集群机器的权限,从而导致,Dump出来的文件无法回传到开发手中进行MAT之类的分析。本文的解决办法是这样的,当用户需要Dump某个应用实例的时候,只需要在实例终端界面点击一下按钮,后台会自动Dump Hea.原创 2022-03-16 17:15:28 · 2218 阅读 · 0 评论 -
一个Kubernetes Web终端连接工具
当应用部署到Kubernetes集群中之后,如何提供Web终端的功能,以便开发人员调试?方案一该功能的核心就是实现kubernetes executor接口exec.gopackage podimport ( "context" "errors" "log" "net/http" "sync" "github.com/gorilla/websocket" corev1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes/sc.原创 2022-03-16 16:46:48 · 4038 阅读 · 0 评论 -
Kubernetes集群中Pod间文件拷贝
如何在Pod间拷贝文件?具体代码如下:/* copy file to pod*/package cpimport ( "archive/tar" "context" "fmt" "io" "io/ioutil" "log" "os" "path" "strings" corev1 "k8s.io/api/core/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes/scheme" "k8s.i原创 2022-03-16 16:44:57 · 2104 阅读 · 0 评论 -
如何从零手撕一个PaaS平台?
一、背景目前在用的PaaS平台是之前购买的一个商业产品,但没有源码,运维期也早就结束了,所以会遇到一些奇奇怪怪的问题,需要我们这边case by case的处理,不胜其烦。老PaaS的架构及基本功能如下:二、重构为什么选择重构PaaS平台而不是全部迁移kubernates集群?kubernates集群的确提供了很多优秀的特性,比如:RC、滚动更新或回滚、资源监控和日志记录、负载均衡等等...原创 2019-05-13 18:26:08 · 6260 阅读 · 1 评论 -
kubernates java client 连接api server
kubernates java client 官方包地址:https://github.com/kubernetes-client/java1、根据官方文档引入pom2、登陆kubernates集群master节点找到kubectl.kubeconfig文件3、将kubectl.kubeconfig放到代码resources相应的位置Spring boot 读取jar包中resource...原创 2018-10-13 09:45:53 · 4254 阅读 · 0 评论 -
Kubernetes Ingress
通常情况下,service和pod仅可在集群内部网络中通过IP地址访问。所有到达边界路由器的流量或被丢弃或被转发到其他地方。从概念上讲,可能像下面这样: internet | ------------ [ Services ] Ingress是授权入站连接到达集群服务的规则集合。 internet |转载 2018-01-25 20:32:00 · 1148 阅读 · 0 评论 -
kubernetes service
Service 是一个抽象的概念,它定义了Pod的逻辑分组和一种可以访问它们的策略,这组Pod能被Service访问,使用YAML (优先)或JSON 来定义Service,Service所针对的一组Pod通常由LabelSelector实现 可以通过type在ServiceSpec中指定一个需要的类型的 Service,Service的四种type:ClusterIP(默认) - 在集群转载 2017-12-20 08:27:40 · 1898 阅读 · 0 评论 -
Kubernetes 架构及基础概念
一、K8S架构K8S 集群组成 分布式存储(Etcd)控制节点(Master)工作节点(Node)只有 apiserver 与存储通信 用户直接访问 apiserver内部进程,包括 kubelet, controller 均通过 apiserver 访问存储出于安全考虑配置管理操作声明式而非命令式二、基础概念1、Namespace与ResourceQu原创 2017-10-12 20:29:13 · 1154 阅读 · 0 评论