k8s 安装 kubernetes安装教程 虚拟机安装k8s centos7安装k8s kuberadmin安装k8s k8s工具安装 k8s安装前配置参数

k8s采用master, node1, node2 。三台虚拟机安装的一主两从,机器已提前安装好docker。下面是机器配置,k8s安装过程,以及出现的问题与解决方法

  虚拟机全部采用静态ip, master 30机器, node1 31机器, node2 32机器

                                       机器ip 192.168.164.30   # master

                                                   192.168.164.31   # node1

                                                   192.168.164.31   # node2

机器配置:

                 2核2g

 k8s安装步骤

1. 关闭防火墙(三节点都配置):

 systemct] stop firewal1d	
 # 永久
 systemct] disable firewal1d 

2.关闭selinux(三台节点都配置):

#永久 选择一个即可,永久删除,毕竟是虚拟机
sed -i 's/enforcing/disabled/'  /etc/selinux/config
setenforce 0 #临时

3.关闭swap(三台节点都配置):

#临时
swapoff -a 

# 永久
sed -ri  's/.*swap.*/#&/'  /etc/fstab

4.设置hostname(三台节点分别配置)

# master节点, 名字随意也可以叫master,与后面的配置 对应即可
hostnamectl  set-hostname  k8smaster

####
#### 注意下面是在其他节点输入命令
####

# node1 节点:
hostnamectl set-hostname k8snode1

#node2 节点
hostnamectl set-hostname k8snode2

5.master节点 添加hosts配置

cat >> /etc/hosts << EOF
192.168.164.30 k8smaster
192.168.164.31 k8snode1
192.168.164.32 k8snode2
EOF

6.将桥接的IPv4流量传递到iptables的链(三台节点都配置):

cat  >  /etc/sysctl.d/k8s.conf  <<  EOF 
net.bridge.bridge-nf-ca11-ip6tables = 1
net.bridge.bridge-nf-ca11-iptables = 1
EOF
#配置生效
sysctl  --system 

7. 虚拟机同步时间(三台节点都配置):

# yum仓库安装插件
yum install  ntpdate -y

#同步
ntpdate time.windows.com

8.yum仓库配置k8s(三台节点都配置):

cat  >  /etc/yum.repos.d/kubernetes.repo  <<  EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

 更新yum(三台都输入):

   yum update -y

9. 安装kuberadmin(三台节点都配置) :

yum install -y  kubelet-1.18.0  kubeadm-1.18.0  kubect1-1.18.0
# systemctl 管理 kubelet
systemctl  enable  kubelet

10. 修改网络配置(三台节点都配置):


#在/etc/sysctl.conf中添加参数:    
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

# 报错并退出后,执行sysctl -p 时刷新
 sysctl -p

11. 修改网络配置参数(三台节点都配置):

#文件内容为0,表示禁止数据包转发,1表示允许
cat /proc/sys/net/ipv4/ip_forward
# vi编辑参数 0修改为1  允许数据包转发

 12. 加载ip_vs模块

for i in $(ls /usr/lib/modules/$(uname -r)/kernel/net/netfilter/ipvs|grep -o "^[^.]*");do echo $i; /sbin/modinfo -F filename $i >/dev/null 2>&1 && /sbin/modprobe $i;done

 13. 清空iptables 规则(不关闭则报错)

iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X

12. master节点配置,启动kubeadm:

# 第一个参数,修改为自己的虚拟机ip,不知道的ifconfig,查看
kubeadm init --apiserver-advertise-address=192.168.164.30 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

 13. 报错都给找不到报错信息了。查看报错信息修改即可,比如设置:

      /proc/sys/net/bridge中的文件bridge-nf-call-iptables 设置为1 ,再启动上面12的命令

成功如下:

 master 成功信息:

 14. 截图中需要输入的命令,再次配置环境

mkdir -p  $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf  $HOME/.kube/config
sudo chown $(id -u):$(id -g)  $HOME/.kube/config

15.  部署cni网络插件 master节点输入命令:

# cli网络配置   超时之类的就多试几次, 实在不行,就找人下载下来,文件上传到服务器,然后kubectl apply -f 下载地址
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 16. 成功之后,等待自动安装成功,时间有点长 kubectl get nodes 查看节点是否ready

