Kube

ingress-nginx自定义最大请求头大小

落花浮王杯 提交于 2021-01-27 22:41:35
1、首先添加一个configmap叫nginx-config apiVersion: v1 data: client-header-buffer-size: 32k client-max-body-size: 5m gzip-level: "7" large-client-header-buffers: 4 32k proxy-connect-timeout: 11s proxy-read-timeout: 12s use-geoip2: "true" use-gzip: "true" kind: ConfigMap 2、配置ingress-nginx-controller的deployment添加arg,指定configmap=kube-system/nginx-config ... spec: containers: - args: - /nginx-ingress-controller - --default-backend-service=kube-system/nginx-ingress-default-backend - --election-id=ingress-controller-leader - --ingress-class=nginx - --tcp-services-configmap=kube-system/tcp-services - -

一文读懂 Kubernetes APIServer 原理

风格不统一 提交于 2021-01-21 10:01:22
前言 整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁。因此加深对kube-apiserver的理解就显得至关重要了。 整体组件功能 kube-apiserver作为整个Kubernetes集群操作etcd的唯一入口,负责Kubernetes各资源的认证&鉴权,校验以及CRUD等操作,提供RESTful APIs,供其它组件调用: kube-apiserver包含三种APIServer: aggregatorServer :负责处理 apiregistration.k8s.io 组下的APIService资源请求,同时将来自用户的请求拦截转发给aggregated server(AA) kubeAPIServer :负责对请求的一些通用处理,包括:认证、鉴权以及各个内建资源(pod, deployment,service and etc)的REST服务等 apiExtensionsServer :负责CustomResourceDefinition(CRD)apiResources以及apiVersions的注册,同时处理CRD以及相应CustomResource(CR)的REST请求(如果对应CR不能被处理的话则会返回404)

k0otkit:Hack K8s in a K8s Way

為{幸葍}努か 提交于 2021-01-20 17:46:37
简介 本文涉及到的技术仅供教学、研究使用,禁止用于非法用途。 2020年的倒数第二天,我们在CIS网络安全创新大会上跟大家分享了一种针对Kubernetes集群的通用后渗透控制技术(简称k0otkit[1]),利用Kubernetes自身特性、动态容器注入、无文件攻击等技术,在容器逃逸后实现对集群所有节点(无论集群规模大小)的快速、隐蔽、持续控制,同时还介绍了针对这种技术的防御和检测方法。 k0otkit的名称来自Kubernetes和rootkit。从该名称不难看出,我们希望k0otkit成为“Kubernetes集群内的rootkit”。k0otkit的新颖点在于: “快速、隐蔽、持续”实现对Kubernetes集群所有节点的控制。 因地制宜:利用多个Kubernetes自身特性(DaemonSet、Secret资源,kube-proxy镜像等)。 应用动态容器注入技术,极大提高隐蔽性。 应用无文件攻击技术,从内存发起攻击,全程不落地。 无限制条件,几乎适用于所有Kubernetes集群。 优秀的矛才能激发出优秀的盾,安全正是在一轮轮的攻防对抗中不断得到强化。本文将对k0otkit进行详细介绍,引导大家发掘云原生攻防的更多可能。 本文首先向大家介绍Kubernetes环境下的一般渗透过程,然后从k0otkit最初的基本思路开始

一文读懂 Kubernetes APIServer 原理

梦想与她 提交于 2021-01-20 10:39:01
前言 整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁。因此加深对kube-apiserver的理解就显得至关重要了。 整体组件功能 kube-apiserver作为整个Kubernetes集群操作etcd的唯一入口,负责Kubernetes各资源的认证&鉴权,校验以及CRUD等操作,提供RESTful APIs,供其它组件调用: kube-apiserver包含三种APIServer: aggregatorServer :负责处理 apiregistration.k8s.io 组下的APIService资源请求,同时将来自用户的请求拦截转发给aggregated server(AA) kubeAPIServer :负责对请求的一些通用处理,包括:认证、鉴权以及各个内建资源(pod, deployment,service and etc)的REST服务等 apiExtensionsServer :负责CustomResourceDefinition(CRD)apiResources以及apiVersions的注册,同时处理CRD以及相应CustomResource(CR)的REST请求(如果对应CR不能被处理的话则会返回404)

k8s-kubernetes 入门

一笑奈何 提交于 2021-01-19 10:58:50
1、pod kubernetes 系统架构: 2、核心逻辑: 3、网络模型基础 4、k8s的用户: 5、k8s 运行模式: 6、kubeadm 7、kubeadm 工作流程 demo 环境部署: [root@node01 ~]# cat /etc/hosts 192.168.100.40 node04.magedu.com node04 node04 192.168.100.30 node03.magedu.com node03 node03 192.168.100.20 node02.magedu.com node02 node02 192.168.100.10 node01.magedu.com node01 node01 环境检查: [root@node01 ~]# 1、systemctl stop firewalld systemctl disable firewalld 2、UUID=fa47bfb8-28b6-485a-add4-3c8464933f39 swap #关闭swap 分区 3、ntpdate time1.aliyun.com docker 安装: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum

centos7使用二进制方式安装kubernetes v1.11.2

