51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 962|回复: 0
打印 上一主题 下一主题

[转贴] 测试需要掌握的 k8s 知识

[复制链接]
  • TA的每日心情
    擦汗
    9 小时前
  • 签到天数: 976 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-6-23 09:19:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    kubernetes 在容器编排领域已经形成统治地位,不管是开发、运维和测试,掌握 kubernetes 都变得非常有必要。这篇文章通过 minikube 搭建一个简单的 kubernetes 运行环境。
      安装虚拟机
      主流的操作系统都支持 kubernetes,但是 windows 操作系统在安装 kubernetes 时,不能通过本地网络直接访问,必须要使用另一台机器,额外装一个虚拟机用起来还是会更方便一些。
      装虚拟机可能对电脑的配置要求会更高一些,kubernetes 本身要求电脑的配置至少要 2G 以上内存,2 核以上,虚拟机还需要占用一定的资源,可能会造成电脑满负荷运转。
      在 vmware 上装了一个 ubuntu 系统,界面看上去不错。

    安装 minikube
      kubernetes 官方管理工具是 kubeadmin, 适用于生产环境搭建集群, 也可以使用第三方的管理工具 rancher 或者 k9s 这样的工具。 如果是第一次接触,还是先用 minikube 来顺利调通环境吧。
      在 ubuntu 中安装 minikube 比较简单,先通过第一行命令把安装包下载到本地,在通过第二行命令完成安装。
    1. curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
    2.   sudo dpkg -i minikube_latest_amd64.deb
    复制代码
    安装完成后,通过 minikube start 尝试启动环境:


     如果是在一个新的系统上启动,可能会提示没有容器执行引擎,因而无法启动。 kubernetes 支持的容器引擎非常多,包括:
      ·vertualbox
      · vmwarefusion
      · kvm2
      · vmware
      · docker
      · podman
      可以通过 minikube start --help 查看到,我就直接用 docker 了。
      安装 docker
      docker 安装可以直接参考官方文档的说明。
      1、先卸载掉原有的依赖:
    1.   sudo apt-get remove docker docker-engine docker.io containerd runc
    复制代码
    2、设置 rep
    1. sudo apt-get update
    2.   sudo apt-get install \
    3.      ca-certificates \
    4.      curl \
    5.      gnupg \
    6.      lsb-release
    复制代码
    3、添加 docker 的官方 GPG key
    1.  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    复制代码
     4、设置稳定版本
    1.  echo \
    2.     "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    3.     $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    复制代码
    5、安装 dockeer
    1. sudo apt-get update
    2.    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    复制代码
    6、设置用户组
    1.   sudo usermod -aG docker $USER && newgrp docker
    复制代码
     好了,当 docker 安装好后,重新运行 minikube start,出现启动成功的提示就表示 minikube 能正常使用了。

    部署应用
      管理和部署容器需要用到 kubernetes 提供的 kubectl 工具, 启动时 minikube 提示如果要使用 kubectl 需要拼写 minikube kubectl -- , 非常繁琐,所以可以定义一个快捷命令:
    1.   alias k="minikube kubectl --"
    复制代码
    在目录下创建一个 nginx-dp.yaml 文件:
    1. apiVersion: apps/v1
    2.   kind: Deployment
    3.   metadata:
    4.     name: nginx-deployment
    5.     labels:
    6.       app: nginx
    7.   spec:
    8.     replicas: 1
    9.     selector:
    10.       matchLabels:
    11.         app: nginx
    12.     template:
    13.       metadata:
    14.         labels:
    15.           app: nginx
    16.       spec:
    17.         containers:
    18.         - name: nginx
    19.           image: nginx:1.14.2
    20.           ports:
    21.           - containerPort: 80
    复制代码
    然后通过以下命令来运行:
    1.   minikube kubectl -- apply -f nginx-dp.yaml
    复制代码
    启动之后通过以下命令查看已经运行的 deployments:

    但是部署的项目目前是无法通过外部访问的,如果需要外部访问,则需要暴露端口:
    1.   kubectl expose deployment nginx-deployment --type=LoadBalancer --port 80
    复制代码
    查看所有的服务端口:
    1. minikube node list     # 查看节点IP
    2.   kubectl get svc -A
    复制代码

     或者通过 minikube 查看所有的服务:
    1. minikube service list
    复制代码

    现在就可以通过网络访问到nginx 服务了。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-7-1 18:45 , Processed in 0.068525 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表