kubernates_未完成
# Kubertnetes ###### 用途 容器的集群化解决方案,资源管理器 ###### 特点: - Go语言开发,解释型语言,轻量级,消耗资源少 - 开源 - 弹性伸缩 - 负载均衡:ipvs # K8S组件说明 k8s前身borg !\[image-20200807212555136\](https://i.loli.net/2020/08/07/ACwaE9dxMnsb8op.png) 组件 !\[image-20200807212846780\](https://i.loli.net/2020/08/07/PyqCTWF8dpwuJ7Z.png) ###### etcd - 可信赖的分布式键值存储服务,为集群存储一些关键数据 - 持久化 - v2将数据写入内存,1.11版本以弃用 - v3将数据写入数据库 - 采用http协议,架构图如下 !\[image-20200807213302969\](https://i.loli.net/2020/08/07/KmVwi9naFPJzQuI.png) ###### 控制器ControllerManager 维持副本期望数目 ###### Schedule 介绍任务,选择合适节点分配任务 ###### Kubelet 直接跟容器引擎交互实现容器的生命周期管理 ###### kube-proxy 把规则写入iptables,ipvs,实现服务映射访问 # 其他插件 ###### CoreDNS 为集群中svc创建域名ip的对应解析 ###### DashBoard b/s结构的访问体系 ###### Ingress controller 官方只有四层代理,ingress实现7层代理 ###### Federation 多k8s统一管理功能 ###### Prometheus 提供K8s集群的监控能力 ###### ELK k8s日志分析统一接入平台 # 基本概念 ###### Pod 网络栈,一个pod内的容器共享一个地址, - 自助式pod - 控制器管理的pod ###### 网络通信方式 !\[image-20200913212731395\](https://i.loli.net/2020/09/13/jcDASHr83l7BFZp.png) !\[image-20200913212904953\](https://i.loli.net/2020/09/13/EtbaQZ8wFN3DfcO.png) # 安装 - 准备 - k8s-master01(centos7 以上) - ks8-node01(centos7 以上) - k8s-node02(centos7 以上) - Harbar 另外还需要软路由,配置上边的ssr,ks8需要翻墙, 资源:https://pan.baidu.com/s/1U6-AXHj5gsDsAHSXeoKnRg tdpk 安装依赖包 \`\`\`shell yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wegt vim net-tools git \`\`\` 设置防火墙为iptables 并设置空规则 \`\`\`shell systemctl stop fireward \&\& systemctl disable firewalld yum -y install iptables-service \&\& systemctl start iptables systemctl enable iptables \&\& iptables -F \&\& service iptables save \`\`\` 关闭selinux \`\`\`shell swapoff -a \&\& sed -i 'swap / s/\^\\(.\*\\)$/#\\1/g' /etc/fstab setenforce 0 \&\& sed -i 's/\^SELINUXS=.\*/SELINUX=disabled/' /etc/selinux/config \`\`\` 调整内核参数 \`\`\`shell # 必须的参数 net.bridge.bridge-nf-call-iptables=1 net.bridge.bridge-nf-call-ip6tables=1 net.ipv6.conf.all.disable_ipv6=1 # 放在/etc/sysctl.d/kubernetes.conf \`\`\` 关闭不需要的服务 \`\`\`shell systemctl stop postfix \&\& systemctl disable postfix \`\`\` 设置日志 \`\`\` mkdir /var/log/journal \`\`\` # 资源清单 # pod控制器 # 服务发现 # 存储 # 调度器 # 集群安全机制 # HELM # 运维