一、kube-proxy开启ipvs的前置条件

//1、加载netfilter模块

modprobe br_netfilter  

//2、添加配置文件

cat  >  /etc/sysconfig/modules/ipvs.modules  <<EOF

#!/bin/bash

modprobe  --  ip_vs

modprobe  --  ip_vs_rr

modprobe  --  ip_vs_wrr

modprobe  --  ip_vs_sh

modprobe  --  nf_conntrack_ipv4

EOF

//3、赋予权限并引导

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules &&lsmod | grep -e ip_vs -e nf_conntrack_ipv4

二、安装docker软件

//1、docker依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

//2、导入阿里云的docker-ce仓库

yum-config-manager  \

--add-repo  \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

//3、更新系统安装docker-ce

yum update -y && yum install -y docker-ce

//4、uname -r  检测版本,再设置版本,后又重启reboot

grub2-set-default "CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)"

//5、启动

systemctl start docker

//6、开机自启

systemctl enable docker

//7、配置deamon

cat > /etc/docker/daemon.json <<EOF

{

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

}

}

EOF

//8、创建目录存放docker配置文件

mkdir -p  /etc/systemd/system/docker.service.d   

//9、重启docker

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

三、安装Kubeadm(主从配置)

//1、导入阿里云的YUM仓库

cat  <<EOF >  /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg

http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

//2、在每个节点安装kubeadm(初始化工具)、kubectl(命令行管理工具)、kubelet(与docker的cri交互创建容器)

yum -y install kubeadm-1.15.1 kubectl-1.15.1 kubelet-1.15.1  

// 3、k8s开机自启.kubelet需要与容器接口进行交互启动容器,而k8s通过Kubeadm安装出来以后都是以pod方式存在,也就是底层以容器的方式运行,所以一定要开机自启

systemctl enable kubelet.service 

四、初始化主节点(master)

1、导入镜像

Xshell  rz命令

kubeadm-basic.images.tar.gz

2、解压

tar -zxvf kubeadm-basic.images.tar.gz

3、导入,创建文件load-images.sh

4、编辑load-images.sh

5、赋予权限并执行

6、复制到其他节点

scp -r kubeadm-basic.images load-images.sh  root@k8s-node01:/root/

节点导入  ./load-images.sh

7、初始化节点

//显示init默认的初始化文件,并打印出来到kubeadm-config.yaml文件中

kubeadm config print init-defaults > kubeadm-config.yaml 

8、获得了kubeadm的初始化模板,并修改

8.1 ip地址修改,不知道自己的ifconfig

8.2版本号修改

8.3、添加pod网段:podSubnet: "10.244.0.0/16"

8.4、修改默认的调度方式

---

apiVersion: kubeproxy.config.k8s.io/v1alpha1

kind: KubeProxyConfiguration

featureGates:

SupportIPVSProxyMode: true

mode: ipvs 

9、指定从那个yaml文件进行初始化安装,自动颁发证书,并将所有信息写入到kubeadm-init.log

kubeadm init --config=kubeadm-config.yaml --experimental-upload-certs | tee kubeadm-init.log

10、查看kubeadm-init.log

11、查看证书

12、成功后根据日志提示操作

13、查看节点

五、部署网络

其他随笔:

拷贝镜像到其他文件

scp -r kubeadm-basic.images load-images.sh root@k8s-node01:/root/

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
节点加入集群 kubeadm join 192.168.100.179:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:2bb6e02e45b59bdba86e0478b60d984730995924379c2973a4049a601316689f //查看日志 vim kubeadm-init.log //查看节点信息 kubectl get pod -n kube-system kubectl get pod -n kube-system -w //监视 kubectl get pod -n kube-system -o wide // 详细信息 //存放文件 mv install-k8s / /usr/local/ nmtui命令调出修改窗口

链接:https://www.bilibili.com/video/av66617940/?p=7

第四章 K8s部署安装的更多相关文章

  1. 第十四章 二进制部署k8s集群的平滑升级

    1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...

  2. 第四章·Kibana入门-安装,索引添加及界面功能

    1.Kibana简介及部署 什么是Kibana? Kibana是一个通过调用elasticsearch服务器进行图形化展示搜索结果的开源项目. Kibana安装及配置 #将Kibana安装包上传至服务 ...

  3. kubernetes实战(四):k8s持久化安装rabbitmq集群

    1.下载文件 https://github.com/dotbalo/k8s/ 2.创建namespace kubectl create namespace public-service 如果不使用pu ...

  4. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  5. CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  6. CentOS7安装CDH 第十四章:CDH的优化

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  7. CentOS7安装CDH 第四章:CDH的版本选择和安装方式

    相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...

  8. Linux网络服务第四章部署yum仓库

    第四章部署yum仓库服务 1.笔记 systemctl start 命令 :重启 systemctl enable 命令 :开机自启动 netstat -anput | grep 命令:查看是否开启 ...

  9. Rancher的部署安装(编排选用K8S)

    为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Do ...

随机推荐

  1. JavaWeb的几种设计模式

    原文:http://blog.csdn.net/yue7603835/article/details/7479855 Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为 ...

  2. db2序列

    CREATE SEQUENCE <sequence-name> AS data-type   默认 As Integer START WITH <numeric-constant&g ...

  3. 如何加快Vue项目的开发速度

    如何加快Vue项目的开发速度 本文摘自奇舞周刊,侵权删. 现如今的开发,比如内部使用的管理平台这种项目大都时间比较仓促.实际上来说,在使用了webpack + vue 这一套来开发的话已经大大了提高了 ...

  4. 带你逐行阅读redux源码

    带你逐行阅读redux源码 redux版本:2019-7-17最新版:v4.0.4 git 地址:https://github.com/reduxjs/redux/tree/v4.0.4 redux目 ...

  5. c++后台开发面试常见知识点总结(五)场景设计

    搜索引擎的实现,会用到哪些重要的数据结构 设计实现一个HTTP代理服务器 / web服务器 / FTP服务器/ 设计实现cache缓存web服务器的网页访问记录 把一个文件快速下发到100w个服务器 ...

  6. Mysql 数据库默认值选 ''" 、Null和Empty String的区别

    两者的查询方式不一样:NULL值查询使用is null/is not null查询,而empty string可以使用=或者!=.<.>等算术运算符,这点算是最主要的区别了. 对于myis ...

  7. C++11之列表初始化

    1. 在C++98中,标准允许使用花括号{}来对数组元素进行统一的集合(列表)初始化操作,如:int buf[] = {0};int arr[] = {1,2,3,4,5,6,7,8}; 可是对于自定 ...

  8. 【LeetCode 30】串联所有单词的子串

    题目链接 [题解] 开个字典树记录下所有的单词. 然后注意题目的已知条件 每个单词的长度都是一样的. 这就说明不会出现某个字符串是另外一个字符串的前缀的情况(除非相同). 所以可以贪心地匹配(遇到什么 ...

  9. [CSP-S模拟测试]:玄学题/c(数学)

    题目传送门(内部题40) 输入格式 第一行:两个正整数$n$.$m$. 输出格式 第一行:一个整数,代表式子的值. 样例 样例输入1: 4 5 样例输出1: 0样例输入2: 799 8278 样例输出 ...

  10. Vue项目中添加锁屏功能

    0. 直接上 预览链接 Vue项目中添加锁屏功能 1. 实现思路 ( 1 ) 设置锁屏密码 ( 2 ) 密码存localStorage (本项目已经封装h5的sessionStorage和localS ...