k8s
k8s,从入门到精通
qq_34893654
这个作者很懒,什么都没留下…
展开
-
k8s核心目录
目录是 Kubernetes 集群的主要配置目录,包含了一系列 Kubernetes 组件和插件的配置文件和密钥文件。admin.conf:kubeconfig 文件,用于与 Kubernetes 集群进行交互。默认情况下,该文件包含管理员用户的凭证和集群信息。:kubeconfig 文件,用于控制器管理器组件连接到 Kubernetes API 服务器,以便执行控制器任务。:kubeconfig 文件,用于 kubelet 组件连接到 Kubernetes API 服务器,以获取 Pod 清单并启动容器。原创 2023-05-15 09:02:51 · 993 阅读 · 1 评论 -
k8s安全学习路线
【代码】k8s安全学习路线。原创 2023-05-07 11:19:36 · 69 阅读 · 0 评论 -
k8s学习第21天--apiversion
Kubernetes API 版本的主要作用是允许 Kubernetes 集群中的不同组件和工具使用不同版本的 Kubernetes API 对象。这种解耦设计可以提高 Kubernetes 的灵活性、可扩展性和兼容性,使得用户可以根据自己的需要选择合适的 API 版本来管理 Kubernetes 资源。具体来说,API 版本有以下几个重要的作用:标识 Kubernetes API 对象的版本号,方便用户和开发者识别和区分不同版本的 Kubernetes API 对象。原创 2023-05-06 18:29:14 · 606 阅读 · 0 评论 -
k8s学习第20天--service account
在 Kubernetes 中,Service Account 是一种用于在 Pod 内运行的特殊用户身份。每个 Service Account 都会分配一个唯一的名称和一个对应的 API 对象。使用 Service Account 可以轻松管理 Pod 的身份验证和授权问题。在默认情况下,Kubernetes 会为每个 Namespace 分配一个默认的 Service Account,使得所有在该 Namespace 内创建的 Pod 都可以自动使用该 Service Account 进行身份验证。原创 2023-05-04 15:40:23 · 176 阅读 · 0 评论 -
k8s学习第19天--证书认证
Kubernetes (k8s) 提供了多种用于认证管理的机制,这些机制可以确保只有经过授权的用户和服务能够访问Kubernetes集群。以下是Kubernetes中常用的一些认证管理机制:证书认证:通过使用X.509证书来进行身份验证和授权。Kubernetes集群必须配置CA证书颁发机构,以便在证书过期之前对颁发的证书进行撤销并更新。Token认证:在Kubernetes API服务器上创建一个持久令牌,该令牌可用于访问API服务器。原创 2023-05-04 15:22:37 · 795 阅读 · 0 评论 -
k8s学习第18天
我们看到了--config参数配置的路径,打开这个路径可以配相关启动参数,然后重启。原创 2023-04-28 16:58:35 · 42 阅读 · 0 评论 -
k8s学习第17天
kubernetes API Server 最主要的 REST 接口是对资源对象执行 CRUD 操作的接口,但是它还有一类很特殊的 REST 接口 -- Kubernetes Proxy API 接口,这类接口的作用是代理 REST 请求,即 kubernetes API Server 把收到的 REST 请求转发到某个 Node 节点上的 kubelet 守护进程的 REST 端口,由该 kubelet 进程负责响应。通过 Pod proxy 接口,我们可以访问 Pod 里面某个容器提供的服务。原创 2023-04-28 16:36:50 · 50 阅读 · 0 评论 -
k8s学习第16天
Api Server的核心功能是提供k8s各类资源对象的增删改查以及watch等http rest 接口,相当于集群内各个功能模块直接数据交互和通信的中心枢纽,,是整个系统的数据总线和数据中心。除此之外,他还是集群管理的API入口,是资源配额控制的入口,提供完备的集群安全机制。使用kubectl和 api server交互,并使用curl工具验证。原创 2023-04-27 17:29:57 · 37 阅读 · 0 评论 -
k8s学习第15天
外部的集群:数据库、缓存服务等其他k8s集群的某个服务---metadata:spec:ports:port: 80---#把外面的服务包装成一个endpointmetadata:#配置外面的访问IP和端口subsets:- address:ports:- port: 80。原创 2023-04-25 17:31:44 · 39 阅读 · 0 评论 -
k8s学习第14天
Service的多端口设置。原创 2023-04-25 17:18:24 · 28 阅读 · 0 评论 -
k8s学习第13天
service同过sessionAffinity实现基于客户端IP的回话保持机制,首次讲某个客户端来源IP发起的请求转发到后端的某个pod上,之后相同的客户端IP发起的请求都会转发到相同的Pod上,下面我们配置一下原创 2023-04-25 17:12:07 · 39 阅读 · 0 评论 -
k8s学习第12天
如果pod列表出现变化,则k8s会实时更新service对应的后端pod列表。一个service对应的后端由pod和IP和容器端口号组成,即一个完整的IP:PORT访问地址,这在k8s中叫Endpoint。Service的主要功能用提供服务网格功能,通过service能够为客户端应用提供稳定的访问地址和负载均衡能力,以及屏蔽后端Endpoint的变化,是k8s实现微服务的核心资源。实际上,k8s会自动创建service和Endpoint资源对象的关联关系,通过一下命令查看。启动了两个tomcat副本。原创 2023-04-25 16:58:23 · 45 阅读 · 0 评论 -
k8s学习第11天
Service的参数的详细定义。原创 2023-04-24 19:15:45 · 56 阅读 · 0 评论 -
k8s学习第10天--Pod的扩缩容
查看现在的副本数量把副本数量更新到5个查看现在的副本数量把副本数减少到1个查看现在的副本数量。原创 2023-04-24 19:01:07 · 68 阅读 · 0 评论 -
k8s学习第9天
k8s使用默认使用的升级策略为Recreate(重建)和RollingUpdate(滚动更新),默认值为RollingUpdate,在Deployment定义中,可以通过spec.strategy指定pod的更新策略,: spec.strategy=Recreate, 表示在更新pod时候,会先杀掉所有正在运行的pod,然后创建新的pod。原创 2023-04-23 15:24:08 · 150 阅读 · 0 评论 -
k8s学习pod第七天
初始化容器是一类只运行一次的容器,本质是也是容器,不同容器间启动有先后顺序,只有前面的容器运行成功了,后面的容器才能运行已上配置文件,首先要运行一个busybox,并且下载一个文件到/work-dir中,然后启动nginx容器,在/usr/share/nginx/html中就有了文件index.html可见先启动了buysbox,然后又启动了nginx容器。原创 2023-04-21 18:34:14 · 80 阅读 · 0 评论 -
k8s学习pod第六天
可见,能看到定时任务大的Schedule, suspend代表是否挂起,目前是false,Last Schedule是执行的时间,多次刷新后,可看到执行了多次。发现没有这个资源,这是因为对应的pod执行完定时任务小时了,我们需要在执行下 get pod。从1.5版本开始增加的类型,类似linux cron的定时任务。查看pod hello-28033163-hbrcq的描述。原创 2023-04-20 19:41:05 · 42 阅读 · 0 评论 -
k8s学习pod第五天
下面我们定义了在每个Node上启动一个fluentd容器,其中挂载了物理机两个目录 /var/log和/var/lib/docker/containers,要在物理机新建/var/log/nginx目录。用于在集群中每个Node上只运行一份pod的副本实例,比如日志收集进程、节点监控程序。我这里有两个Node,只启动了一个,一会查查。常看damonset。原创 2023-04-18 16:06:26 · 37 阅读 · 0 评论 -
k8s学习pod第四天
【代码】k8s学习pod第三天。原创 2023-04-13 17:09:43 · 33 阅读 · 0 评论 -
k8s学习pod第三天
创建之后,使用kubectl get pods -s wide 命令可以看到,这个两个pod在同一个Node上运行,如果删除这个节点的kubernetes.io/hostname 标签,创建后,会发现pod一只处于pending状态,这是因为找不不到满足条件的Node了。这个新pod和security=S1的pod 为同一个zone,但是不与app=nginx的poad为同一个Node,创建Pod之后,会看到新的pod会被调用到同一个zone的Node上。3、pod互斥性调度。原创 2023-04-13 17:06:27 · 60 阅读 · 0 评论 -
k8s学习pod第二天
容器内获取pod信息,k8s在成功创建pod之后,会为pod和容器设置一些额外的信息,例如Pod级别的Pod的名称,Pod IP、Node IP、Label、Annotaitons、容器级别的资源限制等。在很多场景下,这些信息对容器内的应用来说,都很有用,如使用Pod名称做为日志记录的一个字段用于标识日志来源。为了在容器内获取pod级别的这些信息,k8s提供了Downward API的机制来将PodHe容器的某些元数据信息注入容器中,供容器使用。原创 2023-04-10 15:52:20 · 113 阅读 · 0 评论 -
k8s学习pod第一天
创建了一configmap,然后引用cm-appvars中的环境变量。我们配置了两个两个key,value,可以被其他文件引用。原创 2023-04-10 11:39:56 · 39 阅读 · 0 评论 -
k8s常用命令集
返回default空间下的pods列表Name:pod的名称READY:启动成功的数量/pod中的数量STATUS:状AGE:启动时间。原创 2023-03-25 18:46:41 · 242 阅读 · 0 评论 -
k8s从0到1安装
执行完kubeadm init --image-repository=registry.aliyuncs.com/google_containers命令后,如果最后输出的信息为kubeadm join.....等,说明启动成功了,接着执行。可以看到我们设置成功了,多了一个service/nginx-service服务,映射的外网的端口是30593,那我用本机的ip:30593测试一下(注意是本机的ip,不是上面的CLUSTER-IP )至此,k8s安装与配置已完成,下面内容是测试。转载 2023-03-25 17:56:21 · 298 阅读 · 0 评论