草庐IT

k8s学习笔记(三):pod的启动流程和实践案例

文章目录k8s创建podpod的启动流程流程图实践案例:控制器的方式创建nginx的pod流程图1.使用kubectl创建nginx的pod2.查看部署控制器3.查看副本控制器4.查看pod的详细信息参数的含义pod的命名规则5.进入pod容器6.删除pod容器7.删除部署控制器k8s创建podpod的启动流程流程图运维人员向kube-apiserver发出指令(我想干什么,我期望事情是什么状态)api响应命令,通过一系列认证授权,把pod数据存储到etcd,创建deployment资源并初始化。(期望状态)controller通过list-watch机制,监听apiserver读取etcd,

【云原生|K8s系列特别篇】:一文速通实战Helm管理工具

本期文章是K8s特别篇,主要是速通学习Helm之简介、仓库、实践应用等。通过本期文章:我们将学习Helm的基础知识、简介、仓库、实践应用等在前期的文章中,已经介绍了一些云原生入门的知识及简单实战,感兴趣的同学可以去我的云原生专栏中学习,任意门:云原生学习专栏一文速通Helm之简介、仓库、实践应用等开山之词:Helm是什么?中流砥柱:为什么需要Helm?以一敌百:深入了解Helm架构1、Helm客户端2、Tiller服务器3、chart核心概念:Helm的三大法宝如日中天:实战HelmDemo开山之词:Helm是什么?用过Ubuntu和CentOS的同学都不陌生,Ubuntu下的ap-get或者

k8s coredns 添加静态解析

修改corednsconfigmap,添加hosts{120.241.21.12api.mch.weixin.qq.com36.155.207.147yun.tim.qq.comfallthrough}kind:ConfigMapapiVersion:v1metadata:name:corednsnamespace:kube-systemdata:Corefile:|.:53{errorshealthreadykubernetescluster.local.in-addr.arpaip6.arpa{podsinsecurefallthroughin-addr.arpaip6.arpa}prom

k8s-实战入门-Pod详解(十二)

Pod生命周期我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,它主要包含下面的过程:pod创建过程运行初始化容器(initcontainer)过程运行主容器(maincontainer)容器启动后钩子(poststart)、容器终止前钩子(prestop)容器的存活性探测(livenessprobe)、就绪性探测(readinessprobe)pod终止过程在整个生命周期中,Pod会出现5种状态(相位),分别如下:挂起(Pending):apiserver已经创建了pod资源对象,但它尚未被调度完成或者仍处于下载镜像的过程中运行中(Running):pod已经被调度至某节点,

【K8s】安全认证与DashBoard

文章目录一、概述1、客户端2、认证、鉴权与准入控制二、认证管理1、认证方式2、HTTPS证书认证三、授权管理1、授权与RBAC2、Role与ClusterRole3、RoleBinding与ClusterRoleBinding4、案例:创建一个只能管理dev空间下Pods资源的账号四、准入控制五、DashBoard1、部署DashBoard2、使用DashBoard一、概述Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是必要的。安全性就是让所有的Kubernetes客户端以一个合法的身份和合法的步骤来访问我们的系统。1、客户端在Kubernetes集群中,客户端通常有两类:

k8s集群namespace一直处于Terminating状态不释放解决办法

Kubernetes中namespace有两种常见的状态,即Active和Terminating状态,其中Terminating状态一般会比较少见,当对应的命名空间下还存在运行的资源,但该命名空间被删除时才会出现所谓的Terminating状态,这种情况下只要等待Kubernetes本身将命名空间下的资源回收后,该命名空间将会被系统自动删除。问题:想要删除kuboard这个命名空间,但是命名空间却一直处于Terminating状态不释放解决:查看是否有pod未被删除kubectlgetpod,deployment-nkuboard在某些情况下,即使命名空间下没有运行的资源,但依然无法删除Ter

【k8s宝典】2022年12月份Kubernetes 认证管理员CKA轻松通过攻坚克难技巧

目标:攻克三大难点提示:本人是12月近期通过的cka考试,所以总结的技巧是当前最新的,后面如果有稍许变化,这些技巧照样适用,题目请以实际为主复制键不能用怎么办?新版考试系统使用Ctrl+c不管用,Insert键也是不能用,Windows下是Ctrl+Shift+c复制,Ctrl+Shift+v粘贴时间不够怎么办?(1)通过复制官方文档的命令及内容、table键补全、-h或explain等多种方式省出时间。(2)根据命令模板修改yml例如:注意:新老版本命令有变化,12月考试是1.25版本的k8s对于英文不好的朋友,这是下策;它会解释,某个字段可添加的选线参数类型;不过省去了,大海捞针一样在官方

K8s集群的一键部署脚本

#!/bin/bash#配置Master节点echo"==========配置Master节点=========="#安装kubeadm、kubelet、kubectlsudoswapoff-asudosetenforce0sudosed-i's/^SELINUX=enforcing$/SELINUX=permissive/'/etc/selinux/configsudoyuminstall-ykubeletkubeadmkubectlsudosystemctlenablekubelet&&sudosystemctlstartkubelet#初始化Master节点echo"==========

云原生Kubernetes:Kubeadm部署K8S单Master架构

目录一、理论1.kubeadm2.Kubeadm部署K8S单Master架构3.环境部署4.所有节点安装docker5.所有节点安装kubeadm,kubelet和kubectl6.部署K8S集群7.安装dashboard8.安装Harbor私有仓库9.内核参数优化方案二、实验1.Kubeadm部署K8S单Master架构2. 部署流程 3.环境部署4.所有节点安装docker5.所有节点安装kubeadm,kubelet和kubectl6.部署K8S集群7.安装dashboard8.安装Harbor私有仓库三、问题1.加入k8s集群报错2.Kubernetes各版本对应支持的docker版本

从外部访问K8s中Pod的五种方式

hostNetwork、hostPort、NodePort、LoadBalancer、Ingress暴露Pod与Service一样,因为Pod就是Service的backend1、hostNetwork:true这是一种直接定义Pod网络的方式。如果在Pod中使用 hostNetwork:true 配置,pod中运行的应用程序可以直接看到pod启动的主机的网络接口。在主机的所有网络接口上都可以访问到该应用程序。注:每次pod的IP是会变化的使用主机网络的pod的示例定义:apiVersion:v1kind:Podmetadata:name:influxdbspec:hostNetwork:tr