Kubernetes(四)—— kubectl & ranche

2019-12-02  本文已影响0人  treeph

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服务端

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

上面的步骤实际是创建了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 image.png

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

image.png

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

image.png

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

image.png
上一篇 下一篇

猜你喜欢

热点阅读