kubernates_未完成
Kubertnetes
用途
容器的集群化解决方案,资源管理器
特点:
- Go语言开发,解释型语言,轻量级,消耗资源少
- 开源
- 弹性伸缩
- 负载均衡:ipvs
K8S组件说明
k8s前身borg
组件
etcd
控制器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
网络通信方式
安装
准备
- k8s-master01(centos7 以上)
- ks8-node01(centos7 以上)
- k8s-node02(centos7 以上)
- Harbar
另外还需要软路由,配置上边的ssr,ks8需要翻墙,
安装依赖包
yum install -y conntrack ntpdate ntp ipvsadm ipset jq iptables curl sysstat libseccomp wegt vim net-tools git
设置防火墙为iptables 并设置空规则
systemctl stop fireward && systemctl disable firewalld
yum -y install iptables-service && systemctl start iptables
systemctl enable iptables && iptables -F && service iptables save
关闭selinux
swapoff -a && sed -i 'swap / s/^\(.*\)$/#\1/g' /etc/fstab
setenforce 0 && sed -i 's/^SELINUXS=.*/SELINUX=disabled/' /etc/selinux/config
调整内核参数
# 必须的参数
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
关闭不需要的服务
systemctl stop postfix && systemctl disable postfix
设置日志
mkdir /var/log/journal
评论已关闭