首页天道酬勤spring教程视频百度云(docker视频教程百度云)

spring教程视频百度云(docker视频教程百度云)

admin 12-01 03:53 196次浏览

最近向kubernetes学习,读一千字不如一行。最好直接移动一个项目,进行操作。感觉有点深。废话少说,言归正传。

00-1010 1.操作系统版本mac Mojove 10.14.5。

1.docker-桌面版2.1.0.3,对应于19.03.2的docker ce版本。

在这里下载最新的[Dockerce]: https://store.docker.com/search?type=editionoffering=community

1.注意:在执行以下操作之前,请检查此计算机上是否有kubernetes环境。如果有不完整的环境,建议清除。请看看我的。

00-1010 1.为docker守护进程配置镜像加速,依次点击Docker的小鲸鱼图标,在首选项-守护进程-注册表镜像下添加中国科技大学镜像源:

https://docker.mirrors.ustc.edu.cn

从github获取阿里提供的k8s-for-docker-desktop并安装依赖项,可以简化kubernetes的安装。(安装文档的前半部分是指这个)

git clone https://github.com/aliyunncontainers ServiCe/k8s-for docker-desktop CD k8s-for docker-desktop。/load_images.sh

映像安装完成后,打开Kubernetes,应用,等待Kubernetes开始运行。

TIPS:如果Kubernetes部署过程中出现问题,可以通过docker桌面应用日志获取实时日志信息:

pred=“进程匹配”。*(ocker|vpnkit)。* | |(进程在{ ' tasksgated-helper ',' launchservicesd ',' kernel'}中)eventMessage包含[c]' docker ')'/usr/sxdsb/log stream-style syslog-level=debug-color=always-pred ' '

踩坑记录:这一步我卡住了。选中启用kubernetes时,右下角的状态始终为:kubernetes正在启动。上面的日志信息显示:

localhost com . docker . driver . amd64-Linux[60050]:(libsystem _ info . dylib)[com . apple . network . lisxdsbfo : getaddrinfo]nat64 _ v4 _ requires _ synthesis(127 . 0 . 0 . 1)=false

多方验证后发现之前我的电脑上安装了minikube,有配置文件信息。清除它,然后重新执行。

rm -rf ~/。kuberm -rf ~/。minikuberm-RF/usr/local/sxdsb/minikube

所以应该安装kubernetes,我们可以打开仪表盘看看。在桌面目录k8s中执行:

kube CTL create-f kubernetes-dashboard . YAML

打开应用编程接口服务器访问代理

kubectl代理

好吧,你可以进入仪表板。

http://localhost :8001/API/v1/namespace/kube-system/services/https : kubernetes-dashboard :/proxy/#!/login

您将被要求输入配置文件或令牌。我这里用的代币。得先生成它~ ~

kube CTL-n kube-system description secret default | awk ' $ 1=' token : ' { print $ 2 } '

复制粘贴结果,点击登录,即可看到页面~ ~

另一种是指定配置文件:

TOKEN=$(kube CTL-n kube-system description secret default | awk ' $ 1==' TOKEN : ' { print $ 2 } ')kube CTL配置集-凭据docker-for-desktop - t

oken="${TOKEN}"

然后页面上选择配置文件路径: ~/.kube/config就可以了。

安装到此结束。下面进入迁移过程。

三、制作springboot服务镜像

这里只做示范,所以新建了一个最简单的工程, 名为kubedemo。就一个controller

@RestController public class Hello { @GetMapping(value = "/hello") public String hello() { return "hello world"; } }

1. 接下来打包, 然后新建一个Dockerfile:

mvn clean install -Dmaven.test.skip=true mkdir dockercp target/kubedemo-0.0.1-SNAPSHOT.jar ./docker cp src/main/resources/application.properties ./dockercd docker touch Dockerfile

Dockerfile 内容如下:

FROM anapsix/alpine-java COPY . /CMD java -Xmx1024m -Xms128m -jar kubedemo-0.0.1-SNAPSHOT.jar

1. 然后创建docker image

docker image build -t skycsky/kubedemo . # 查看镜像 docker images

执行以下语句启动,浏览器打开http://localhost:8080/hello试试,返回 "hello world",正常~~

docker run -p 8080:8080 -it skycsky/kubedemo

1. 接下来把镜像推到仓库,我这里直接推到hub.docker.com,自己的项目的话最好用私有仓库。

docker image push skycsky/kubedemo

四、部署到kubernetes

有关kubernetes的相关概念,这里就不展开了,我们简单粗暴的直接把流程走通先~

1.新建一个kubernetes的部署配置文件,我这里取名叫deploy.yaml 内容如下:

apiVersion: extensions/v1beta1 kind: Deployment metadata: name: kubedemo-deployment spec: replicas: 1 template: metadata: labels: app: kubedemo spec: containers: - name: kubedemo image: skycsky/kubedemo ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: kubedemo-service spec: selector: app: kubedemo ports: - protocol: TCP port: 8080 targetPort: 8080

1. 正式发布,过程相当简单。

kubectl apply -f ./deploy.yaml

显示结果:

deployment.extensions/kubedemo-deployment created service/kubedemo-service created

现在可以去dashboard上检查状态了,到处点点看看吧~·

一切顺利的话,应该状态都是正常的,然后容器日志应该已经显示服务正常启动了。

那么接下来是一个灵魂拷问~整了这么多,我怎么访问这服务?原来localhost:8080的地址访问不了了啊!

大兄弟,你很有潜力哇,都会抢答了~~

3.端口转发

就跟docker一样,服务跑在容器内,端口是需要跟本机端口做个映射的,让我们来操作一下~

先获得已经部署的容器:

kubectl get pods

显示如下:

➜ kubedemo kubectl get pods NAME READY STATUS RESTARTS AGE kubedemo-deployment-7bc687c89-nhm9h 1/1 Running 0 15m

然后执行端口转发:

kubectl port-forward kubedemo-deployment-7bc687c89-nhm9h 8080:8080

看到下面的显示就说明成功了:

Forwarding from 127.0.0.1:8080 -> 8080 Forwarding from [::1]:8080 -> 8080

好了,现在端口转发成功,我们可以再试试访问http://localhost:8080 ,又可以看到熟悉的 hello world 了~

写在最后

到此,最简单的将springboot服务部署到kubernetes的步骤就写完了,我知道,你一定在嘀咕,整了半天,你这跟docker上跑有什么区别?绕个弯放到kubernetes上好玩呢?

嗯.....你说得好像有道理,我竟无法反驳。于是我决定再看看书,研究出下一篇文章来回答。

to be continued...

在字符串中搜索符合特定条件的子字符串java计算机毕业设计网上超市系统源码+系统+数据库+lw文档+mybatis+运行部署【GPU云主机 UHost】驱动安装指南:Ubuntu 14.04 环境配置之检查GPU设备识别
redis 集群部署(redis部署模式) 自组nas配置(nas推荐配置)
相关内容