k8s dashboard_windows10 部署 docker+k8s 集群

7784c6454d61e5ee7d2570e74946fdc9.png

下面是经过踩坑之后的 windows10 单机部署 docker k8s 步骤,其中有几处比较关键的地方需要注意,后面加粗标注,下面就开始吧!

0、下载cmder

在 windows 上有一个趁手的命令行工具非常有必要,推荐 Cmder,下面是下载地址:

https://cmder.net/

安装完成后,一定要右键使用管理员权限打开,否则后续操作会失败。

1、下载安装配置docker

下载 docker.exe 安装文件:

https://www.docker.com/get-started

下载完成后直接安装,注意安装完成后,右键使用管理员权限启动。一定要使用管理员权限启动,否则 k8s 无法启动,启动后不要开启 k8s,否则会陷入无限等待当中,因为默认的源不可用(长城),只需要启动docker即可。

在 docker 桌面小图标上右键选择 【About Docker Desktop】,会出现下面界面,记住自己的 k8s 版本,后面会用到,从图中看到我的版本是 v1.16.5。

631e74fd34e9c2f53b60fe7b9c3020d7.png

下面还是在 docker 桌面小图标上右键选择 【Dashboard】,进入下图中的界面,然后填入如下内容,然后点击【Apply & Restart】:

