概念

k8s/kubernetes
容器化部署
解决容器编排问题,kubernetes为容器编排软件的佼佼者
kubernets为一组服务器集群

功能

自我修复 一个容器崩溃,另一个容器起来
弹性伸缩 根据需要调整容器数量
服务发现 自动发现的形式找到所需依赖
负载均衡 一起分担流量
版本回退 新版本有问题,立马回退到原来的版本
存储编排 可以根据容器自身的需求自动创建存储卷
....

k8s组件

k8s为控制节点 和 工作节点组成。
master节点的组件
负责集群的管理
ApiServer:资源操作的唯一路口 接受命令,管理操作都是通过这个路口
Scheduler:负责根据算法,把活分给谁干?
ControllerManager:调度安排干活
Etcd:监工记录谁在干活做了什么
node节点的组件
负责提供运行环境
kubelet:接受控制节点过来的信息,安排干活,控制docker操作
kubeproxy:提供对外访问,跑了程序访问程序。
docker:负责操作

用实例nginx来说明组件调度关系
master和node信息都存在etcd里来明确控制节点手下有几个干活的
让服务跑在k8s,apiserver接受命令
开始计算服务请求由谁来完成,通过读node信息
知道由谁来完成,则使用controller-manager发送请求
kubelet等着接活的,安排给docker启动一个prod。(目前prod和docker一回事,都是启动程序的。prod为容器最小单元)
kubeproxy外面用户可以访问nignx了

master:集群控制节点至少一台
node:工作负载节点,做事的
pod:kubernets最小存储单元,容器运行在pod中,一个pod有多个容器(通过控制pod来控制容器进而控制程序)
controller:启动pod停止pod伸缩pod
service:对外服务的统一路口下面可以维护同一类的多个pod。流量流向谁呢?
label:对pod进行分类同一类pod打上标签,service通过标签来控制流量
namespace:隔离pod的运行环境

集群环境规划
集群分两类一主多从,多主多从
一主多从,服务器要是宕机了怎么办?集群就完全完蛋了。只能是测试环境
多主多从,安全性非常高?搭建麻烦,适合生产环境

minikube 一个用于单节点测试
kubeadm 快速搭建kubernets集群
二进制包 依次下载组件编译安装,组件之间要产生证书

环境搭建 选用vm虚拟三台服务器
能互通网络,修改主机名

注意三台主机都需要做

1.环境初始化

centos需要在7.5以上
cat /etc/redhat-release

2.测试环境做etchosts的域名解析真实环境推荐使用dns做域名解析

192.168.100.128 master master.example.com
192.168.100.130 node1 node1.example.com
192.168.100.129 node2 node2.example.com

3.集群时间必须同步,企业里推荐搭建自己的时间服务器

systemctl start chronyd
date

4.禁用iptables与firewalld 生产环境防火墙一定要慎重

Kubernetes和Docker会产生大量iptables规则,为了不让系统规则与之混淆,直接关闭系统的规则
systemctl --now disable firewalld
systemctl stop iptables
systemctl disable iptables
(我没有iptables)

5.禁用selinux

6.禁用swap分区 虚拟内存分区 物理内存使用完了,可以将物理空间虚拟成内存。启用swap设备会对系统的性能产生非常负面的影响。也可以告诉kubernetes我非要开这个分区

7.修改linux内核参数

Kubernetes强制要求你这么做 添加网桥过滤和地址转发功能

重载配置
sysctl -p
加载网桥过滤模块
modprobe br_netfilter
查看网桥过滤模块是否加载成功

8.配置ipvs功能

Service 做接口暴露 负载均衡 反向代理 一种iptables 一种ipvs 相比较ipvs性能明显高 需要手动载入ipvs模块
安装ipvsadm ipset

添加shell脚本,功能为加载模块

  [root@master ~]# cat > /etc/sysconfig/modules/ipvs.modules << q
> #!/bin/bash
> modprobe -- ip-vs
> modprobe -- ip_vs_rr
> modprobe -- ip_vs_wrr
> modprobe -- ip_vs_sh
> modprobe -- nf_conntrack_ipv4
> q

为ipvs的内容


查看对应模块是否加载成功
Centos版本太高导致报错
modprobe: FATAL: Module nf_conntrack_ipv4 not found in directory /lib/modules/4.18.0-373.el8.x86_64
解决报错


成功加载模块

注意三台服务器都要做
最后重启

来自黑马java视频教程

