内容简介:本篇将会讲解k8s是什么?本机k8s环境搭建,部署一个pod并演示几个kubectl命令,k8s dashboard安装。k8s是kubernetes的简写,如果之前没有接触过k8s的话,也许听完上面的解释,并不是很清楚。而在软件技术的学习中,实操十分重要,搭建好环境,实际操作几次就不会觉得那么陌生了。在本机搭建k8s环境,我们有两种方式:
本篇将会讲解k8s是什么?本机k8s环境搭建,部署一个pod并演示几个kubectl命令,k8s dashboard安装。
k8s是什么
k8s是kubernetes的简写, 它是一个全新的基于容器技术的分布式架构领先方案 。它是谷歌内部使用的大规模集群管理系统Borg的一个开源版本。这个项目在谷歌内部使用多年,由于员工签署了保密协议,所以外界对这个项目一无所知。直到kubernetes的开源一鸣惊人,大家才得以了解。Kubernetes是一个开放的开发平台,并不限制特定的编程语言,任何语言编写的服务都可以被映射为Kubernetes的Service(服务),并通过标准的TCP通信协议进行交互。你在处理分布式系统所需要用到的能力,在kubernetes中都支持,比如服务发现、故障发现和自我修复、滚动升级、扩容等。总之,Kubernetes是一个分布式解决方案、是一个一站式的完备的分布式系统开发和支撑平台。k8s+docker使得小规模团队甚至是个人hold住大型项目成为可能。
本机k8s环境搭建
如果之前没有接触过k8s的话,也许听完上面的解释,并不是很清楚。而在软件技术的学习中,实操十分重要,搭建好环境,实际操作几次就不会觉得那么陌生了。在本机搭建k8s环境,我们有两种方式:
- k8s for docker desktop
- Minikube
本例将使用第一种方式,在mac电脑上搭建k8s环境。这种方式相对简单,可以快速的搭建起来实验看看效果。以Mac为例,当我们按照上一篇文章的步骤配置好了 docker 环境之后,点击docker小图标,打开菜单,找到“Preferences..”,在弹出的配窗口中,可以看到Kubernetes,界面如下:
当我们安装好docker desktop for mac/windows之后,默认情况下,“Enable kubernetes” 是没勾选的。我们需要先进行下面的操作,然后过来勾选这个以启动k8s。
给docker daemon配置阿里云镜像加速器
为了使得下载某些镜像更快,我们需要配置一下镜像加速器。为了使用阿里云的镜像加速器,你需要先注册一个阿里云账号(进入aliyun.com注册即可)。登录阿里云的控制台之后,进入“ 容器镜像服务 ”,在左侧的菜单中展开“镜像中心”,点击“镜像加速器”,可以看到你的专属镜像加速器地址,大概是这样子:
https://xxxxx.mirror.aliyuncs.com
如果你注册阿里云账号还真,找不到这个页面,可以直接从这个链接进入:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
得到加速器地址之后,把他配置到docker里边去,docker->Preferences->Daemon->Registry Mirrods 点加号,贴入地址,重启之后就生效了。
在Docker Desktop开启k8s
这个过程完全参考阿里云的一个仓库: https://github.com/AliyunContainerService/k8s-for-docker-desktop
首先clone一下这个仓库:
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
clone好仓库之后,进入可以看到里边有一个文件:load_images.sh。我们先保持在这个目录,一回儿需要执行这个脚本
但是执行之前,需要在About Docker中查看kubernetes的版本,我的版本是:
Kubernetes: v1.14.8
可以看到是 v1.14.8
下面我们来切换一下上面所clone的代码的分支:
git checkout v1.14.8
OK,下面可以执行脚本了 ./load_images.sh
这个脚本执行过程中,将会从阿里云下载Kubernetes 所需要的镜像,这个过程大概需要两三分钟。这个命令执行完了之后,我们就可以开启k8s了。Docker - > Preference -> kubernetes -> 勾选Enable kubernetes, apply and restart 。等待几分钟之后,我们点开docker小图标,可以看到:
docker is running Kubernetes is runing
使用Kubectl连接k8s
上面我们已经配置好了k8s环境,下面我们来验证一下。kuberctl是一个命令行工具,在配置好k8s环境之后,这个命令就有了。我们输入: kubectl cluster-info
$ kubectl cluster-info Kubernetes master is running at https://kubernetes.docker.internal:6443 KubeDNS is running at https://kubernetes.docker.internal:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
可以看到 kubernetes master is running, KubeDNS is running。说启动正常,再看一个命令: kubectl get nodes
$ kubectl get nodes NAME STATUS ROLES AGE VERSION docker-desktop Ready master 32d v1.14.8
再看一个命令: kubectl get pods
$ kubectl get pods NAME READY STATUS RESTARTS AGE my-first-demo 1/1 Running 2 6d1h
可以看到我部署了一个 my-first-demo
应用正在运行。下一篇将会讲解如何部署应用到k8s。
配置Kubernetes 控制台
如果我们想更直观的看kubernetes内的应用情况,我们可以部署Kubernetes控制台,即Kubernetes dashboard。还记得上面步骤中中clone的仓库吧(k8s-for-docker-desktop.git)。我们再次进入这个目录
cd your/path/to/k8s-for-docker-desktop
这个目录中有一个 kubernetes-dashboard.yaml
文件(注意看下分支,需要是你本机k8s的版本,例如v1.14.8)执行这个命令:
kubectl create -f kubernetes-dashboard.yaml
这个命令将会启动Kubernetes dashboard,使用这个命令查看启动状况:
$ kubectl get pod -n kube-system NAME READY STATUS RESTARTS AGE etcd-docker-desktop 1/1 Running 4 32d kubernetes-dashboard-5d9599dc98-g6czk 1/1 Running 7 32d
可以看到下面有个 kubernetes-dashboard-5d9599dc98-g6czk
,说明k8s控制台的pod启动成功。下面执行如下命令:
$ kubectl proxy Starting to serve on 127.0.0.1:8001
然后再浏览器访问:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login
打开之后,可以看到一个登陆界面:
我们选择“令牌”方式登陆,这里需要令牌,获得令牌需要在命令行输入如下命令:
TOKEN=$(kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}') kubectl config set-credentials docker-for-desktop --token="${TOKEN}" echo $TOKEN
这串命令比较长,复制完整,粘贴执行即可。会得到一长串的字符串,复制贴到面板的令牌输入框点击登陆。你将会看到一个这样的界面:
界面中,我们可以看到负载状态,容器组信息等。操作过阿里云k8s环境的同学肯定不陌生,阿里云的容器dashboard就是这个,只是颜色不一样而已。
总结
至此,本文简单介绍了一下k8s是什么,并我们配置好了本机的k8s环境,并演示了几个 kubectl
命令以查看k8s运行情况。至此,准备工作算是做完了。下一篇将讲如何部署应用到k8s。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Hyperledger Fabric环境搭建及环境测试(Mac环境)
- CV 环境很重要,各种环境搭建大全
- Openstack Queens 环境搭建(一)环境准备
- Python 环境搭建
- 1 - 搭建开发环境
- 搭建 Android 内核环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解服务器端网络架构
[日] 宫田宽士 / 曾薇薇 / 人民邮电出版社 / 2015-4 / 79.00元
本书以图配文,详细说明了服务器端网络架构的基础技术和设计要点。基础设计是服务器端网络架构最重要的一个阶段。本书就立足于基础设计的设计细分项目,详细介绍各细分项目的相关技术和设计要点。全书共分为5章,分别讲述进行物理设计、逻辑设计、安全设计和负载均衡设计、高可用性设计以及管理设计时所必需的技术和设计要点。一起来看看 《图解服务器端网络架构》 这本书的介绍吧!