k8s命令式对象管理和配置

2024-05-26 07:20

本文主要是介绍k8s命令式对象管理和配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

kubectl补全: 

# dnf install -y bash-completion
# echo "source <(kubectl completion bash)" >> ~/.bashrc
# kubectl completion bash > /etc/bash_completion.d/kubectl 

命令式对象管理

kubectl命令

# 查看所有pod
kubectl get pod
# 查看某个pod
kubectl get pod pod_name
# 查看某个pod,以yaml格式展示结果
kubectl get pod pod_name -o yaml

查看命名空间   并  查看其中一个命名空间以yaml  或者以json格式

 资源类型

 kubectl api-resources

经常使用的资源有下面这些 

 例子:看日志

看集群状态

 

 下面以一个namespace / pod的创建和删除简单演示下命令的使用:

[root@k8s-master01 ~]# kubectl create ns dev
namespace/dev created
[root@k8s-master01 ~]# kubectl get ns dev -o yaml 
apiVersion: v1
kind: Namespace
metadata:creationTimestamp: "2024-05-25T07:05:24Z"labels:kubernetes.io/metadata.name: devname: devresourceVersion: "12664"uid: f1ab170b-f87b-4e02-883c-3343e89047c2
spec:finalizers:- kubernetes
status:phase: Active# 在此namespace下创建并运行一个nginx的Pod
[root@k8s-master01 ~]# kubectl run pod --image=nginx -n dev
pod/pod created# 查看新创建的pod
[root@k8s-master01 ~]#  kubectl get pod -n dev
NAME   READY   STATUS    RESTARTS   AGE
pod    1/1     Running   0          18s# 删除指定的pod
[root@k8s-master01 ~]# kubectl delete ns dev
namespace "dev" deleted

 命令式对象配置

命令式对象配置就是使用命令配合配置文件一起来操作kubernetes资源。

# vim nginxpod.yaml
apiVersion: v1
kind: Namespace
metadata:name: dev
[root@k8s-master01 test]# kubectl create -f nginxpod.yaml 
namespace/dev created
[root@k8s-master01 test]# kubectl get ns
NAME              STATUS   AGE
default           Active   12d
dev               Active   25s
kube-node-lease   Active   12d
kube-public       Active   12d
kube-system       Active   12d
tigera-operator   Active   5d22h
# vim pod1.yaml
apiVersion: v1
kind: Pod
metadata:name: nginxpodnamespace: dev
spec:containers:- name: nginx-containersimage: nginx:1.14-alpine[root@k8s-master01 test]# kubectl create -f po1.yaml 
pod/nginxpod created
[root@k8s-master01 test]# kubectl get pod -n dev -o wide 
NAME       READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
nginxpod   1/1     Running   0          90s   172.16.58.195   k8s-node02   <none>           <none>

或者

删除

[root@k8s-master01 test]# kubectl delete -f nginxpod.yaml 
namespace "dev" deleted

总结: 其实声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态)

使用apply操作资源: 如果资源不存在,就创建,相当于 kubectl create

                                   如果资源已存在,就更新,相当于 kubectl patch

扩展:kubectl可以在node节点上运行吗 ?

kubectl的运行是需要进行配置的,它的配置文件是$HOME/.kube,如果想要在node节点运行此命令,需要将master上的.kube文件复制到node节点上,即在master节点上执行下面操作:

# scp -r $HOME/.kube k8s-node01:$HOME/

服务部署

接下来在kubernetes集群中部署一个nginx程序,测试下集群是否在正常工作。

# 部署nginx
[root@master ~]# kubectl create deployment nginx --image=nginx:1.14-alpine
deployment.apps/nginx created# 暴露端口
[root@master ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed# 查看服务状态
[root@master ~]# kubectl get pods,service

 

这篇关于k8s命令式对象管理和配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003805

相关文章

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in