k8s 初始化环境(1)的更多相关文章

  1. 使用WCF扩展在方法调用前初始化环境

    使用WCF扩展在方法调用前初始化环境 OperationInvoker 介绍 OperationInvoker 是 WCF 运行时模型中在调用最终用户代码前的最后一个扩展点,OperationInvo ...

  2. 分享知识-快乐自己:Liunx-大数据(Hadoop)初始化环境搭建

    大数据初始化环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce 六):揭秘 ...

  3. 使用Rancher搭建K8S测试环境

    使用Rancher搭建K8S测试环境 http://blog.csdn.net/csdn_duomaomao/article/details/75316926 环境准备(4台主机,Ubuntu16.0 ...

  4. cert-manager管理内网k8s开发环境证书

    目的 内网k8s开发环境配置HTTPS,保持与生产环境的配置的一致性,其必要性有: PWA开发,HTTPS是必要条件 网页引入HTTP资源,如果开发环境是HTTP就不会被开发和测试人员发现,造成生产环 ...

  5. 1、二进制安装K8s 之 环境准备

    二进制安装K8s 之 环境准备 1.系统&软件 序号 设备\系统 版本 1 宿主机 MacBook Pro 11.4 2 系统 Centos 7.8 3 虚拟机 Parallels Deskt ...

  6. OpenStack之一:初始化环境

    初始化环境必须在左右节点执行 #:注意node节点要使用7.2 #: 关闭NetworkManager [root@localhost ~]# systemctl stop NetworkManage ...

  7. k8s基础环境配置:基于CentOS7.9

    k8s基础环境配置:基于CentOS7.9 wmware15安装centos7.9:https://www.cnblogs.com/uncleyong/p/15261742.html 1.配置静态ip ...

  8. AWS EKS 创建k8s生产环境实例

    #AWS EKS 创建k8s生产环境实例 在AWS部署海外节点, 图简单使用web控制台创建VPC和k8s集群出错(k8s), 使用cli命令行工具创建成功 本实例为复盘, 记录aws命令行工具创建e ...

  9. k8s初始化搭建方法

    http://www.cnblogs.com/cocowool/p/kubeadm_install_kubernetes.html https://www.kubernetes.org.cn/doc- ...

随机推荐

  1. jmeter关于入参转码encode问题

    我们的工作中,通过抓包经常会发现有很多入参都是被encode过一层,形成了如上图所示的样子: 这些参数我们是可以通过fiddler去转码的:但是如果我们要做jmeter的脚本,不可能每一次都手动去转码 ...

  2. 基于python 实现KNN 算法

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/11/7 14:50 # @Author : gylhaut # @Site ...

  3. 顺序表的插入和删除(基于c语言)

    插入:在下标p处插入数据x:返回是否成功(0/1) 几个注意点:1.还能否插入数据:2.给的下标p是否是错误的以及p的范围:3.移动时的易错点(从下标大的元素开始):4.n与palist->n; ...

  4. .net为程序集签名之.pfx文件

    项目中误删了.pfx证书文件,导致项目无法启动. 以为很快就能在网上找到解决方案,应该没关系,不过找了半个小时,都没有有效的解决办法,搜出来很多.pfx文件是一个证书文件,里面存储公钥和私钥,对于我要 ...

  5. 渗透测试系统kali配置源

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 kali是一款非常棒的渗透测试系统,但是他使用的源是国外的,这对于我们来说非常不友好,下载东西非常慢或者下载不了,更换国内源目的就是为了方便我们使用 ...

  6. CentOS Stream 8 安装 Zabbix6.0 -- LNMP环境(nginx-1.20,mariadb-10.6,php-7.4)

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 zabbix6.0 LTS版本出来了,前段时间刚安装了5.4,今天打算在虚拟机上安装6.0测试,安装6.0的要求php版本不低于7.2,mariad ...

  7. 如何构建Docker镜像

    构建Docker 镜像有如下两种方法: (一)使用docker commit命令.(二)使用docker build命令和 Dockerfile 文件.在这里并不推荐使用docker commit来构 ...

  8. Fiddler——抓取https接口配置(web,安卓,ios)

    作为一名合格的测试怎么能不会抓包呢.   抓包适用场景:   测试某个功能时,出现了bug,这时我们便需要抓包看一下这个bug到底是前端的还是服务端的: bug的精准指向,能加速bug得以解决.   ...

  9. java对配置文件properties的操作

    1.读取配置文件的键值对,转为Properties对象:将Properties(键值对)对象写入到指定文件. package com.ricoh.rapp.ezcx.admintoolweb.util ...

  10. 从查询重写角度理解elasticsearch的高亮原理

    一.高亮的一些问题 elasticsearch提供了三种高亮方式,前面我们已经简单的了解了elasticsearch的高亮原理; 高亮处理跟实际使用查询类型有十分紧密的关系,其中主要的一点就是muti ...