栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【云原生学习笔记】kubernetes实践命令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【云原生学习笔记】kubernetes实践命令

文章目录

前言一、Kubernetes 安装二、集群交互

1、查看集群状况2、关于部署应用程序 三、关于集群的特点说明


前言


前面介绍了一些关于k8s集群基础的理论知识,本次将结合实践加深对理论的理解。


一、Kubernetes 安装

鉴于学习环境限制,本次安装Minikube。minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。k8s一般用于linux系统中,由于仅用于学习和熟悉k8s命令,本次将按照所用系统,安装windows版的Minikube。官方教程

    下载.exe安装包进行安装。将安装目录添加到系统环境变量Path。安装目录默认是C:Program FilesKubernetesMinikube需要提前安装好docker,同样是windows版本并启动。在cmd中运行命令minikube start以初始化并启动minikube。之后可以使用minikube stop来停止集群

Minikube 会启动一个虚拟机,Kubernetes 集群运行在虚拟机上。minikube带有dashboard服务,用于可视化监控和查看minikube情况。在新的cmd终端上运行minikube dashboard 以启动该功能。

二、集群交互

通过 kubectl 命令可以根 Kubernetes 交互。kubectl 命令的常用格式是:kubectl 动作 资源。作用是在指定的资源上执行指定的动作。执行运行命令kubectl 可以获取所有关于资源和动作的信息。官方说明文档也有详细说明。

1、查看集群状况

查看 kubectl 是否安装成功,一般用查看版本反映:

kubectl version

会同时看到 client 和 server 两个版本号。其中,client 对应 kubectl 的版本,server 对应 Master 上安装的 Kubernetes 的版本。

查看集群的详情:kubectl cluster-info
查看集群node:kubectl get nodes

2、关于部署应用程序

通过 kubectl run 命令可以在集群中运行指定镜像。对于部署镜像,启动应用方面而言,实际常用的并不是kubectl run, 而是kubectl creat或者kubectl apply。apply用的相对更多。

kubectl creat:用配置创建新资源,由于资源名称在名称空间中应该是唯一的,重复执行时,会报错。
kubectl apply:将配置应用于资源。 如果资源不存在,就创建新资源。重复执行时,配置有修改则资源更新,否则资源不变化。

这里使用kubectl run 将应用部署运行起来:

kubectl run kubernetes-bootcamp --image=jocatalin/kubernetes-bootcamp:v1 --port=8080

检查pod状态running后即成功:

kubectl get pod -A | grep kubernetes-bootcamp
default                kubernetes-bootcamp                         1/1     Running   0             28m

应用是部署在集群内的,如果没有将应用的服务向集群外进行暴露,那么使用url也无法直接访问到该服务。
直接访问会提示拒绝链接:

curl http://localhost:8001/version
curl: (7) Failed to connect to localhost port 8001 after 2203 ms: Connection refused

kubectl proxy命令可以创建代理,将通信转发到集群范围的专用网络。代理可以通过 control-C 终止,并且在运行时不会显示任何输出,可以在其他终端窗口来运行该代理。
再次访问:

curl http://localhost:8001/version
{
  "major": "1",
  "minor": "23",
  "gitVersion": "v1.23.1",
  "gitCommit": "86ec240af8cbd1b60bcc4c03c20da9b98005b92e",
  "gitTreeState": "clean",
  "buildDate": "2021-12-16T11:34:54Z",
  "goVersion": "go1.17.5",
  "compiler": "gc",
  "platform": "linux/amd64"
}
三、关于集群的特点说明

自动负载均衡: 自动将请求分配到各个pod上进行响应。服务伸缩:更新应用的pod副本数量服务版本升级:更新应用使用的镜像用于升级。
可以使用kubectl rollout status deployments/xxx查看升级过程,是逐一替换各个pod。
可以使用kubectl rollout undo deployments/xxx快速回退到上一个版本。对于集群资源的故障排除常用的命令有:
kubectl get : 列出资源
kubectl describe : 显示有关资源的详细信息
kubectl logs : 打印日志
kubectl exec : 去容器上执行命令

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/733379.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号