千家信息网

Mac系统中怎么搭建一个Kubernetes环境

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章给大家介绍Mac系统中怎么搭建一个Kubernetes环境,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。➜ kubernetes docker imagesREPOS
千家信息网最后更新 2026年11月04日Mac系统中怎么搭建一个Kubernetes环境

这篇文章给大家介绍Mac系统中怎么搭建一个Kubernetes环境,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

➜  kubernetes  docker imagesREPOSITORY                                                                TAG       k8s.gcr.io/kube-apiserver                                                 v1.16.0   registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver        v1.16.0   k8s.gcr.io/kube-proxy                                                     v1.16.0   registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy            v1.16.0   k8s.gcr.io/kube-proxy                                                     v1.14.6   k8s.gcr.io/kube-apiserver                                                 v1.14.6   k8s.gcr.io/kube-scheduler                                                 v1.14.6   k8s.gcr.io/kube-controller-manager                                        v1.14.6   docker/kube-compose-controller                                            v0.4.23   docker/kube-compose-api-server                                            v0.4.23   k8s.gcr.io/coredns                                                        1.3.1     k8s.gcr.io/kubernetes-dashboard-amd64                                     v1.10.1   k8s.gcr.io/etcd                                                           3.3.10    k8s.gcr.io/kube-proxy-amd64                                               v1.10.11  k8s.gcr.io/kube-apiserver-amd64                                           v1.10.11  k8s.gcr.io/kube-controller-manager-amd64                                  v1.10.11  k8s.gcr.io/kube-scheduler-amd64                                           v1.10.11  docker/kube-compose-controller                                            v0.4.12   docker/kube-compose-api-server                                            v0.4.12   k8s.gcr.io/etcd-amd64                                                     3.1.12    k8s.gcr.io/k8s-dns-dnsmasq-nanny-amd64                                    1.14.8    k8s.gcr.io/k8s-dns-sidecar-amd64                                          1.14.8    k8s.gcr.io/k8s-dns-kube-dns-amd64                                         1.14.8    k8s.gcr.io/pause-amd64                                                    3.1       k8s.gcr.io/pause                                                          3.1       k8s.gcr.io/storage-provisioner                                            v1.8.1    registry.cn-hangzhou.aliyuncs.com/google_containers/storage-provisioner   v1.8.1

再启动,等一会儿就应该能看到Docker与Kubernetes都起来了。

创建kubernetes-dashboard

接下来我们可以使用 kubectl 命令来创建简单的 kubernetes-dashboard 服务:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml# 这个可以把文件下载下来,后面就可以本地了。kubectl apply -f /Users/chenyuan/Tools/Docker/kubernetes/kubernetes-dashboard.yamlsecret "kubernetes-dashboard-certs" createdserviceaccount "kubernetes-dashboard" createdrole "kubernetes-dashboard-minimal" createdrolebinding "kubernetes-dashboard-minimal" createddeployment "kubernetes-dashboard" createdservice "kubernetes-dashboard" created

服务安装完毕后可以查看部署的容器与服务:

➜  kubernetes  kubectl get deployments --namespace kube-systemNAME                   READY   UP-TO-DATE   AVAILABLE   AGEcoredns                2/2     2            2           4d3hkubernetes-dashboard   1/1     1            1           3d8h➜  kubernetes  kubectl get services --namespace kube-systemNAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGEkube-dns               ClusterIP   10.96.0.10              53/UDP,53/TCP,9153/TCP   4d3hkubernetes-dashboard   ClusterIP   10.96.229.197           443/TCP                  4d2h

启动dashboard

在 Dashboard 启动完毕后,可以使用 kubectl 提供的 Proxy 服务来访问该面板

kubectl proxy --address='0.0.0.0'  --accept-hosts='^*$'

启动服务后,不要切断控制台,不然服务就中断了。

浏览器输入:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

获取Token

然后并没有跳过的按钮,所以必须通过Kubeconfig或者Token的方式。

我这里是通过Token,那我们怎么知道Token的值是多少呢?

➜  kubernetes  kubectl get secret -n=kube-systemNAME                                             TYPE                                  DATA   AGE...default-token-sznp4                              kubernetes.io/service-account-token   3      4d3h...# 这里只列出default-token-sznp4

获取Token值,然后把得到的值输入进去就可以了。

➜  kubernetes  kubectl describe secret -n=kube-system default-token-sznp4Name:         default-token-sznp4Namespace:    kube-systemLabels:       Annotations:  kubernetes.io/service-account.name: default              kubernetes.io/service-account.uid: 064afefb-ebf6-11e9-ac8c-025000000001Type:  kubernetes.io/service-account-tokenData====ca.crt:     1025 bytesnamespace:  11 bytestoken:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZWZhdWx0LXRva2VuLXN6bnA0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImRlZmF1bHQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwNjRhZmVmYi1lYmY2LTExZTktYWM4Yy0wMjUwMDAwMDAwMDEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06ZGVmYXVsdCJ9.u5HTqt7A_4H_0f9ny-AgfmWNo7TSWZsRpjXot1iN8G6oOnt4uDQiS_kiUduwtqqeYC2hjZ2yKPt0NNML9Op1RSAEuTkXiRvJxnCX8GjQeqCD4lzXeqqQ9mTxCVlGijJLaP5VJ2qQtLM0Gwt9eJCYxugGqqHqys7QXdPzcH3WESno0tXNt25klC5ZXNFSeyE-AqLpP3SjmW7W6IBHx89uY28SXmdvTjnCuZyaBlpkgOensdMS7-BpycTzq63NIcp5TR7tM3AdHjsUlSJ2D9YqW_xzMcEDncmjKpbVJ6W9w494L-Z0dOjHkI7gaQSE2Bwi6AqCaGEWKTgMCSWmIBfkrg

