k8s
文章平均质量分 70
tianxingzhe37
一切从心开始!
展开
-
k8s实战之MySQL单实例部署
前面我们学习了k8s入门系列文章,了解了k8s的一些基础概念以及怎么使用。本篇文章将进行一个小小的实战,使用k8s来部署单机版的mysql数据库,基本涵盖到前面讲到的Namespace、Pod、Deployment、Service、PV、PVC、Secret等资源对象。我们先画一张结构图来表示整个部署的逻辑流程,如图所示:一、一步一步来规划1.创建namespace,把mysql部署在单独的名称空间中名称空间的用法可以参考文章:k8s入门之namespace(三)kubectl create namespa原创 2022-05-08 18:37:34 · 8137 阅读 · 3 评论 -
k8s入门之Secret(十)
Secret与ConfigMap都是用来存储配置信息的,不同之处在于ConfigMap是明文存储的,而Secret用来保存敏感信息,如:密码、OAuth令牌,ssh key等等。Secret常用有三种类型:Opaque:使用base64编码格式存储密码等信息,加密性很弱。kubernetes.io/dockerconfigjson:用来存储私有docker registry的认证信息(仓库地址、登录用户名密码)。kubernetes.io/service-account-token:用来创建服务账号(Ser原创 2022-04-21 22:05:19 · 908 阅读 · 0 评论 -
k8s入门之ConfigMap(九)
ConfigMap是k8s的配置管理工具,通常用来保存明文的配置信息,以key-value形式传递配置。一、使用命令创建ConfigMap对象1.通过--from-literal参数创建kubectl create configmap mycm1 --from-literal=appid=order-app --from-literal=appsecret=dfdg12342(1)查看创建结果kubectl get secret(2)使用describe命令查看详情kubectl describe secr原创 2022-04-18 21:50:48 · 439 阅读 · 0 评论 -
k8s入门之PV和PVC(八)
某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他节点都能访问原来的数据,使用nfs就可以到达此目的。一、安装nfs1.在k8sMaster主节点上安装nfs服务端apt install -y nfs-kernel-serversystemctl start nfs-serversystemctl enable nfs-serversystemctl s原创 2022-04-16 07:43:17 · 1904 阅读 · 0 评论 -
k8s入门之Ingress(七)
Ingress 的功能其实很容易理解:所谓 Ingress,就是 Service 的“Service”,代理不同后端 Service 而设置的负载均衡服务。一、安装ingress1.查找ingress安装文件从github上查看ingress对应k8s版本的deploy文件,链接地址是:https://github.com/kubernetes/ingress-nginx/tree/main/deploy/static/provider/baremetal2.点击Raw按钮可得到该文件的url链接https原创 2022-04-14 18:25:34 · 3486 阅读 · 0 评论 -
k8s入门之Service(六)
将一组pod公开为网络服务,通过service代理,可以实现负载均衡一、ClusterIP此方式只能在集群内访问1.使用命令暴露已存在的pod(1)继续使用前面章节的案例,查看名称为nginx的deploy下的podkubectl get pod -n dev -owide进入每个pod容器,更改index.html内容kubectl exec nginx-6799fc88d8-2rf2c -it /bin/bash -n devcd /usr/share/nginx/html/rm -rf index原创 2022-04-14 07:45:54 · 3631 阅读 · 0 评论 -
k8s入门之Deployment(五)
Deployment控制器通常用来部署无状态的应用,这样可以在任意的节点上扩容或者删除,而不用考虑数据的问题,它可以管理pod对象。一、多副本1.使用命令行方式创建Deployment在dev名称空间下创建3个副本的nginx podkubectl create deployment nginx --image=nginx --replicas=3 -n dev监控创建进度kubectl get deploy -n dev -w可以看到副本可用数量从0变到32.查看Deployment的描述kubectl原创 2022-04-13 23:28:45 · 4347 阅读 · 0 评论 -
k8s入门之pod(四)
pod是k8s项目中的最小编排单位,它是运行中的一组(一个或多个)容器,这些容器共享存储、网络、调度等资源,pod是一个逻辑概念,同一个名称空间下不同pod可以通过ip互相访问。一、通过命令行方式管理1.创建在dev名称空间下创建名称为mynginx的pod,如果不指定-n参数,则默认创建在default名称空间下kubectl run mynginx --image=nginx -n dev2.查看dev名称空间下所有pod的简单信息kubectl get pod -n dev创建pod需要时间,尤其是节原创 2022-04-13 18:25:38 · 4096 阅读 · 0 评论 -
k8s入门之namespace(三)
namespace的作用就是用来隔离资源,将同一集群中的资源划分为相互隔离的组。同一名称空间内的资源名称要唯一,但不同名称空间时没有这个要求。有些k8s资源对象与名称空间没有关系,例如 StorageClass、Node、PersistentVolume 等。一、使用命令行管理1.创建kubectl create ns test2.获取kubectl get ns3.删除该名称空间下所有的资源都将被一起删除kubectl delete ns test二、使用yaml文件管理1.创建新建一个yaml文件vi原创 2022-04-13 07:02:49 · 784 阅读 · 0 评论 -
k8s入门之集群搭建(二)
一、准备三台节点从上篇文章k8s入门之基础环境准备(一)安装的Ubuntu虚拟机克隆出三台虚拟机,如图所示启动这三台虚拟机节点,分别做如下配置虚拟机名称IPHostName k8sMaster 192.168.59.110k8sMaster k8sWorker01 192.168.59.111k8sWorker01 k8sWorker02 192.168.59.112k8sWorker02 二、操作系统相关参数设置注意:三台节点都要执行以原创 2022-04-12 22:34:52 · 1041 阅读 · 2 评论 -
k8s入门之基础环境准备(一)
一、在虚拟机中安装Ubuntu20.04.4系统1.下载Ubuntu20.04.4服务器版本系统下载链接地址如下:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.042.在Vmware Workstation中安装该版本的系统(安装步骤略),注意虚拟机网络使用NAT模式二、配置Ubuntu系统1.设置root密码sudo passwd2.设置静态IP(1)查看网卡设备号ip a(2)更改网络配置文件首先查看网关IP地址:通过VMwa原创 2022-04-11 20:49:24 · 866 阅读 · 0 评论