# 查看是否成功, 成功则全是running
kubectl get pods -n kube-system

      

  查看节点是否ready

 kubectl get nodes 

 16. 安装成功!使用nginx验证:

# 创建nginx
kubectl create deployment nginx --image=nginx


# 查看是否running
kubectl get pods

 

成功后,设置暴露端口:

kubectl expose deployment nginx --port=80 --type=NodePort


# 查看映射
kubectl get pod,svc

k8s安装成功, 测试成功。k8s使用 kubeadm安装成功!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/93698.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb基础学习(4)

Javaweb基础学习&#xff08;4&#xff09; 一、JSP学习1.1 JSP的简介概述1.2 JSP快速入门1.3 JSP原理1.4 JSP脚本1.5 JSP缺点1.6 EL表达式1.7 JSL标签1.7.1 JSL快速入门 1.8 MVC 模式和三层架构1.9 三层架构 三、会话跟踪技术3.1 会话跟踪技术介绍3.2 Cookie的基本使用3.3、Co…

List 去重两种方式:stream(需要JDK1.8及以上)、HashSet

1、使用Stream 方法 使用JDK1.8及以上 /*** Java合并两个List并去掉重复项的几种做法* param args*/public static void main(String[] args) {String[] str1 {"1", "2", "3", "4", "5", "6"};List<String&…

【【Verilog典型电路设计之CORDIC算法的Verilog HDL 实现】】

Verilog典型电路设计之CORDIC算法的Verilog HDL 实现 典型电路设计之CORDIC算法的Verilog HDL 实现 坐标旋转数字计算机CORDIC(Coordinate Rotation Digital Computer)算法&#xff0c;通过移位和加减运算&#xff0c;能递归计算常用函数值&#xff0c;如sin&#xff0c;cos,…

用QT实现MVP模式

近些天用qt 作项目,遇到参数界面.偷闲写个mvp模式示例. mvp模式重要的有两点 1 低耦合: 界面与后端数据类,不直接引用,可方便替换. 2 形成界面驱动-界面更新的闭环.:通过函数指针类技术,让数据自动回流. MVP (Model-View-Presenter) 视图&#xff08;View&#xff09;: 接…

uniapp 项目实践总结(一)uniapp 框架知识总结

导语&#xff1a;最近开发了一个基于 uniapp 框架的项目&#xff0c;有一些感触和体会&#xff0c;所以想记录以下一些技术和经验&#xff0c;在这里做一个系列总结&#xff0c;算是对自己做一个交代吧。 目录 简介全局文件全局组件常用 API条件编译插件开发 简介 uniapp 是…

【SpringCloud技术专题】「Gateway网关系列」(1)微服务网关服务的Gateway组件的原理介绍分析

为什么要有服务网关? 我们都知道在微服务架构中&#xff0c;系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢&#xff1f;难道要一个个的去调用吗&#xff1f;很显然这是不太实际的&#xff0c;我们需要有一个统一的接口与这些微服务打交道&#xf…

STL-常用容器-list容器(双向循环链表)

1 list基本概念 功能&#xff1a;将数据进行链式存储 链表&#xff08;list&#xff09;是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接实现的。 链表的组成&#xff1a;链表由一系列结点组成 结点的组成&#xff1a;一个是存…

使用Python进行美团外卖数据采集的简易教程

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 美团外卖是目前国内最大的在线外卖订餐平台之一&#xff0c;对于市场分析、竞争情报等方面的研究&#xff0c;采集美团外卖的数据是一项重要任务。 本教程将向您展示如何使用Python进行美团外卖数据采集&#xff0c;以便帮助…

python函数学习

def add(num1,num2):resultnum1num2print(f"函数add输出的结果是{result}")return result resultadd(int(num1), int(num2)) print(f"调用def add(num1,num2):这个函数最终返回的结果是: {result}")# 函数返回值 ②无返回值&#xff08;也就是说是返回值类…

Echarts图表坐标轴文字太长,省略显示,鼠标放上显示全部(vue)

注意&#xff1a;记得加上这个&#xff0c;触发事件&#xff0c; triggerEvent: true,重点&#xff1a;下面就是处理函数&#xff0c;在实例化图表的时候使用&#xff0c;传入参数是echarts的实例 // 渲染echartsfirstBarChart() {const that thislet columnar echarts.init…

【微服务】03-HttpClientFactory与gRpc

文章目录 1.HttpClientFactory &#xff1a;管理外向请求的最佳实践1.1 核心能力1.2 核心对象1.3 HttpClient创建模式 2.gRPC&#xff1a;内部服务间通讯利器2.1 什么是gRPC2.2 特点gRPC特点2.3.NET生态对gRPC的支持情况2.4 服务端核心包2.5 客户端核心包2.5 .proto文件2.6 gRP…

【crypto++使用】使用crypto++库函数运行RSA非对称加密

系列文章目录 1.&#xff08;全网最详细攻略&#xff09;【Crypto】在Visual studio2022中运行Cryptopp 文章目录 系列文章目录前言一、RSA加密过程、步骤可学习的网址 二、代码部分1.visual studio编程注意一个标准案例提供给大家 2.RSA密钥生成思考&#xff1a; 3.关于RSA的…

顺序表链表OJ题(1)——【LeetCode】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 前言&#xff1a; 今天我们来回顾一下顺序表与链表&#xff0c;针对这一块我们也有许多OJ题目供大家参考。当我们学习完顺序表链表后避免不了一些习题的练习&#xff0c;这样才能巩固我们学习的内容。 话不多说&#xf…

illegal cyclic inheritance involving trait Iterable_2种解决方式

一、报错内容 /Users/liyangda/Code/DemoProject/demo-scala/src/scala/old04/T4.scala:11:20 illegal cyclic inheritance involving trait Iterableval value List(1, 2, 3, 4, 5, 6, 7, 8)二、问题解决 1、方式一&#xff1a;降低scala版本 可以选择降低Scala的版本&…

Python 字典排序超级简单

再Python中不可避免地要对字典进行排序&#xff0c;有时候字典里放着还是数组&#xff0c;对数组的某个位置元素进行排序&#xff0c;这样有点不容易 转换下思路&#xff0c;可以将字典放在Pandas中的DataFrame中&#xff0c;这样就可以迅速排序了。 import pandas as pd# 原…

深度学习7:生成对抗网络 – Generative Adversarial Networks | GAN

生成对抗网络 – GAN 是最近2年很热门的一种无监督算法&#xff0c;他能生成出非常逼真的照片&#xff0c;图像甚至视频。我们手机里的照片处理软件中就会使用到它。 目录 生成对抗网络 GAN 的基本原理 大白话版本 非大白话版本 第一阶段&#xff1a;固定「判别器D」&#x…

LeetCode面试经典150题(day 1)

LeetCode是一个免费刷题的一个网站&#xff0c;想要通过笔试的小伙伴可以每天坚持刷两道算法题。 接下来&#xff0c;每天我将更新LeetCode面试经典150题的其中两道算法题&#xff0c;一边巩固自己&#xff0c;一遍希望能帮助到有需要的小伙伴。 88.合并两个有序数组 给你两个…

iOS import包

Frameworks Frameworks 顾名思义就是框架&#xff0c;是第三方打包完成看不到源码&#xff0c;可以直接使用的 在项目中引用方式 OC 引用某一个文件&#xff0c;Frameworks一般会提供一个h文件引用全部其他文件 #import <JLRoutes/JLRoutes.h>swift 引用一个包&#x…

vue实现自定义树形组件

欢迎点击关注-前端面试进阶指南&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的&#x1fa9c; 效果展示&#xff1a; 近期的一个功能需求&#xff0c;实现一个树形结构&#xff1a;可点击&#xff0c;可拖拽&#xff0c;右侧数据可以拖拽到对应的…

idea如何设置高亮显示选中的变量颜色

打开设置 设置颜色&#xff0c;挑你自己喜欢的&#xff0c;就好了 然后在你的编辑器页面里&#xff0c; 随便选中某个变量&#xff0c; 其他位置使用该变量的地方就会高亮显示