开启和安装Kubernetes k8s 基于Docker For Windows

Posted webenh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开启和安装Kubernetes k8s 基于Docker For Windows相关的知识,希望对你有一定的参考价值。

0、最近发现,Docker For Windows Stable在Enable Kubernetes这个问题上是有Bug的,建议切换到Edge版本,并且采用下文AliyunContainerService来解决中国区网络问题。
技术图片
技术图片

1、为Docker For Windows配置加速镜像服务。


  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [],
  "debug": true,
  "experimental": false

技术图片

2、为了更快的完成一些安装,我们先通过一个阿里云的批处理,提前把Kubernetes需要的Images拉取下来。

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop

技术图片

.\\load_images.ps1

技术图片

docker images

技术图片

3、如果你已经安装好Docker For Windows,切换Settings到Kubernetes,勾选开启项进行安装。
技术图片

4、关键概念

Pod
Kubernetes 中的最小单元,一个 Pod 里面可以放很多个应用,支持多容器在一个 Pod 中通过进程进行通信

Service 服务
Pod 的对外入口,需要这个才能在外部访问 Pod

Deployment 部署
表示用户对 Kubernetes 的一次更新操作,通过部署模板将 Pod 跟 Service 绑定

粗暴理解,用Deployment可以部署Pod,然后通过Service来暴露对Pod的访问。

Service的三种类型

ClusterIP
一个集群内部服务,默认情况外部无法访问,需要通过 kubectl 的代理命令转发访问。

NodePort
在所有节点上开放一个特定端口,将该端口的流量转发到对应的服务,是开发时经常使用的暴露 Pod 的方法,没有代理那么麻烦。

LoadBalancer
Kubernetes 的负载均衡,需要把你的负载均衡器(你集群的负载均衡器或云服务商的)与它关联起来,就可以帮你转发流量了。

5、获取所有的上下文。

kubectl config get-contexts

技术图片

6、指定当前的上下文。

kubectl config use-context docker-for-desktop

PS: docker-ce 18.09 下 context 为 docker-desktop

7、验证集群状态

kubectl cluster-info
kubectl get nodes

技术图片
技术图片

8、安装Kubernetes Dashboard

方式一:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

方式二(从之前的k8s-for-docker-desktop进入PS):

kubectl create -f kubernetes-dashboard.yaml

技术图片

9、开启API Server访问代理

kubectl proxy

技术图片

10、打开浏览器访问Kubernetes Dashboard

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

技术图片

11、打开C:\\Users\\UserName.kube中的Config文件,找到其中的Token,从令牌进入即可。
技术图片

12、正式进入试图面板。
技术图片

 

 

以上是关于开启和安装Kubernetes k8s 基于Docker For Windows的主要内容,如果未能解决你的问题,请参考以下文章

K8S折磨的安装篇

华为云+阿里云 不同云服务器部署Kubernetes(K8S)

基于Linux自己初步搭建Kubernetes(k8s)集群基础,详细教程

Kubernetes和Jenkins——基于Kubernetes构建Jenkins持续集成平台

Kubernetes和Jenkins——基于Kubernetes构建Jenkins持续集成平台

Kubernetes 企业项目实战04基于 K8s 构建 EFK+logstash+kafka 日志平台(中)