美文网首页
Kubernetes(四)—— kubectl & ranche

Kubernetes(四)—— kubectl & ranche

作者: treeph | 来源:发表于2019-12-02 11:20 被阅读0次

Kubectl

目标:测试服务器上的nginx接入k8s

1、kubectl安装

确保测试服务器有安装kubectl:

kubectl version

安装参考官网文档:https://kubernetes.io/docs/tasks/tools/install-kubectl/

2、镜像准备

$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
nginx                    latest              881bd08c0b08        7 months ago109MB

3、部署

kubectl create deployment phtest-nginx --image=nginx

4、更新版本

5、停服


Rancher

1、镜像准备

通过rancher界面部署的方式,需要rancher能找到镜像。因此需要使用镜像仓库。
以dmp部署为例,3个镜像都推到镜像仓库中:


image.png

2、部署服务

项目>>工作负载>>部署服务

image.png

DMP服务端

  • Docker镜像:这里就是填写第一步准备的镜像

  • 容器端口:容器需要暴露的服务端口


    image.png
  • 环境变量:根据需要配置,dmp的服务在此指定一些JVM参数和springboot参数


    image.png
  • 数据卷:数据持久化的设置,dmp将日志文件做持久化,便于查询问题


    image.png

项目>>工作负载>>服务发现

上面的步骤实际是创建了3个pod,每个pod有独立的集群IP,他们是只对集群内部可见的。


image.png

项目>>工作负载>>服务发现>>添加DNS记录


image.png
image.png

3、负载均衡

如果pod被删除再重建,IP就会改变。。但是现实中我们往往是需要一个稳定的域名,这样无论后台服务运行在哪里,我都能通过那个域名访问服务。也就是负载均衡。

项目>>工作负载>>负载均衡>>添加Ingress规则

由于dmp的nginx监听xxxx.mycompany.com这个域名,因此我们需要对容器服务做一层域名解析。

image.png

配置完成后:


image.png

4、访问服务

xxxx.mycompany.com,此时你访问的就是我们刚刚通过rancher部署在k8s上的新服务了哟。

5、服务更新

应用程序版本更新怎么办?

服务>>更多>>升级>>更新版本号>>保存,k8s随后即自动升级服务。

image.png
image.png

6、ConfigMap

应用程序通常有很多配置项,为了镜像的可移植性,通常我们是不把配置打到镜像里的。

通过ConfigMap可实现配置外置。

以dmp的nginx配置文件为例:

dmp-client.mycompany.com.conf

dmp.mycompany.com.conf

>>资源>>配置映射ConfigMap

image.png
  • 添加ConfigMap
image.png
  • 使用ConfigMap

    1)在deployment的数据卷中使用

修改deployment>添加卷>添加ConfigMap卷>选择ConfigMap>填写容器路径,在容器启动时,配置卷会且以key的名字生成文件,并挂载到指定路径下。

image.png

查看容器:文件以软链的方式存在

image.png

2)在deployment的环境变量中使用

image.png

相关文章

网友评论

      本文标题:Kubernetes(四)—— kubectl & ranche

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