测试人员需要掌握的 k8s 知识

目录

前言

安装虚拟机

安装 minikube

安装 docker

部署应用

结语


前言

kubernetes 在容器编排领域已经形成统治地位,不管是开发、运维还是测试,掌握 kubernetes 都变得非常有必要。这篇文章通过 minikube 搭建一个简单的 kubernetes 运行环境。

安装虚拟机

主流的操作系统都支持 kubernetes,但是 windows 操作系统在安装 kubernetes 时,不能通过本地网络直接访问,必须要使用另一台机器,额外装一个虚拟机用起来还是会更方便一些。

装虚拟机可能对电脑的配置要求会更高一些,kubernetes 本身要求电脑的配置至少要 2G 以上内存,2 核以上,虚拟机还需要占用一定的资源,可能会造成电脑满负荷运转。

在 vmware 上装了一个 ubuntu 系统,界面看上去不错。

安装 minikube

kubernetes 官方管理工具是 kubeadmin, 适用于生产环境搭建集群, 也可以使用第三方的管理工具 rancher 或者 k9s 这样的工具。 如果是第一次接触,还是先用 minikube 来顺利调通环境吧。

在 ubuntu 中安装 minikube 比较简单,先通过第一行命令把安装包下载到本地,在通过第二行命令完成安装。

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb

sudo dpkg -i minikube_latest_amd64.deb

安装完成后,通过 minikube start 尝试启动环境:

如果是在一个新的系统上启动,可能会提示没有容器执行引擎,因而无法启动。 kubernetes 支持的容器引擎非常多,包括:

  • vertualbox
  • vmwarefusion
  • kvm2
  • vmware
  • docker
  • podman

可以通过 minikube start --help 查看到,我就直接用 docker 了。

安装 docker

docker 安装可以直接参考 官方文档 的说明.

1、先卸载掉原有的依赖:

sudo apt-get remove docker docker-engine docker.io containerd runc

2、设置 rep

sudo apt-get update
sudo apt-get install \
   ca-certificates \
   curl \
   gnupg \
   lsb-release

3、添加 docker 的官方 GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4、设置稳定版本

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5、安装 dockeer

sudo apt-get update
 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

6、设置用户组

sudo usermod -aG docker $USER && newgrp docker

好了,当 docker 安装好后,重新运行 minikube start,出现启动成功的提示就表示 minikube 能正常使用了。

部署应用

管理和部署容器需要用到 kubernetes 提供的 kubectl 工具, 启动时 minikube 提示如果要使用 kubectl 需要拼写 minikube kubectl -- , 非常繁琐,所以可以定义一个快捷命令:

alias k="minikube kubectl --"

在目录下创建一个 nginx-dp.yaml 文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

然后通过以下命令来运行:

minikube kubectl -- apply -f nginx-dp.yaml

启动之后通过以下命令查看已经运行的 deployments:

但是部署的项目目前是无法通过外部访问的,如果需要外部访问,则需要暴露端口:

kubectl expose deployment nginx-deployment --type=LoadBalancer --port 80

查看所有的服务端口

minikube node list     # 查看节点IP
kubectl get svc -A

或者通过 minikube 查看所有的服务:

minikube service list

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

结语

学习软件测试是件需要坚持的事情,学习的过程可能会很枯燥,不过有一些人一起学的话大概就不会了吧,跟我一起学习,有人陪伴,就不会孤单。

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。欢迎留言,或是关注我的专栏和我交流。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值