草庐IT

2023年最详细K8S部署(Kubernetes)+解决浏览器访问问题

hb_ky 2023-10-13 原文

1. 部署环境

Centos镜像版本:7.9

镜像下载地址:链接:https://pan.baidu.com/s/1uHIEmTv9sIdrvwYLLqUt_g 
提取码:1234 
 

硬件需求:CPU大于2核 内存大于2G

2. 节点设置

K8s-master:192.168.80.194

K8s-node01:192.168.80.200

K8s-node02:192.168.80.201

目录

1. 部署环境

2. 节点设置

3. 部署步骤(如没有说明则在全部节点执行)

安装docker(所有节点执行)

添加kubernetes YUM软件源(所有节点执行)

安装kubeadm,kubelet和kubectl(所有节点执行)

部署Kubernetes Master(只需要在master节点执行)

加入Kubernetes Node(只需要在node节点执行)

安装网络插件(只需要在master节点执行)

测试kubernetes集群

部署Dashboard(只需要在master节点执行)

解决其他浏览器不能访问的问题


3. 部署步骤(如没有说明则在全部节点执行)

关闭防火墙,关闭selinux

关闭swap分区

更改主机名以及配置hosts文件

内核调整,将桥接的ipv4流量传递到iptable链

使用sysctl--system执行

使用命令yum -y install ntpdate安装时间同步软件

使用命令ntpdate time.windows.com设置系统时区并同步时间服务器

安装docker(所有节点执行)

安装docker

设置开机启动并打开docker服务,查看docker版本

添加kubernetes YUM软件源(所有节点执行)

添加Kubernetes yum源

安装kubeadm,kubelet和kubectl(所有节点执行)

安装kubeadm,kubelet,kubectl软件,由于软件更新频繁,这里指定版本号部署

设置开机自启动

部署Kubernetes Master(只需要在master节点执行)

这里的apiserver需要改为自己master地址

输出结果

根据输出提示操作

默认的token有效期为24小时,如果后续有新的node节点加入,解决方式如下

使用命令kubeadm token create,然后输入命令kubeadm token list查看多了一个node节点

获取ca证书sha256编码hash值

加入Kubernetes Node(只需要在node节点执行)

在2个node节点执行,使用kubeadm join注册Node节点到master

执行kubeadm join,刚刚master执行kubeadm init输出的结果

安装网络插件(只需要在master节点执行)

下载kube-flannel.yml文件

编辑kube-flannel.yml文件

输入/image 然后修改镜像地址,如下图

查看集群node状态,安装完网络工具后,所有节点状态显示为Ready才行,查看查看ns的pod,状态显示为Running才能进行后续的操作

如果状态为flannel则需要检查网络情况,则需要输入以下命令,重新wget,修改镜像地址

然后输入kubectl apply -f kube-flannel.yml创建资源

测试kubernetes集群

在Kubernetes集群中创建一个pod,然后暴露端口,验证是否可以正常访问

访问地址 http://masterIP:31744(端口号为刚刚暴露的端口)

部署Dashboard(只需要在master节点执行)

下载kubernetes-dashboard.yaml文件

编辑文件

在112行修改 

增加158行和162的内容

输入kubectl apply -f kubernetes-dashboard.yaml创建资源

浏览器访问(火狐浏览器访问)https://masterIP:30001,成功后点击高级

点击接受风险并继续 

点击令牌

创建service account并绑定默认cluster-admin管理员集群角色,复制token输出的代码粘贴在刚刚网页访问令牌那里然后点击登录

访问成功

可以看见刚刚测试的nginx服务

解决其他浏览器不能访问的问题

输入以下指令来解决其他浏览器访问不了的问题

修改kubernetes-dashboard.yaml文件

输入/args然后在下面加证书两行,如下图

使用IE浏览器,测试可以成功访问

有关2023年最详细K8S部署(Kubernetes)+解决浏览器访问问题的更多相关文章

  1. 屏幕录制为什么没声音?检查这2项,轻松解决 - 2

    相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声

  2. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

  3. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  6. ruby - 如何更快地解决 project euler #21? - 2

    原始问题Letd(n)bedefinedasthesumofproperdivisorsofn(numberslessthannwhichdivideevenlyinton).Ifd(a)=bandd(b)=a,whereab,thenaandbareanamicablepairandeachofaandbarecalledamicablenumbers.Forexample,theproperdivisorsof220are1,2,4,5,10,11,20,22,44,55and110;therefored(220)=284.Theproperdivisorsof284are1,2,

  7. ruby - 强制浏览器下载文件而不是打开文件 - 2

    我要下载http://foobar.com/song.mp3作为song.mp3,而不是让Chrome在其native中打开它浏览器中的播放器。我怎样才能做到这一点? 最佳答案 您只需要确保发送这些header:Content-Disposition:attachment;filename=song.mp3;Content-Type:application/octet-streamContent-Transfer-Encoding:binarysend_file方法为您完成:get'/:file'do|file|file=File.

  8. ruby - 404 未找到,但可以从网络浏览器正常访问 - 2

    我在这方面尝试了很多URL,在我遇到这个特定的之前,它们似乎都很好:require'rubygems'require'nokogiri'require'open-uri'doc=Nokogiri::HTML(open("http://www.moxyst.com/fashion/men-clothing/underwear.html"))putsdoc这是结果:/Users/macbookair/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/2.0.0/open-uri.rb:353:in`open_http':404NotFound(OpenURI::HT

  9. ruby - 如何在 watir 测试套件结束时关闭浏览器? - 2

    使用ruby​​的watir测试网络应用程序时,浏览器最后会保持打开状态。网上的一些建议是,要进行真正的单元测试,您应该在每次测试时(在拆卸调用中)打开和关闭浏览器,但这很慢而且毫无意义。或者他们做这样的事情:defself.suites=superdefs.afterClass#Closebrowserenddefs.run(*args)superafterClassendsend但这会导致摘要输出不再显示(诸如“100次测试、100次断言、0次失败、0次错误”之类的内容仍应显示)。我怎样才能让ruby​​或watir在我的测试结束时关闭浏览器? 最佳答案

  10. ruby - 为什么这些方法没有解决? - 2

    这个问题在这里已经有了答案:WhydoRubysettersneed"self."qualificationwithintheclass?(3个答案)关闭29天前。给定这段代码:classSomethingattr_accessor:my_variabledefinitialize@my_variable=0enddeffoomy_variable=my_variable+3endends=Something.news.foo我收到这个错误:test.rb:9:in`foo':undefinedmethod`+'fornil:NilClass(NoMethodError)fromtes

随机推荐