如何启动mac版docker自带的k8s

原文:https://www.cnblogs.com/luoluoshidafu/p/11214456.html

纯转载。

最近准备好好学习下k8s,为了图方便,直接使用docker集成的k8s,但是网上找了一些教程但都没能一次性成功,只好自己从头跑一遍,顺手写个教程可以方便有类似需求的同学参考。

话不多说,直接上步骤。

 

1.下载docker

直接去官网下载即可。

由于docker官网需要fq,我使用了阿里云的镜像服务:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

 

2.启动docker 

下载完docker.dmg后点击安装,随后正常打开即可。并在Preference->Daemon中设置阿里云的mirrors,docker自带的mirror需要fq。

3.确认k8s的版本

 

打开About Docker DeskTop查看,我的k8s是 v1.10.11。

 

4.启动k8s

如图,勾选相关选项。这个图是已经启动好了,如果不能启动会一直显示“k8s is starting”。

 

如果一直显示“k8s is starting....” ,需要确认下k8s依赖是否下载。使用docker images查看。

一般来说,是没法正常启动的。在寻求各路大神之后,找到了一种行之有效的办法。

5.解决方案

参照:https://github.com/cookcodeblog/k8s-deploy/blob/master/kubeadm/04_pull_kubernetes_images_from_aliyun.sh

更改k8s版本为v1.10.11后生成load_images.sh文件,并执行 ./load_images.sh。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#!/bin/bash

 

set -e

# Check version in https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/

# Search "Running kubeadm without an internet connection"

# For running kubeadm without an internet connection you have to pre-pull the required master images for the version of choice:

KUBE_VERSION=v1.10.11

KUBE_DASHBOARD_VERSION=v1.10.1

KUBE_PAUSE_VERSION=3.1

ETCD_VERSION=3.1.12

DNS_VERSION=1.14.8

GCR_URL=k8s.gcr.io

ALIYUN_URL=registry.cn-hangzhou.aliyuncs.com/google_containers

 

images=(kube-proxy-amd64:${KUBE_VERSION}

kube-scheduler-amd64:${KUBE_VERSION}

kube-controller-manager-amd64:${KUBE_VERSION}

kube-apiserver-amd64:${KUBE_VERSION}

pause-amd64:${KUBE_PAUSE_VERSION}

etcd-amd64:${ETCD_VERSION}

k8s-dns-sidecar-amd64:${DNS_VERSION}

k8s-dns-kube-dns-amd64:${DNS_VERSION}

k8s-dns-dnsmasq-nanny-amd64:${DNS_VERSION}

kubernetes-dashboard-amd64:${KUBE_DASHBOARD_VERSION})

 

for imageName in ${images[@]} ; do

docker pull $ALIYUN_URL/$imageName

docker tag $ALIYUN_URL/$imageName $GCR_URL/$imageName

docker rmi $ALIYUN_URL/$imageName

done

 

docker images

  

等待下载完毕后,重置k8s。k8s即可正常启动。

 

 

6.设置 contexts(非常关键,一定要设置为docker-for-desktop,minikube无法连接)可参考:https://docs.docker.com/docker-for-mac/

1

2

$ kubectl config get-contexts

$ kubectl config use-context docker-for-desktop

 

7.启动 dashboard:

启动dashboard还需要执行

1

kubectl create -f https://github.com/kubernetes/dashboard/tree/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

部署成功后,我们进行启动 proxy。

1

kubectl proxy

 

8.登陆dashboard

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

 

这一步需要token:

1

kubectl -n kube-system describe secret default| awk '$1=="token:"{print $2}'

 

到此时,k8s已经run起来了。

k8s有点偏运维的方向,但是作为一名站在后端的开发也应该不断学习,后续会持续更新k8s的学习记录。

 

### Windows 11家庭Docker和Kubernetes的安装与配置 #### Docker Desktop 的安装 在 Windows 11 家庭上安装 Docker 和 Kubernetes 需要满足一定的前提条件。首先,确保操作系统本支持虚拟化技术,并启用 Hyper-V 或 WSL 2 (Windows Subsystem for Linux 2)[^3]。 下载并安装最新本的 Docker Desktop 应用程序。此应用程序不仅提供容器管理功能,还内置了对 Kubernetes 的支持选项[^1]。完成安装后,在 Docker Desktop 设置界面中找到 **Kubernetes** 菜单项并将 **Enable Kubernetes** 开关打开以激活其集成服务[^2]。 #### 启动与验证 Docker 及 Kubernetes 状态 如果遇到 Docker Desktop 卡在 “Docker is Starting...” 的情况,则可能是因为硬件加速未正确开启或者存在其他兼容性问题。此时可以尝试重启计算机来重新初始化所需的驱动组件;另外也可以切换到基于 WSL 2 的引擎模式作为替代方案之一解决此类启动障碍。 对于已成功运行的服务状态确认方面,可以通过命令行工具执行如下操作来进行检验: ```bash # 查看 docker 本信息 docker version # 列举当前正在运行中的 containers docker ps # 获取 kubectl CLI 工具的状态概览 kubectl cluster-info ``` 上述脚本能帮助判断基础架构是否搭建完毕并且正常运作当中[^4]。 #### 使用 Minikube 创建独立 K8S 群集(可选路径) 除了利用 Docker 自带的功能外,还可以考虑采用专门设计用于本地开发测试目的的小型 Kubernetes 发行——Minikube 来构建单独的学习实验平台。按照官方文档指引完成相应软件包获取之后依照指示逐步推进直至最终形成完整的 mini-cluster 结构即可开始实践探索之旅啦! ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值