第四章 K8s部署安装
一、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部署安装的更多相关文章
- 第十四章 二进制部署k8s集群的平滑升级
1.软件包下载 去github上下载较新的Kubernetes软件包https://github.com/ 2.升级说明 升级包括master节点升级和node节点的升级,本章升级至v1.15.12: ...
- 第四章·Kibana入门-安装,索引添加及界面功能
1.Kibana简介及部署 什么是Kibana? Kibana是一个通过调用elasticsearch服务器进行图形化展示搜索结果的开源项目. Kibana安装及配置 #将Kibana安装包上传至服务 ...
- kubernetes实战(四):k8s持久化安装rabbitmq集群
1.下载文件 https://github.com/dotbalo/k8s/ 2.创建namespace kubectl create namespace public-service 如果不使用pu ...
- 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)
(借鉴请改动) 第十二章收尾 12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在 /etc/export 写入格式:共享目录 允许的客户端(参数) ro ...
- CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- CentOS7安装CDH 第十四章:CDH的优化
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- CentOS7安装CDH 第四章:CDH的版本选择和安装方式
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- Linux网络服务第四章部署yum仓库
第四章部署yum仓库服务 1.笔记 systemctl start 命令 :重启 systemctl enable 命令 :开机自启动 netstat -anput | grep 命令:查看是否开启 ...
- Rancher的部署安装(编排选用K8S)
为什么要使用Rancher Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Do ...
随机推荐
- 箭头函数与普通function的区别
1. 箭头函数没有自己的this,它里面的this是继承所属上下文中的this,而且使用call与apply都无法改变 let obj = { name: 'obj' } function fn1() ...
- 2019-11-7-WPF-How-to-get-plain-text-from-RichTextBox
title author date CreateTime categories WPF How to get plain text from RichTextBox lindexi 2019-11-0 ...
- Ansible--04 ansible 流程控制
ansible 流程控制 playbook 条件语句 不管是 shell 还是各大编程预言中,流程控制,条件判断都是必不可少的,在我们使用 Ansible的过程中,条件判断的使用频率都非常高. 例如: ...
- tomcat manager 禁止外网访问 只容许内网访问
参考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation includes ...
- Linux运维学习网站收藏
Linux运维之道 1> http://www.linuxidc.com/ //Linux公社,收藏Linux学习的很多知识 2> http://http://www.jb51 ...
- mysql中int的长度与值的问题
我们在数据库中设置一个int类型,设置好长度,然后会发现并没有受到长度的限制,这是因为,int值的范围和这个长度根本没有关系. int的存储大小是4个字节(B), 计算机存储单位的换算: 1B=8b ...
- AcWing 229. 新NIM游戏 (线性基+博弈论)打卡
题目:https://www.acwing.com/problem/content/description/231/ 题意:给出n堆石子,然后第一回合,A玩家可以随便拿多少堆石子,第二回合B玩家随便拿 ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- ZROI week2
\[ZROI week2\] 除草机 首先考虑最少的拐点肯定是那种螺旋形状的,然后手玩几个数据发现和列数(行数)有关,且每增加1就是上一个状态加2,直接\(O(1)\)公式即可 吐槽:为啥\(n,m\ ...
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...