在Rancher中,简单而真正地使用Kubernetes

用Rancher建立Kubernetes环境

image.png

请确保在进行任务之前,在所有服务器上预先安装了docker和docker-compose.yml。
此次构建所使用的环境如下:
– 服务器操作系统:Ubuntu 18.04
– docker版本:19.03.8
– docker-compose版本:1.24.0

牧場經營者開始工作。

    Rancher自体もdockerコンテナで起動することになります。

创建一个docker-compose.yml文件,并写入以下内容。

version: "3"
services:
  rancher:
    container_name: rancher
    restart: unless-stopped
    image: rancher/rancher
    ports:
      - 80:80
      - 443:443
    volumes:
      - /var/rancher/auditlog:/var/log/auditlog
      - /var/rancher/rancher:/var/lib/rancher

在上述的例子中,我们创建了一个用于存储数据的目录/var/rancher,并将容器的目录与这些目录进行绑定。请根据需要进行卷的配置。

在创建docker-compose.yml文件之后,启动容器。

$ docker-compose up -d

执行启动命令后,确认容器的运行情况。

$ docker ps
CONTAINER ID  IMAGE            COMMAND          CREATED        STATUS        PORTS                                     NAMES
50b7e0da7e98  rancher/rancher  "entrypoint.sh"  3 minutes ago  Up 3 minutes  0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp  rancher

如果一切运行正常,您可以通过浏览器访问Rancher http://(Rancher服务器的IP地址或主机名)。


image.png

image.png

image.png

集群建设

初始建设

接下来,我们将创建一个集群。
点击右上方的”添加集群”按钮。


image.png

image.png

image.png

image.png

在集群服务器上执行上述复制的命令。

$ sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.4.3 --server https://192.168.0.1 --token XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --ca-checksum XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --etcd --controlplane --worker
image.png
image.png

向集群中添加服务器

image.png

部署容器

一旦 Cluster 准备好了,下一步就是部署容器并开始提供服务。

创建命名空间

image.png
image.png
image.png
    まずは、Project Nameに任意の名称を入力、その他項目はデフォルトでOKです。
image.png
image.png
image.png
image.png
    • Name:任意のPOD(コンテナ)の名前。

 

    • Docker Image:dockerコンテナイメージ。

 

    • Namespace:任意の名前空間名称。プロジェクト(名前空間)内でさらに名前空間を作成しサービス同士を隔離することもできます。

 

    • Port Mapping

Port Name:任意のポート名。
Publish the container port:公開したいコンテナのポート番号。
Protocol:UDP or TCP
As a:ここではNodePort(On every node)とします。(Clusterの全Workerノードで待ち受ける。)
On listening port:As aでNode Port`を選択したので、「30000」~「327867」の範囲内で任意のポート番号を入力。外部からはこのポート番号で待ち受けることになります。

image.png
image.png

无事服务已经启动了,是吧。
基本的POD(容器)部署步骤就是这样了。仅通过GUI操作就能启动容器。真是简单!

Kubernetes的牧場主監控

image.png
image.png
image.png
image.png
image.png
image.png
image.png

下一步,我們希望設定Grafana的內容不會消失,因此我們需要進行儲存卷的設定。
展開”Volumes”部分,首先我們要刪除grafana-storage。
按下grafana-storage右邊的”Remove Volume”按鈕。

image.png
image.png
image.png
image.png
image.png
image.png

默认情况下,Prometheus的数据源RANCHER_MONITORING是存在的。使用该数据源进行各种度量监控设置时,通知将导致错误。因此,我们需要创建一个新的数据源。点击右侧的“添加数据源”按钮,接着选择Prometheus。

image.png

尝试使用Rancher

上述的例子是最小配置,需要两台服务器。但是,如果将Master节点和Worker节点分别配置多台,那么可以适应相当规模的服务运行,并且可以运行具有极高可用性的系统。在这种情况下,Rancher服务器仍然是单节点配置,但即使Rancher宕机,集群和集群上的POD(容器)仍将继续运行,服务也不会停止,并且k8s的自愈功能等仍然保持。如果像上述示例那样将Rancher的数据放在主机上的目录中,只需再次运行docker-compose up -d,Rancher就恢复正常了!所以,目前个人对Rancher的冗余性并不感到非常必要(只是想不出简单的冗余手段而已…)同时,它还具有监控功能,并且在新版本中还带有Istio。虽然示例中以英文显示,但也可以显示为日文。我认为它将门槛降低得非常低,是一个非常优秀的机制。大家不妨试试看。

广告
将在 10 秒后关闭
bannerAds