北城以北 提交于 2021-01-16 04:29:37
以下部署是单节点的 master,也没有证书相关内容。 一、.环境准备 1. 设备环境 192.168.56.10 k8s- m1 192.168.56.11 k8s- n1 192.168.56.12 k8s- n2 192.168.56.13 k8s-n3 master节点内存不小于1G,node节点内存不小于768M 内核版本大于 3.10.0 2.系统环境 2.1 添加firewall规则,所有节点互通,关闭selinux centos 7 firewalld 永久添加规则: firewall -cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 192.168.56.0/24 - j ACCEPT firewall -cmd -- reload [root@k8s -n1 ~] # cat /etc/selinux/config |grep SELINUX SELINUX=disabled 2.2 设置host解析 192.168.56.10 k8s- m1 192.168.56.11 k8s- n1 192.168.56.12 k8s- n2 192.168.56.13 k8s-n3 2.3 所有节点设置k8s参数 [root@k8s-m1 ~] # cat <<EOF > /etc/sysctl.d

Centos7 二进制安装 Kubernetes 1.13

烂漫一生 提交于 2021-01-16 03:11:56
1、目录 [TOC] 1.1、什么是 Kubernetes?    Kubernetes ,简称 k8s(k,8 个字符,s)或者 kube ,是一个开源的 Linux 容器自动化运维平台,它消除了容器化应用程序在部署、伸缩时涉及到的许多手动操作。    Kubernetes 最开始是由 Google 的工程师设计开发的。 Google 作为 Linux 容器技术的早期贡献者 之一,曾公开演讲介绍 Google 如何将一切都运行于容器之中 (这是 Google 的云服务背后的技术)。Google 一周内的容器部署超过 20 亿次,全部的工作都由内部平台 Borg 支撑。Borg 是 Kubernetes 的前身,几年来开发 Borg 的经验教训也成了影响 Kubernetes 中许多技术的主要因素。    1.2、Kubernetes 有哪些优势?   使用 Kubernetes ,你可以快速、高效地满足用户以下的需求: 快速精准地部署应用程序 即时伸缩你的应用程序 无缝展现新特征 限制硬件用量仅为所需资源       Kubernetes 的优势 可移动: 公有云、私有云、混合云、多态云 可扩展: 模块化、插件化、可挂载、可组合 自修复: 自动部署、自动重启、自动复制、自动伸缩       Google 公司于 2014 年启动了 Kubernetes 项目。

CentOS7环境下快速部署Kubernetes(k8s)集群

核能气质少年 提交于 2021-01-16 02:02:35
Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了应用部署,规划,更新,维护的一种机制 k8s的概念可以参考如下链接 小孩子也能看懂的kubernetes教程 图文 | 任何人都能看懂的 Kubernetes 教程! 图文:你女朋友也能看懂的 Kubernetes ! 下面介绍CentOS7环境下快速部署一套Kubernetes(k8s)集群 三台CentOS7.6.1810版本的Linux虚拟机 内存大小均为4GB 1、k8s-master 10.20.10.235 2、k8s-node1 10.20.10.237 3、k8s-node2 10.20.10.238 具体操作步骤如下 1、环境准备 1)三台主机分别修改主机名 k8s-master 10.20.10.235 : hostnamectl set-hostname k8s-master k8s-node1 10.20.10.237 : hostnamectl set-hostname k8s-node1 k8s-node2 10.20.10.238 : hostnamectl set-hostname k8s-node2 三台都修改vi /etc/hosts文件,加入主机名解析 10.20.10.235

kubernetes集群(k8s)二进制安装(centos7环境)

此生再无相见时 提交于 2021-01-15 13:00:19
kubernetes集群(k8s)二进制安装(centos7环境) 1.环境准备与规划 ​ 本文使用的centos7,docker 1.13.1 1.1 k8s,etcd下载 k8s版本:1.12.1,点击下载 etcd-v版本3.3.10,点击下载 1.2虚拟机设置master和node节点 ​ 角色 ip 组件安装 master 192.168.100.100 etcd、kube-apiserver、kube-controller-manager、 kube-scheduler、docker node01 192.168.100.101 kube-proxy、kubelet、docker node02 192.168.100.102 kube-proxy、kubelet、docker 2.三台机器操作 2.1关闭防火墙,更新yum #关闭CentOS防火墙 systemctl disable firewalld systemctl stop firewalld ##更新yum yum -y update # 安装Docker( 参数-y 默认安装时 自动选择Y) yum -y install docker #启动docker service docker start #要求服务器重启自动启动docker 可输入该命令systemctl enable docker 实现

kubernetes 安装笔记

放肆的年华 提交于 2021-01-15 06:33:28
ssh -p 9000 root @127.0.0.1 192.168.56.101 master-node 192.168.56.102 work-node1 192.168.56.103 work-node2 由于kubeadm 默认从官网k8s.grc.io下载所需镜像,国内无法访问,因此需要通过–image-repository指定阿里云镜像仓库地址。 kubeadm init --kubernetes-version=1.18.0 --apiserver-advertise-address=192.168.56.101 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.10.0.0/16 --pod-network-cidr=192.168.0.0/16 To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You