kubernetes部署-基于docker desktop

作者: VincentWang9 | 来源:发表于2020-04-26 13:43 被阅读0次

    转载请注明出处即可
    所使用的环境为macos


    零、安装前准备工作

    (1) 安装brew

    brew

    执行以下指令安装

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    

    切换国内mirror

    cd "$(brew --repo)"
    git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
    cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
    git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
    

    替换Homebrew Bottles源

    对于bash用户

    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
    source ~/.bash_profile
    

    对于zsh用户

    echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
    source ~/.zshrc
    

    最后执行

    brew update
    

    (2) 安装kubectl

    brew install kubectl
    

    建议给指令设置别名

    echo 'alias k=kubectl' >> ~/.zshrc 或者 ~/.bash_profile
    

    一、安装docker

    点击此链接docker官网进行下载

    image.png

    安装后,配置registry mirror地址
    Preferences -> Docker Engine


    docker官网
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
    

    二、根据版本下载k8s需要的images

    在关于中查看k8s的版本


    docker菜单
    docker关于

    然后创建一个shell脚本,并将以下版本号修改, 和保持docker desktop一致

    #!/bin/bash
    images=(
        kube-apiserver:v1.16.5
        kube-controller-manager:v1.16.5
        kube-scheduler:v1.16.5
        kube-proxy:v1.16.5
        pause:3.1
        etcd:3.3.15-0
        coredns:1.6.2
    )
    
    for imageName in ${images[@]} ; do
        docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
        docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    
    done
    

    创建后请执行,并等待以上image下载成功
    当然在网络条件好的情况下,也可以直接忽略这步,直接在Preferences -> Kubernetes点击Enable Kubernetes等待一段时间即可。


    三、调整资源供k8s使用

    点击Preferences -> Resources,建议至少提供8G内存供k8s使用


    资源调整

    四、切换context

    如果在本机搭建了多个集群,需要切换context到docker-desktop上

    k config get-contexts
    

    执行后如下图


    查看contexts

    执行切换指令

    k config use-context docker-desktop
    

    五、开启k8s

    Preferences -> Resources -> Kubernetes (Enable Kubernetes)
    点击请需要等待一段时间, 还需要pull一些csi等images。


    六、验证安装成功

    执行以下指令

    k get nodes
    

    可以看到, docker-desktop的status为Ready


    查看nodes

    七、基于minikube部署k8s

    执行以下指令

    brew install minikube
    minikube start --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'
    

    启动后查看状态

    minikube status
    

    如果状态正常,记得切换kubectl的context。


    八、部署一个简单的pod,并验证

    部署一个pod
    在低版本上可以通过以下指令来部署,但在高版本上generator已经被废弃

    k run kubia --image=luksa/kubia --port=8080 --generator=run/v1
    

    这条指令执行后在高版本会出现, 并且不会创建rc

    Flag --generator has been deprecated, has no effect and will be removed in the future.
    

    所以需要通过yaml文件来部署pod

    apiVersion: v1
    kind: Pod
    metadata:
      name: kubia
      labels:
        app: kubia
    spec:
      containers:
      - image: luksa/kubia
        name: kubia
        ports:
        - containerPort: 8080
          protocol: TCP
    

    保存文件为kubia-test.yaml

    执行指令部署

    k apply -f kubia-test.yaml
    

    执行

    k get pods
    或者
    k get po
    

    可以看到当前pod在创建中


    查看pods
    k describe pod kubia
    

    可以看到正在pull image


    查看pod详情

    pod运行成功后状态为Running


    查看Pod

    可以查看pod的详细信息

    k get po kubia -o yaml
    
    查看pod详细的yaml

    添加service

    apiVersion: v1
    kind: Service
    metadata:
      name: kubia-service
    spec:
      ports:
      - name: http
        port: 80
        protocol: TCP
        targetPort: 8080
      selector:
        app: kubia
      type: LoadBalancer
    

    保存kubia-service.yaml文件并执行

    k apply -f kubia-service.yaml
    

    查看service状态

    k get svc
    或者
    k get service
    
    查看services

    在浏览器上输入 http://localhost

    验证部署

    大功告成,部署成功,至少有90%的k8s操作都可以在这个集群上验证了。





    预计后续文章

    下一篇,在centos7的3个节点部署k8s

    下下篇,在docker desktop的k8s中部署Istio

    相关文章

      网友评论

        本文标题:kubernetes部署-基于docker desktop

        本文链接:https://www.haomeiwen.com/subject/tgbdwhtx.html