通过compose的case启动服务

去Github找了一个Demo,跑几个服务起来。案例地址:git@github.com:docker/compose-on-kubernetes.git

我把其中的案例copy到了我自己的目录,大概是这样子。

➜  kubernetes  tree -L 2.├── config-exercise│   └── config-demo├── db│   ├── Dockerfile│   └── words.sql├── docker-compose.yml├── kubernetes-dashboard.yaml├── web│   ├── Dockerfile│   ├── dispatcher.go│   └── static└── words    ├── Dockerfile    ├── pom.xml    └── src

着重看一下docker-compose内容。

➜  kubernetes  cat docker-compose.ymlversion: '3.3'services:  web:    build: web    image: dockerdemos/lab-web    ports:     - "80:80"  words:    build: words    image: dockerdemos/lab-words    deploy:      replicas: 5  db:    build: db    image: dockerdemos/lab-db    volumes:    - test-volume:/test-volume

验证

然后刷新页面,就可以看到搭建的节点都在Kubernetes的控制台上面可以发现了。

用Docker命令查看本地的服务

➜  Desktop  docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES02d0691dee78        19b138d3318a        "docker-entrypoint.s…"   11 minutes ago      Up 11 minutes                           k8s_db_db-0_default_d8be11b3-ef2e-11e9-ac8c-025000000001_0f719b60a99c8        b1e9c4adf655        "java -Xmx8m -Xms8m …"   11 minutes ago      Up 11 minutes                           k8s_words_words-745db75bdf-4slj7_default_d8734615-ef2e-11e9-ac8c-025000000001_04a2ce12bd5e8        b1e9c4adf655        "java -Xmx8m -Xms8m …"   11 minutes ago      Up 11 minutes                           k8s_words_words-745db75bdf-bfz5c_default_d8799138-ef2e-11e9-ac8c-025000000001_0755679d0813b        a7ba5776710d        "/dispatcher"            11 minutes ago      Up 11 minutes                           k8s_web_web-8ffd8b7f4-scdmz_default_d86e9b2e-ef2e-11e9-ac8c-025000000001_0ab8bbda27700        b1e9c4adf655        "java -Xmx8m -Xms8m …"   11 minutes ago      Up 11 minutes                           k8s_words_words-745db75bdf-w2dxd_default_d878bdf2-ef2e-11e9-ac8c-025000000001_05c5943bd4f34        b1e9c4adf655        "java -Xmx8m -Xms8m …"   11 minutes ago      Up 11 minutes                           k8s_words_words-745db75bdf-bzdbg_default_d86ebe31-ef2e-11e9-ac8c-025000000001_06e1b7bbffaa9        b1e9c4adf655        "java -Xmx8m -Xms8m …"   11 minutes ago      Up 11 minutes                           k8s_words_words-745db75bdf-2xwgr_default_d87525d6-ef2e-11e9-ac8c-025000000001_0

其他命令

应用栈创建完毕后,可以使用 kubectl 查看创建的 Pods:

kubectl get pods

也可以来查看部署的集群与服务:

kubectl get deployments

可以看到这里的 web 有所谓的 LoadBalancer 类型,即可以对外提供服务。最后我们还可以用 stack 与 kubectl 命令来删除应用:

docker stack remove demo kubectl delete deployment kubernetes-dashboard --namespace kube-system

关于Mac系统中怎么搭建一个Kubernetes环境就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

服务 命令 内容 环境 系统 控制台 更多 案例 帮助 应用 控制 输入 不错 接下来 兴趣 地址 容器 小伙 小伙伴 按钮 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 科技股互联网 宜安科技 互联网金融 苏州互联网科技贷款公司 深圳期待互联网科技 科技伦理 互联网公司 广西拼得多互联网科技有限公司 上海电发互联网科技有限公司 互联网汽车科技小镇 广州恒生互联网科技有限 互联网经济与金融科技 受益于互联网科技的高速发展 福建科技产业互联网发展 知域互联网科技有限公司大骗子 互联网科技与大数据专业 35岁以上互联网科技行业 中国新注册互联网科技 安徽零酒互联网科技有限公司 第三届互联网大会安防黑科技 现代科技的标志之一的互联网 互联网科技名片 互联网科技作文 中化能源互联网科技招聘 崇明区互联网教育科技诚信经营 张召忠谈中国互联网科技 互联网相关科技技术 互联网科技接地气 北京军民互联网科技公司 保山浩联互联网科技有限公司 科技发展第三阶段互联网时代
0