二、kubernetes

一、kubernetes(简称k8s)

集群示意图

Kubernetes工作模式server-client,Kubenetes Master提供集中化管理Minions。部署1台Kubernetes Master节点和4台Minion节点。

Kubernetes集群组件:
  - etcd 一个高可用的K/V键值对存储和服务发现系统
  - flannel 实现夸主机的容器网络的通信
  - kube-apiserver 提供kubernetes集群的API调用
  - kube-controller-manager 确保集群服务
  - kube-scheduler 调度容器,分配到Node
  - kubelet 在Node节点上按照配置文件中定义的容器规格启动容器
  - kube-proxy 提供网络代理服务

二、实践

1、创建四台集群需要的环境

1.1docker安装

yum install -y docker    #yum 安装
docker version   #查看版本

1.1或者

1.安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 
2.设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
3.安装 Docker-CE
重建 Yum 缓存。安装 Docker-CE ,请执行一下命令进行安装:
sudo yum install docker-ce
4.启动 Docker-CE
sudo systemctl enable docker
sudo systemctl start docker

  

1.2 centos镜像-Centos7安装

// 下载镜像
#docker run --privileged -itd --name centos --restart=always centos:7 /usr/sbin/init                  # docker pull centos  我用centos:7

-privileged 指定容器是否是特权容器。这里开启特权模式。
-it 启动互动模式。
--restart=always是随着docker启动
/usr/sbin/init 初始容器里的CENTOS。

  

1.3创建镜像

// 创建容器 (系统会给这个容器分配一个默认的名字) 
docker run -itd --name=master -p 8001:8001 centos:7
docker run -itd --name=node1 -p 8002:8002 centos:7
docker run -itd --name=node2 -p 8003:8003 centos:7
docker run -itd --name=node3 -p 8004:8004 centos:7
docker run -itd --name=node4 -p 8005:8005 centos:7

  

1.4查看

  

1.数据卷
   Pod中的容器之间共享数据或者持久化数据,可以使用数据卷。
 
2.应用程序健康检查
   容器内服务可能进程堵塞无法处理请求,可以设置监控健康检查策略保证应用的健壮性。(默认情况下只保证容器本身正常,不会对应该程序状态检测)
 
3.复制应用程序实例
   控制器维护Pod副本的数量,保证一个Pod或一组同类的Pod数量始终可用。
 
4.弹性伸缩
   根据设定的指标(CPU利用率)自动缩放Pod副本数。
 
5.服务发现
   使用环境变量或DNS服务插件保证容器中程序发现Pod入口的访问地址。
 
6.复制均衡
   一组Pod副本分配一个使用的机器IP地址,负载均衡转发请求到后端容器。在集群内部其他Pod可以通过这个ClusterIP访问应用。
 
7.滚动更新
   更新服务不中断,一次更新一个Pod,而不是同时删除整个服务
 
8.服务编排
   通过文件描述部署服务,使得应用程序部署变得更有效。
 
9.资源监控
   Node节点组件集成cAdvisor资源收集工具,可以通过Heapster汇总整个集群节点资源数据,然后存储到IfluxDB时序数据库中,再由Grafana展示。
 
10.提供认证和授权
   支持属性访问控制(ABAC)、角色访问控制(RBAC)认证授权策略 

  



原文地址:https://www.cnblogs.com/fger/p/10448369.html