随笔分类 -  Kubernetes-K8s

k8s常用命令
摘要:集群管理 1. 查看集群节点状态: $kubectl get nodes 2. 查看集群资源使用情况: $kubectl top nodes 3. 查看集群信息: $kubectl cluster-info 4. 获取节点详细信息: $kubectl describe node <node-name
247
0
0
k8s集群安装-kubeadm安装
摘要:title: k8s集群安装-kubeadm安装 tags: - k8s - kubeadm categories: - k8s abbrlink: c38bf18e date: 2024-07-02 20:51:28 kubeadm 安装集群 准备工作 角色 IP 组件 k8s-master 19
43
0
0
k8s-核心组件
摘要:核心组件组成 Kubernetes 主要由以下几个核心组件组成: - etcd :保存整个集群的状态 - API Server:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制 - Controller Manager:负责维护集群的状态,如故障检测、自动扩展、滚动更新等
151
0
0
50、k8s-DashBoard(k8s的web)-部署
摘要:1、下载yaml文件:https://github.com/kubernetes/dashboard/blob/v2.0.0/aio/deploy/recommended.yaml 2、修改yaml文件的service 配置: kind: Service apiVersion: v1 metadat
47
0
0
48、k8s-安全认证-授权管理-角色创建、用户绑定角色
摘要:授权发生在认证成功之后、同i过认证就可以知道请求用户是谁、然后kubernetes会根据事先定义的授权策略来决定用户是否有权限访问、这个过程就称为授权 每个发送到APIServer的请求都带上了用户和资源的信息:比如发送请求的用户、请求的路径、请求的动作等、授权就是根据这些信息和授权策略进行比较、如
264
0
0
47、k8s-安全认证-认证管理
摘要:kubernetes集群安全的最关键点在于如何识别并认证客户端的身份、它提供了三种客户端身份认证方式: ·HTTP Base认证:通过 用户名+密码的方式认证 ··这种认证方式是把 用户名和密码 用Base64算法进行编码后的字符串放在http请求中的header Authorization域里发送
10
0
0
46、k8s-安全认证-访问控制
摘要:kubernetes作为一个分布式集群的管理工具、保证集群的安全性是一个很重要的任务、所谓的安全性其实就是保证对kubernetes的各种客户端进行认证和鉴权的操作 客户端: 在kubernetes集群中、客户端通常有两类 ·User Account:一般是独立于kubernetes之外的其它服务管
11
0
0
45、k8s-数据存储-配置存储-secret-(用于存储配置信息的-比configMap安全)-密文存储
摘要:作用:用于存储敏感信息、例如密码、密钥、证书等 实验:创建secret、再将secret挂载到容器里去、使用容器查看 secret存储的信息 1、先 使用base64 对数据进行编码 ·echo -n 'admin' | base64 YWRtaW4= ·echo -n '123456' | bas
10
0
0
44、k8s-数据存储-配置存储-configMap-(用于存储配置信息的)
摘要:概念:ConfigMap是一种比较特殊的存储卷、它主要的作用是用来存储配置信息的 其模板如下: 1、创建配置卷的yaml文件:vim configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: configmap namespace:
7
0
0
41、k8s-数据存储-基本存储-NFS(网路文件存储系统)
摘要:HostPath可以解决数据持久化的问题、但是一旦node节点故障了、pod如果转移到别的节点、又会出现问题、此时需要准备单独的网络存储系统、比较常用的 有: ·NFS ·CIFS NFS是一个网络问卷存储系统、可以搭建一台NFS服务器、然后将pod中的存储直接连接到NFS系统上、这样的话、无论po
11
0
0
40、k8s-数据存储-基本存储-HostPath(节点主机存储)
摘要:HostPath即使将node主机中的一个实际的目录挂载到pod中、以供容器使用、这样的设计就可以保证pod销毁了、但是数据依然可以存在Node主机上 案例: 1、创建yaml文件: apiVersion: v1 kind: Pod metadata: name: volume-hostpath n
19
0
0
39、k8s-数据存储-基本存储-EmptyDir(空目录)
摘要:EmptyDir EmptyDir(空目录)是最基础的Volume类型、一个EmptyDir就是Host上的一个空目录、 EmptyDir是在pod分配到Node时创建的、它的初始化内容时空的、并且无需指定宿主机上对应的目录文件、因为kubernetes会自动分配一个目录、当pod销毁时、Eempt
86
0
0
37、k8s-ingress-https代理--TLS传输层安全协议(证书的生成)
摘要:在上一个实验基础上进行:使用上一个实验的deployment、pod、和ingress-nginx 1、先生成证书: ·openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -
21
0
0
36、k8s-Ingress的使用-搭建ingress-nginx服务和ingress-controller控制器--http代理
摘要:1、搭建ingress服务环境(安装ingress-controller控制器)--这里使用nginx做负载均衡 1、创建文件: ·mkdir /opt/ingress ·cd /opt/ingress 2、获取ingress-nginx和ingress控制器的yaml文件: ##创建ingress
204
0
0
35、k8s-Ingress介绍-类似于service的一种类型、比service强大
摘要:前面提到:service对集群之外暴露服务的蛀牙方式有两种:NodePort和LoadBalancer、但是这两种方式都有一定的缺点: ·NodePort方式缺点是会占用很多集群机器的端口、那么当集群服务变多的时候、这个缺点就越发明显 ·LB方式的缺点是每个service需要一个LB,浪费、麻烦、并
22
0
0
34、k8s-service类型-第五种-ExternalName-将外部服务接入到集群内部
摘要:概念:ExternalName类型的service用于引入集群外的服务、它通过externalname属性指定外部一个服务的地址、然后在集群内部访问此service就可以访问到外部的服务了 案例 1、新建ExternalName的yaml文件:vim service-externalname.yam
84
0
0
33、k8s-service类型-第四种-LoadBalancer-(与nodeport类似、需要外部环境支持)-外部访问
摘要:概念:LoadBalancer和NodePort相似、目的都是向外暴露一个端口、区别在于LoadBalancer会在集群的外部再来做一个负载均衡设备、而这个设备需要外部环境的支持、 外部请求发送到这个外部设备、会备设备负载之后转发到集群之中
17
0
0
32、k8s-service类型-第三种-NodePort(常用)-外部访问
摘要:概念:前面的两种service类型(Cluster IP和HeadLiness)只能集群内部才可以访问、如果希望service暴露给外部使用、那么就要使用到另外一种类型的service、 NodePort类型:NodePort的工作原理其实就是 将service的端口映射到Node节点的一个端口上、
49
0
0
31、k8s-Service的类型-第二种-HeadLiness(属于Cluseter IP类型的)-只支持域名访问
摘要:概念:在某些场景中,开发人员不想使用service提供的负载均衡功能、而希望自己来控制负载均衡策略、针对这种情况、kubernetes提供了HeadLiness service 这类service不会分配Cluster IP 、如果想要访问Service、只能通过service的域名访问 测试 1、
27
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起