{

e19c40c90d1e717272ad8cf5f2181bec.png

从上图中可以看到,我的 k8s 已经处于启动状态,请暂时忽略。

下面开始重要的步骤。

2、下载必要的镜像

注意,下面的所有操作都要在以管理员权限打开的命令行中执行

# 首先预先从阿里云 Docker 镜像服务下载 k8s 所需要的镜像:
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git# 切换至对应自己安装的 k8s 版本的分支
git checkout v1.16.5# 执行下面命令以允许脚本的执行
Set-ExecutionPolicy RemoteSigned# 然后执行命令开始下载 k8s 所需镜像
.load_images.ps1

下图是可以选择的分支,找到和所安装的 k8s 版本相同的分支即可。

322a2f873ac4344a422a08be8ac16df2.png

完成上面的操作之后,在命令行输入 docker images 应该可以看到下图的镜像列表中的一部分,只要自己的列表中 http://k8s.gcr.io 开头的镜像都存在即可。

ae03f3b9c0d295ceccda85e5211844ca.png

3、启动 k8s

在镜像下载完成后,启动 k8s 之前,还需要修改 hosts 文件,增加下面内容,否则会启动失败。

# 命令执行下面操作,注意这里用的命令行工具是 Cmder
# 如果使用 PowerShell 是没有 vim 的,只能自己手动打开目录修改文件
vim C:WindowsSystem32driversetchosts# 打开后,按下 i 符号进入编辑状态另起一行,写入下面内容
127.0.0.1   kubernetes.docker.internal# 接着按下 ESC 键进入 vim 命令行状态,输入 :qw! 保存退出即可

这个时候回到【Dashboard】界面,选中 Enable Kubernetes,然后应用。

e90e9ba2e2d3241919447184ccdaa7cf.png

下面等待 k8s 启动即可,可以通过查看主界面看是否有容器已经启动,如下图:

e0b7f6e01d24e615e991ac042bcde609.png

可以通过下图中两个命令查看运行情况:

df8a9d7627b351adf76f48c51997b040.png

4、配置 Kubernetes 控制台

直接用浏览器打开下面的地址,然后按 Ctrl+s 将文件保存到某个位置。

https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml

然后用编辑器打开这个文件,找到对应的 kind 并修改为下面的状态,注意,这一步非常重要,否则安装好的控制台无法使用。

kind

修改完成后执行下面的命令:

kubectl create -f recommended.yaml

会输出如下内容:

bf7f1c72fcb4bc837135b5c5fa3b6e5b.png

在登录之前先用命令获取到登录所需 Token:

# 使用下面命令拿到访问令牌
kubectl -n kubernetes-dashboard get secret
# NAME                               TYPE                                  DATA   AGE
# default-token-924zv                kubernetes.io/service-account-token   3      52s
# kubernetes-dashboard-certs         Opaque                                0      52s
# kubernetes-dashboard-csrf          Opaque                                1      52s
# kubernetes-dashboard-key-holder    Opaque                                0      52s
# kubernetes-dashboard-token-68h2b   kubernetes.io/service-account-token   3      52skubectl describe secrets -n kubernetes-dashboard kubernetes-dashboard-token-68h2b | grep token | awk 'NR==3{print $2}'

会输出一个很长的字符串,复制的这个字符串,然后打开浏览器,输入 localhost:30000 访问这个地址,正常情况下会打开下面所示的界面,输入刚刚拿到的 Token 点击登录即可,但如果是 Chrome 可能会存在访问策略问题,解决方法:

  • 换 Firefox 浏览器
  • 直接键盘打字 thisisunsafe 这个字符串,页面会自动刷新并进入图中页面

5e717e05bdee8e9f05e4d67ae5930071.png

接着就能看到管理界面了,✿✿ヽ(°▽°)ノ✿,经过很长的步骤终于完成了所有操作。

5e715dd4d81ba186747769bd1d3cce65.png

7295669652a537de850e022e7f293c29.png

5、安装 Rancher

Rancher是一个开源的集群管理工具,安装非常简单,只需要命令行输入下面命令即可:

docker run -d --restart=unless-stopped -p 10001:80 -p 10002:443 rancher/rancher

等待安装完成后,打开浏览器 https://localhost:10002,Chrome会提示不安全,忽略即可,就可以进入下面界面了:

742a0e8b93969a8083ecadb75e67c286.png

接下来就是自由探索的时间,踩坑结束。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 之网络编程基础

套接字(socket)初使用 基于TCP协议的socket tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 server端 import socket sk socket.socket() sk.bind((127.0.0.1,8898)) # 把地址绑定到套接字 sk.listen() …

ajax on ture,细数Ajax请求中的async:false和async:true的差异

实例如下:function test(){var temp"00";$.ajax({async: false,type : "GET",url : userL_checkPhone.do,complete: function(msg){alert(complete);},success : function(data) {alert(success);tempdata;temp"aa";}});alert(temp);…

阿里云邮箱登录日志中有异地IP登录是怎么回事?该怎么办?

注意,请先到阿里云官网 领取幸运券,除了价格上有很多优惠外,还可以参与抽奖。详见:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode2a7uv47d&utm_source2a7uv47d以下可能:1、您的邮…

面试之网络编程和并发

1、简述 OSI 七层协议。 物理层:主要基于电器特性发送高低电压(1、0),设备有集线器、中继器、双绞线等,单位:bit 数据链路层:定义了电信号的分组方式,设备:交换机、网卡、网桥,单位&…

redis 远程主机强迫关闭了一个现有的连接_记一次Redis+Getshell经验分享

你是我患得患失的梦,我是你可有可无的人,毕竟这穿越山河的箭,刺的都是用情之疾的人。前言:当我们接到一个授权渗透测试的时候,常规漏洞如注入、文件上传等尝试无果后,扫描端口可能会发现意外收获。知己知彼…

无线连接 服务器,服务器无线远程连接

服务器无线远程连接 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。使用Mac版Microsoft Remote Desktop工具,远程连接W…

面试前您该做的事情

选自本人作品:《软件性能测试与LR实战》 无论您是刚刚毕业的大学生朋友,还是已经有工作经验的同行,大家都不可避免的面临一个问题就是找工作或者换工作的问题。在整个应聘过程中,面试无疑是最具有决定性意义的重要环节&#xff0c…

IO模型

IO模型介绍 传统的网络IO模型包括五种: blocking IO 阻塞IOnonblocking IO 非阻塞IOIO multiplexing IO多路复用signal driven IO 信号驱动IOasynchronous IO 异步IO 由于signal driven IO(信号驱动IO)在实际中…

重温数据结构:树 及 Java 实现(转)

转自:http://blog.csdn.net/u011240877/article/details/53193877 读完本文你将了解到: 什么是树树的相关术语 根节点父亲节点孩子节点叶子节点如上所述节点的度树的度节点的层次树的高度树的深度树的两种实现 数组表示链表表示的节点树的几种常见分类及…

Powershell检测AD账户密码过期时间并邮件通知

脚本主要实现了两个功能 : 一能判断账户密码的过期时间并通过邮件通知到账户; 二是将这些即将过期的账户信息累计通知到管理员。 脚本如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051…

js list删除指定元素_vue.js

vue.js 中M V MV代表哪一部分 <插值表达式&#xff08;v-cloak v-text v-html v-bind&#xff08;缩写是:&#xff09; v-on&#xff08;缩写是&#xff09; v-model v-for v-if v-show &#xff09;<body><div id"app"><!-- 使用 v-cloak 能够解决…

修改db2管理服务器,创建DB2管理服务器的两种情况

DB2管理服务器在创建时分为创建一个和创建多个两种情况&#xff0c;下面就为您详细介绍这两种创建DB2管理服务器的情况&#xff0c;供您参考学习。一、创建DB2管理服务器(只能创建一个)1、首先创建管理服务组用户(可不建)命令&#xff1a;sudo groupadd dasadm12、创建用户命令…

系统程序员成长计划-走近专业程序员

转载时请注明出处和作者联系方式 文章出处&#xff1a;http://www.limodev.cn/blog 作者联系方式&#xff1a;李先静 <xianjimli at hotmail dot com> 需求简述 用C语言编写一个双向链表。如果你有一定的C语言编程经验&#xff0c;这自然是小菜一碟。有的读者可能连一个…

Python 内置模块之 asyncio(异步iO)

python3.0&#xff0c;标准库里的异步网络模块&#xff1a;select(非常底层) &#xff0c;第三方异步网络库&#xff1a;Tornado&#xff0c;gevent python3.4&#xff0c;asyncio&#xff1a;支持 TCP &#xff0c;子进程 现在的asyncio&#xff0c;有了很多的模块已经在支持…

前端js文件合并三种方式

最近在思考前端js文件该如何合并&#xff0c;当然不包括不能合并文件&#xff0c;而是我们能合并的文件&#xff0c;想了想应该也只有三种方式。 三个方式如下&#xff1a; 1. 一个大文件&#xff0c;所有js合并成一个大文件&#xff0c;所有页面都引用它。 2. 各个页面大文件&…

我们的系统检测到您的计算机网络中存在异常流量_如何建立我们的网络防线?入侵检测,确保我们的网络安全...

目前我们的网络安全趋势日益严峻&#xff0c;那么如何利用入侵检测系统确保我的网络安全呢&#xff1f;入侵检测又是什么呢&#xff1f;网络安全入侵检测技术是为保证计算机系统的安全&#xff0c;而设计与配置的一种能够及时发现并报告系统中未授权或异常现象的技术&#xff0…

sql修改链接服务器名称,SQL Server 创建链接服务器的脚本,自定义链路服务器的简短名称...

USE [master]GO/****** Object: LinkedServer [SQL01] Script Date: 2020/4/9 11:51:17 ******/EXEC master.dbo.sp_addlinkedserver server N‘SQL01‘, srvproductN‘‘, providerN‘SQLNCLI‘, datasrcN‘域名或者IP‘/* For security reasons the linked server remot…

mybatis $和#源代码分析

JDBC中&#xff0c;主要使用两种语句&#xff0c;一种是支持参数化和预编译的PreparedStatement,支持原生sql,支持设置占位符&#xff0c;参数化输入的参数&#xff0c;防止sql注入攻击&#xff0c;在mybatis的mapper配置文件中&#xff0c;我们通过使用#和$告诉mybatis我们需要…

git 命令详解和常见问题解决

功能一 提交&#xff1a;1:git init # 初始化&#xff0c;表示即将对当前文件夹进行版本控制2:git status # 查看Git当前状态&#xff0c;如&#xff1a;那些文件被修改过、那些文件还未提交到版本库等。3:git add . # 添加当前目录下所有文件到版本…

辞职日记----记录31岁的程序员跳槽心态

vcleaner http://topic.csdn.net/u/20080626/23/8f6a8ecc-c072-43ee-bf2d-7ac2286b6805.html http://topic.csdn.net/u/20080704/23/858fc00d-ec14-4db7-93be-34903b7f157a.html 转载他的离职日记&#xff0c;有许多东西值得我们认真思考&#xff0c;人活着到底为了什么&a…