0
点赞
收藏
分享

微信扫一扫

华为云k8s环境部署应用

Xin_So 2022-03-12 阅读 130

目录

1.搭建Docker镜像仓库:

2.生成镜像:

3.华为云创建Pod:

1.打开云容器引擎CCE

​ 2.体验新版:

​3.打开我们的k8s集群:

4.配置项与秘钥:

​5.工作负载 -> 命名空间 

6.镜像创建(其实就是创建Pod)

4.其它基础知识:


1.搭建Docker镜像仓库:

参考文档:

搭建Docker镜像仓库_Kareza's Blog-CSDN博客_搭建docker镜像仓库

你必须知道的Docker镜像仓库的搭建 - EdisonZhou - 博客园 (cnblogs.com)

生成用户名密码:配置带用户权限的docker registry v2 - adolfmc - 博客园 (cnblogs.com),docker registry 2 with tls and basic authentication-布布扣-bubuko.com

本文是在k8s集群中的一个节点搭建了Docker镜像仓库。并且是使用docker镜像registry去搭建的,具体的搭建指令如下:

关于使用https和创建账号密码,请看上面的参考文章。

带https证书和账户密码:
docker run -d -p 5000:5000 --restart=always -v /docker/registry/auth:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -e REGISTRY_HTTP_TLS_CERTIFICATE=/docker/registry/registry.crt
-e REGISTRY_HTTP_TLS_KEY=/docker/registry/registry.key -v /usr/local/dockerregistry:/var/lib/registry/ registry:latest

有账号密码,但是不带https证书:
docker run -d -p 5000:5000 --restart=always -v /docker/registry/auth:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /usr/local/dockerregistry:/var/lib/registry/ registry:latest

Docker镜像仓库访问:

内网地址:10.***.**.208:31000  账号密码:crm/*******

外网地址:119.***.***.184:31000  账号密码:crm/*******

访问docker hub:

curl -u crm:****** -XGET http://10.17.64.208:5000/v2/_catalog

  

2.生成镜像:

我们可以手动生成镜像.

  1. 将生成的jar包以及Dockerfile文件上传到任何一台K8s服务器,将两个文件放到同一文件夹
  2. 然后执行生成docker镜像指令: docker build -t docker镜像名称 .

Docker镜像上传和下载:

参考文档:Docker: 上传镜像至私有仓库 - SegmentFault 思否

参考文档:Docker创建镜像以及私有仓库_许你一生的远方的技术博客_51CTO博客

接下来要将生成的docker镜像上传到私有Docker镜像仓库:

给上面生成的Docker镜像 brucetest tag

docker tag brucetest:1.0 10.17.*****.208:31000/brucetest:1.0

登录我们的私有docker镜像仓库:

docker login 10.17.****.208:31000

上传镜像到我们的私有docker镜像仓库

docker push 10.17.*****.208:31000/brucetest:1.0

在其它服务器上,将镜像pull下来:

docker pull 10.17.*****.208:31000/brucetest:1.0

访问docker 镜像仓库,看看我们上传镜像是否成功:

curl -u crm:****** -XGET http://10.17.*****.208:31000/v2/_catalog

 

3.华为云创建Pod:

1.打开云容器引擎CCE

 2.体验新版:

3.打开我们的k8s集群:

4.配置项与秘钥:

为我们的私有docker镜像仓库,创建一个秘钥,其实就是配置怎样去访问私有docker镜像仓库。

这是一个已经创建好的秘钥:

5.工作负载 -> 命名空间 

6.镜像创建(其实就是创建Pod)

点击页面右上角的“镜像创建”

填写基本信息:

填写容器配置信息:

“镜像名称”填写我们上传到私有docker镜像仓库的镜像名字 -> 10.17.******.208:31000/brucetest:1.0;”镜像访问凭证”选择上面我们为自己的私有docker镜像仓库配置的秘钥

服务配置:

然后,为将要创建的Pod创建一个服务service,做服务发现(为了在Pod外部访问该Pod,k8s集群或者外网)。

先配置“集群内访问”,“集群内访问”是为了实现在k8s集群内,任何一个节点都可以访问该Pod,其实就是做了Pod端口到节点端口的映射但是此时外网是不能够访问的。

为了实现外网访问,我们需要再配置节点访问。

“服务亲和”选择集群级别,这样的话只要k8s集群中任何一个节点绑定了EIP(弹性公网IP),那么都可以实现外网访问该Pod。

 查看创建的Pod(无状态负载)以及容器组:

 

7.服务发现:

创建好的Pod(无状态负载)怎样访问呢? 使用上面创建Pod过程中创建的服务service -- brucetest-new,每个Pod对应有一个service,一一对应。

Pod,service,deployment controller(或者其它类型的controller),这是一个k8s中的标配。

服务service中给出了访问Pod的ip和端口 ,例如我们上面创建的brucetest-new,对应的是10.247.****.214:8090。

登录任意k8s节点去访问创建的Pod,然后执行下面指令(访问微服务的API)

curl http://10.247.******.214:8090/hello/world(根据具体的微服务的API)

成功返回,证明这个Pod可以在k8s集群的任何节点进行访问。

关于外网访问

目前只支持k8s集群内访问,k8s集群内任何节点都可以访问创建的Pod,不管Pod具体被部署到哪个节点。但是想要实现集群外访问,需要将k8s集群内的任意一个节点,绑定一个EIP,就是给该节点的的网卡绑定一个EIP,EIP公网IP,目前只有内网IP。这样就能实现外网访问。

 

4.其它基础知识:

运行helloworld 镜像(使用公共docker hub,了解docker镜像下载运行):

Docker安装以及运行第一个HelloWorld_韶shls的博客-CSDN博客_docker helloworld

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

举报

相关推荐

0 条评论