k8s 笔记】的更多相关文章

目录 0. Ingress 解决了什么问题 1. Ingress Controller 2. 指定 Ingress Class 使用多个 Ingress Controller 3. 使用 YAML 描述 Ingress / Ingress Class 3.1 Ingress 3.2 Ingress Class 4. 使用 Ingress / Ingress Class 5. 使用 Ingress Controller 0. Ingress 解决了什么问题 上一篇笔记中讲解了 Service 的功…
K8S 集群结构图 一些名词: etcd etcd保存了整个集群的状态:用于持久化存储集群中所有的资源对象,如Node.Service.Pod.RC.Namespace等:API Server提供了操作etcd的封装接口API,这些API基本上都是集群中资源对象的增删改查及监听资源变化的接口. API Server 提供了资源对象的唯一操作入口,其他所有组件都必须通过它提供的API来操作资源数据,通过对相关的资源数据“全量查询”+“变化监听”,这些组件可以很“实时”地完成相关的业务功能.提供了资…
一. 解决pod间依赖性 1.手动的采用不同顺序启动不同pod 2.定义restart policy(默认为alway,我们可以定义当某条件不满足时就一直重启,当满足条件是才启动容器) 3.如果对于强依赖的场景我们可以定义initContainers,必须满足条件才启动相应pod 4.stateFulset 二. 如果某个SVC被重启了,那么相应的依赖他的对应app也要重启,或则会导致服务不可用, 以下场景: 我们有两个app,nginx和php-fpm,两个pod独立部署,nginx依赖php…
一.环境准备 1.硬件及版本信息: cpu&内存:2核心,2G 网络: 每台vm主机2块网卡,一块NAT用于上网,别一块配置成 "仅主机模式",网段为192.168.100.X OS:centos7.4 k8s:v1.13.3 docker: 18.09.2 2.一些初始化工作: 关闭防火墙 关闭SELinux 配置ntp 配置hosts # /etc/hosts文件如下:每台主机都要配置# tail -3 /etc/hosts192.168.100.71 master.per…
1.为Flannel生成证书 [root@linux-node1 ~]# vim flanneld-csr.json { "CN": "flanneld", "hosts": [], "key": { "algo": "rsa", "size": 2048 }, "names": [ { "C": "CN",…
部署kubelet 1.二进制包准备 将软件包从linux-node1复制到linux-node2中去. [root@linux-node1 ~]# cd /usr/local/src/kubernetes/server/bin/ [root@linux-node1 bin]# cp kubelet kube-proxy /opt/kubernetes/bin/ [root@linux-node1 bin]# scp kubelet kube-proxy 192.168.56.12:/opt/k…
三.ETCD集群部署 类似于走zookeeper集群分布式协调服务,可做以key v形式存储在ETCD中. 官方链接:https://github.com/coreos/etcd 分布式kv存储,为分布式系统设计. 部署版本以etcd-v3.2.18类例子部署 三.手动部署ETCD集群0.准备etcd软件包wget https://github.com/coreos/etcd/releases/download/v3.2.18/etcd-v3.2.18-linux-amd64.tar.gz [r…
在Kubernetes中,调度是指将Pod放置到合适的Node上,然后对应的Node上的Kubelet才能够运行这些pod.调度器通过Kubernetes的监测机制来发现集群中新创建且尚未被调度的Node上的Pod.K8s中默认的调度器是kube-scheduler, 当然,也可以自行实现一个自定义的调度器. 配合之前针对Node的静态超卖与动态超卖,需要更符合项目实际的调度器.在开始之前,先来看几个相关的概念: 驱逐: kubelet监控集群节点的CPU, 内存,磁盘空间和文件系统的inode…
一.下载安装包 #在master节点中执行,以下这条命令就是下载文件到当前目录而已,下载完成之后让我们将chartmuseum赋予权限,就是可执行了chmod chartmuseum,然后移动到/usr/local/bin. [root@k8s-master-- ~]# curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum [root@k8s-master-- ~]# ch…
service 通过 selector 来选择指定 label 的 pod. 如何访问 service 呢?集群内部访问,使用 cluster ip:集群外部访问,使用 NodePort. cluster ip 是虚拟地址,只有加上端口,才能访问,通过域名映射到 cluster ip,域名即服务名称.而采用 NodePort,是在 node 节点上监听一个端口. 如果从 pod 中访问 service,kube-proxy  负责把 cluster ip 负载到不同的 pod 中. ingres…