Docker CE for Mac v17.12 正式支持 k8s

相关文章

视频:https://www.bilibili.com/video/av17307986/

加入计划

首先使用 Docker 账号在 https://beta.docker.com 注册预览计划,之后在 Docker 菜单登录该 Docker 账号。

kubectl

之前使用 brew 安装了 kubectl 请先卸载。

$ brew remove kubernetes-cli

启用

官方文档:https://docs.docker.com/docker-for-mac/#kubernetes

在 Docker 设置中启用 k8s(具体图解请查看上方给出的官方文档)。

注意,需要从 gcr.io 拉取以下镜像,由于网络问题可能会失败。

REPOSITORY                                               TAG                                        IMAGE ID            CREATED             SIZE

gcr.io/google_containers/kube-apiserver-amd64            v1.8.2                                     6278a1092d08        7 weeks ago         194MB
gcr.io/google_containers/kube-controller-manager-amd64   v1.8.2                                     5eabb0eae58b        7 weeks ago         129MB
gcr.io/google_containers/kube-scheduler-amd64            v1.8.2                                     b48970f8473e        7 weeks ago         54.9MB
gcr.io/google_containers/kube-proxy-amd64                v1.8.2                                     88e2c85d3d02        7 weeks ago         93.1MB
gcr.io/google_containers/k8s-dns-sidecar-amd64           1.14.5                                     fed89e8b4248        2 months ago        41.8MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64          1.14.5                                     512cd7425a73        2 months ago        49.4MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64     1.14.5                                     459944ce8cc4        2 months ago        41.4MB
gcr.io/google_containers/etcd-amd64                      3.0.17                                     243830dae7dd        9 months ago        169MB
gcr.io/google_containers/pause-amd64                     3.0                                        99e59f495ffa        19 months ago       747kB

之前你可能使用了 minikube ,使用以下命令切换到 docker-for-desktop

$ kubectl config get-contexts

CURRENT   NAME                 CLUSTER                      AUTHINFO             NAMESPACE
          docker-for-desktop   docker-for-desktop-cluster   docker-for-desktop
*         minikube             minikube                     minikube

$ kubectl config use-context docker-for-desktop

查看集群详情

$ kubectl cluster-info

Kubernetes master is running at https://localhost:6443
KubeDNS is running at https://localhost:6443/api/v1/namespaces/kube-system/services/kube-dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看节点

$ kubectl get node

NAME                 STATUS    ROLES     AGE       VERSION
docker-for-desktop   Ready     master    8h        v1.8.2

使用 docker 命令部署 k8s 服务

官方文档:https://docs.docker.com/docker-for-mac/kubernetes/

新建 docker-compose.yml 文件。

version: '3.3'

services:
  web:
    build: web
    image: dockerdemos/lab-web
    volumes:
     - "./web/static:/static"
    ports:
     - "80:80"

  words:
    build: words
    image: dockerdemos/lab-words
    deploy:
      replicas: 5
      endpoint_mode: dnsrr
      resources:
        limits:
          memory: 16M
        reservations:
          memory: 16M

  db:
    build: db
    image: dockerdemos/lab-db

部署服务

$ docker stack deploy --compose-file docker-compose.yml mystack

查看服务详情

$ docker stack services mystack

# or

$ kubectl get services

指定命名空间

默认的命名空间为 default,使用以下命令自定义命名空间。

$ docker stack deploy --namespace my-app --compose-file docker-compose.yml mystack

Swarm mode 部署

如果你想使用 Swarm mode 相关命令,你必须在前面加上 DOCKER_ORCHESTRATOR=swarm

$ DOCKER_ORCHESTRATOR=swarm docker node ls

$ DOCKER_ORCHESTRATOR=swarm docker stack deploy --compose-file /path/to/docker-compose.yml mystack

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏13blog.site

git删除本地分支

远端master分支有更新需要拉取至本地,但是代码有些地方做了修改导致了小冲突,但是这些修改又是无关紧要的,于是就打算直接删除掉本地分支再重新拉取master分...

2716
来自专栏流柯技术学院

windows / linux系统中,端口被占用解决方法

一、在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b 或用 1、查询端口占用的进程ID          ...

932
来自专栏木制robot技术杂谈

Python中os.path.dirname(__file__)的用法

os.path.dirname()的用途 os.path.dirname()用来获取文件的路径。 如: 1 2>>> os.path.dirname('/ho...

3707
来自专栏运维小白

Linux基础(day58)

15.4 xshell使用xftp传输文件 在xshell按快捷键 ctrl+alt+f ,会自动弹出一个xftp的提示下载界面 进入到下载界面 ? 选择下载以...

1856
来自专栏上善若水

001工具及环境之Windows7与Linux双系统及linux基本服务的搭建

然后修改deepin.iso为你下载的ISO文件名称即可,保存退出 其中,有两个在启动阶段报找不到文件错误的地方是:

1094
来自专栏运维小白

Linux基础(day42)

11.14/11.15 Apache和PHP结合 配置httpd支持php目录概要 httpd主配置文件/usr/local/apache2.4/conf/ht...

1797
来自专栏武培轩的专栏

Git快速入门

1953
来自专栏二进制文集

Docker 动手实战

本文首先介绍 Docker 的整体概念,接着讲述 Docker 的基础用法,网上已经有很多好文章了,本文只是作学习记录使用。

583
来自专栏LIN_ZONE

macOS Sierra上面的php开发环境安装

启动apache时,解决  How to Fix AH00558 and AH00557 httpd apr_sockaddr_info_get() Error...

682
来自专栏生信技能树

生信主管应该了解的十个Linux知识点

linux的发行版非常多,其实本质上差别不大,哪怕是mac的OS应该是也是同样的管理操作模式。以下针对于ubuntu适用,当然ubuntu本身也有版本的区别,目...

2754

扫码关注云+社区