草庐IT

k8s Deployment

全部标签

【Kubernetes】k8s中容器之间、pod之间如何进行网络通信?

目录PodKubernetes网络模型同一Pod上的容器之间进行通信同一Node上的不同Pod之间进行通信不同Node上的Pod之间进行通信Service参考Pod首先来回顾一下Pod:Pod是用于构建应用程序的最小可部署对象。单个Pod代表集群中正在运行的工作负载,并封装一个或多个Docker容器、任何所需的存储以及唯一的IP地址。Kubernetes网络模型集群中每一个Pod都会获得自己的、独一无二的IP地址。一个Pod里的一组容器共享相同的IP地址。Kubernetes强制要求所有网络设施都满足以下基本要求(从而排除了有意隔离网络的策略):Pod能够与所有其他节点上的Pod通信,且不需要

简单聊聊k8s,和docker之间的关系

前言随着云原生和微服务架构的快速发展,Kubernetes和Docker已经成为了两个重要的技术。但是有小伙伴通常对这两个技术的关系产生疑惑:既然有了docker,为什么又出来一个k8s?它俩之间是竞品的关系吗?傻傻分不清。学习一门技术我们要学会类比,这里我给你们打个比方:将Kubernetes与Docker的关系类比为SpringMVC与Servlet或MyBatis与JDBC的关系。Docker像是Servlet或JDBC,提供了基础的容器化技术。而Kubernetes类似于SpringMVC或MyBatis,相当于框架,它在基础技术之上提供了更丰富的功能,如自动化部署、扩缩容、服务发现与

k8s故障排查个案:当Pod内存持续增长,OOM问题如何解决?

pod运行一段时间后,内存持续增长,甚至oom的情况.动机容器化过程中,我们经常会发现kubernetes集群内pod的内存使用率会不停持续增长,加多少内存吃多少内存,如果对cgroup内存的构成不是很清楚的情况下,单纯看监控看不出什么问题。经过一番查阅,目前总结出大致有2种导致这种情况的场景。内存泄露io缓存案例分析我们先从内存泄露分析,刚好手头有个pod也是这种情况。内存泄露进入对应的pod内部。我们先看看它用了多少内存,prometheus也是取这个值做为容器的内存使用率的。#cat/sys/fs/cgroup/memory/memory.usage_in_bytes4192538624

centos上部署k8s

环境准备四台Linux服务器主机名IP角色k8s-master-94192.168.0.94masterk8s-node1-95192.168.0.95node1k8s-node2-96192.168.0.96node2habor192.168.0.77镜像仓库三台机器均执行以下命令:查看centos版本[root@localhostWork]#cat/etc/redhat-releaseCentOSLinuxrelease8.5.2111关闭防火墙和selinux[root@localhost~]#systemctlstopfirewalld[root@localhost~]#systemc

jenkins对接K8S

创建连接K8S的凭据查看需要使用到的命名空间[root@k8s~]#kubectlgetns|greparts-systemarts-systemActive16d创建serviceaccounts[root@k8s~]#kubectlcreatesajenkins-k8s-narts-systemserviceaccount/jenkins-k8screated[root@k8s~]#kubectlgetsa-narts-system|grepjenkinsjenkins-k8s114s对jenkins做cluster-admin绑定[root@k8s~]#kubectlcreateclus

云上攻防-云原生篇&K8s安全&Config泄漏&Etcd存储&Dashboard鉴权&Proxy暴露

知识点1、云原生-K8s安全-etcd未授权访问2、云原生-K8s安全-Dashboard未授权访问3、云原生-K8s安全-Configfile鉴权文件泄漏4、云原生-K8s安全-KubectlProxy不安全配置章节点:云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等云厂商攻防:阿里云,腾讯云,华为云,亚马云,谷歌云,微软云等云服务攻防:对象存储,云数据库,弹性计算服务器,VPC&RAM等云原生攻防:Docker,Kubernetes(k8s),容器逃逸,CI/CD等搭建环境使用3台Centos7(可参考录像或者看下面两个文章搭建)https://www.jianshu.com/p/

使用kubeadm快速部署一个k8s集群

前言此文所使用服务的环境为:docker版本:v25.0.3kubernetes版本:v1.25.01安装准备部署k8s集群的节点按照用途可以分为如下2类角色master:集群的master节点,集群的初始化节点slave:集群的slave节点,可以是多台主机各个节点部署的相关服务k8s-master:etcd、kube-apiserver、kube-controller-manager、kubectl、kubeadm、kubelet、flannel、dockerk8s-node-01:kubectl、kubelet、kube-proxy、flannel、dockerK8s-node-02:k

k8s查看多个pod日志问题研究

痛点在接触k8s一段时间以后.有个问题一直困扰着我.线上日志是用graylog工具聚合的.但是存在延时15分钟的问题.为了提高效率.想直接用kubectl命令行查看pod的日志.然而线上分灰度与正式环境且一个服务会有多个pod实例运行.那么请求进来了应该查看哪个pod的日志呢?思考过程1.查看单个pod日志查看一个pod日志的方法我知道:kubectllogs[-f][-nnamspace]pod还有一种方式是进入pod后查看应用内部的日志:kubectlexec-it[-nnamespace]podbash2.查看多个pod的日志那么,如果想查看多个pod中的日志呢?google一番,找到了

13-k8s的控制器资源-rc控制器replicationcontrollers

一、rc控制器资源的概述    replicationcontrollers控制器资源,简称:rc控制器;    简单理解,rc控制器就是控制相同的pod副本数量;    使用rc控制器资源创建pod,就可以设定创建pod的数量;二、rc控制器资源管理1,编辑rc资源清单[root@k8s231rc]#vimrc.yamlapiVersion:v1kind:ReplicationControllermetadata: name:rc01spec: #控制pod的副本数量 replicas:5 #选择要创建副本的pod的标签(关联pod标签,把谁的副本设置成5个呀?) selector:  k8

25-k8s集群中-RBAC用户角色资源权限

一、RBAC概述1,k8s集群的交互逻辑(简单了解)    我们通过k8s各组件架构,知道各个组件之间是使用https进行数据加密及交互的,那么同理,我们作为“使用”k8s的各种资源的使用者,也是通过https进行数据加密的;    k8s通过我们家目录下的证书来判断我们是谁?通过证书内容来认定我们的权限;用户证书的位置[root@k8s231~]#ll-a.kube/config -rw-------1rootroot5634Jan 119:40.kube/config2,k8s的安全架构(简单了解)3,RBAC用户授权的逻辑(重要)用户/主题Topic    1,User    2,Ser