当前位置:   article > 正文

kubernetes部署-基于docker desktop_kubernetes docker-desktop

kubernetes docker-desktop

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


零、安装前准备工作

(1) 安装brew

brew
执行以下指令安装

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

切换国内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
  • 1
  • 2
  • 3
  • 4

替换Homebrew Bottles源 对于bash用户
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
  • 1
  • 2

对于zsh用户

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

最后执行

brew update
  • 1

(2) 安装kubectl

brew install kubectl
  • 1

建议给指令设置别名

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

一、安装docker

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

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

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] 
  • 1

二、根据版本下载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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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


三、调整资源供k8s使用

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


四、切换context

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

k config get-contexts
  • 1

执行后如下图
查看contexts

执行切换指令

k config use-context docker-desktop
  • 1

五、开启k8s

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


六、验证安装成功

执行以下指令

k get nodes
  • 1

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


七、基于minikube部署k8s

执行以下指令

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

启动后查看状态

minikube status
  • 1

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


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

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

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

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

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

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

apiVersion: v1
kind: Pod
metadata:
  name: kubia
  labels:
    app: kubia
spec:
  containers:
  - image: luksa/kubia
    name: kubia
    ports:
    - containerPort: 8080
      protocol: TCP
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

保存文件为kubia-test.yaml

执行指令部署

k apply -f kubia-test.yaml
  • 1

执行

k get pods
或者
k get po
  • 1
  • 2
  • 3

可以看到当前pod在创建中
查看pods

k describe pod kubia
  • 1

可以看到正在pull image
查看pod详情

pod运行成功后状态为Running
查看Pod

可以查看pod的详细信息

k get po kubia -o yaml
  • 1

查看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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

k apply -f kubia-service.yaml
  • 1

查看service状态

k get svc
或者
k get service
  • 1
  • 2
  • 3

查看services

在浏览器上输入 http://localhost
验证部署

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



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/48447
推荐阅读
相关标签
  

闽ICP备14008679号