kubernetes
文章平均质量分 65
王小栋857
平凡的小员工
展开
-
k8s-kubeadm安装1.25.5
2 关闭防火墙、selinux和交换空间。1 修改主机名,配置hosts文件。6 安装containerd。原创 2022-12-11 17:09:50 · 822 阅读 · 0 评论 -
helm介绍及使用
初识helmHelm 是 kubernetes 的包管理工具,相当于 linux 环境下的 yum/apg-get 命令。helm 也是 go 语言开发的Helm 中的一些概念:helm:命令行客户端工具,主要用于 Kubernetes 应用中的 chart 的创建、打包、发布和管理 Chart:helm 程序包,一系列用于描述 k8s 资源相关文件的集合,比方说我们部署 nginx,需要deployment 的 yaml,需要 service 的 yaml,这两个清单文件就是一个 hel原创 2022-05-10 16:12:06 · 1322 阅读 · 0 评论 -
修改apiserver证书
问题:k8s集群增加了新的虚拟IP和网址,默认的证书包含的名称不能满足我们的要求重新更新证书。解决:Kubernetes APIServer 使用数字证书来加密 APIServer 的相关流量以及验证到 APIServer 的连接。所以如果我们想使用命令行客户端(比如 kubectl)连接到 APIServer,并且使用的主机名或者 IP 地址不包括在证书的 subject 的备选名称(SAN)列表中的话,访问的时候可能会出错,会提示对指定的 IP 地址或者主机名访问证书无效。要解决这个问题就需原创 2022-04-14 18:19:40 · 1202 阅读 · 0 评论 -
ingress
流程示意图service 可以对外开放端口,如果多个service开放后期运维困难,所以引入了ingress。nginx-ingress本质上是一个nginx,ingress-controller管理者流量的走向,ingress为其添加规则。部署nginx-ingress官网:https://kubernetes.github.io/ingress-nginx/githup 地址:https://github.com/kubernetes/ingress-nginxhttps://.原创 2022-04-13 16:52:08 · 3293 阅读 · 0 评论 -
Rancher
rancher 可以做到k8s集群的集中管理安装rancher 安装需要docker环境,开始路由转发和网桥透明防火墙。关闭swap交换空间。cgroup配置为systemd# 启动命令docker run -d --restart=unless-stopped -p 8080:80 -p 8443:443 --privileged -v /home/rancher:/var/lib/rancher rancher/rancher:v2.5.7# --restart=unless-原创 2022-04-11 11:05:57 · 2881 阅读 · 2 评论 -
k8s-二进制安装
1 环境准备pod 网段: 10.96.0.0/16service 网段: 10.244.0.0/16集群角色 IP 主机名 安装组件 控制节点 192.168.241.191 k8smaster01 apiserver、controller-manager、scheduler、etcd、docker、keepalived、haproxy 控制节点 192.168.241.192 k8smaster02 apiserver、cont原创 2022-03-21 17:50:35 · 5972 阅读 · 2 评论 -
k8s - 安全认证(RBAC)
api server 是集群访问控制的统一入口k8s认证过程: 认证 -> 授权 - > 准入控制 (adminationcontroller)1 认证()是对客户端的认证,简单说就是账户密码2 授权()是资源的授权,容器、网络、存储资源的权限3 准入机制准入控制器位于api server ,在对象被持久化之前,准入控制器拦截对api server 的请求,一般用来做认证和授权。其中包括连个控制器:MutatingAdmissionWebhook 和 Validating原创 2022-03-18 11:14:04 · 3037 阅读 · 0 评论 -
k8s-配置管理
configmapConfigmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。通过挂载到容器中使用。多用于配置文件,将 configMap 做为存储卷,或则是将configMap 通过 env 中 configMapKeyRef 注入到容器中。缺点:configmap保存的数据大小不能超过1MiB创建方法:命令创建# 通过帮助命令查看创建例子kubectl create configmap原创 2022-03-17 17:29:50 · 5264 阅读 · 0 评论 -
k8s - statefulset+daemonset
statefulsetstatefulset 为管理有状态服务而设计的有状态: 服务名称不能变化,每个pod要有单独的存储,多用于数据库使用。无状态:管理的Pod的IP、名字,启停顺序等都是随机的。个体对整体无影响,所有pod都是共用一个数据卷的statefulset 由以下几个部分组成:1 Headless Service: 用来定义Pod网络标识,生成可解析的DNS记录,被DNS解析后返回所有绑定的pod的IP,普通service 解析返回的是ClusterIP,pod名称是pod唯原创 2022-03-17 14:31:58 · 1465 阅读 · 0 评论 -
k8s - service
k8s中pod是有生命周期的,如果podIP发生变化,跟他向关联的服务就会找不到pod。service就是为了解决这个问题,每个service和一个或一组pod绑定,可以理解为 service是pod的代理,service中记录着pod的IP,pod发生变化会通知service,我们访问service它会把请求转发给podservice IP是逻辑存在的记录在iptables或ipvs中。网络简述k8s CNI组件flannel 和calico 网络原理 - 三木燕 - 博客园每一个po原创 2022-03-16 16:48:12 · 2852 阅读 · 0 评论 -
k8s - 控制器(deployment)
通过kind为Pod定义的资源是一个自主式pod,如果pod被删除了,pod不会自我恢复,如果连yaml文件也找不到了,那只能卷铺盖跑路了。Replicaset(副本控制器)创建的pod,可以管理pod维持在固定的个数,并可以实现pod的动态扩缩容。Deployment 功能更加强大,在replicaset的基础上增加了滚动更新等功能。Replicasetk8s中的一种副本控制器,主要作用是控制其管理的pod,使pod副本数始终维持在一定数量,他会监听这些pod,故障会重启,pod减少会创建。组原创 2022-03-15 17:23:13 · 2023 阅读 · 0 评论 -
k8s-存储(volumes)
使用存储卷的步骤:1 定义pod的volume,这个volume要指明关联到那个存储。2 容器中要使用的volume mounts 挂载存储。临时存储使用临时存储,在pod生命周期结束后,数据就会消失。kubectl explain pod.spec.volumesemptyDir可以通过查看官方样例。样例:apiVersion: v1kind: Podmetadata: name: test-tmpdirspec: containers: - n原创 2022-03-14 09:33:44 · 5625 阅读 · 0 评论 -
k8s - Pod资源解读
可以通过 kubectl explain 查看资源清单包含了那些字段kubectl explain Pod可以通过提供的More info 网页查看具体的配置样例apiVersion 定义了对象版本Kind 定义了资源类型matadata 定义了元属性信息spec 定义了Pod的规格,具体容器信息status 定义了状态,不可修改,不需要定义。查看matadata对象该如何定义kubectl explain Pod.metadata查看对象该如何定义直接在后面.+原创 2022-03-07 17:00:23 · 800 阅读 · 0 评论 -
k8s - Pod
什么是Pod?Pod是k8s中的最小调度单元,通过自定义一个pod,在里面运行容器,容器需要指定镜像。就可以运行具体的服务器。同一个pod共享网络和存储。Pod网络pod 有具体的IP地址,每一个pod都被分配唯一的地址。pod中的容器共享一个命名空间,pod中的容器可以使用local host相互通信。Pod存储创建pod时可以指定存储卷,pod中的所有容器够可以访问共享卷,允许这些容器共享数据。挂载持久化存储卷后,pod重启后还会存在。自主式Pod自主式Pod就是直接定义一个原创 2022-03-07 15:06:32 · 654 阅读 · 0 评论 -
k8s-使用前增加组件
一、安装 metrics-server 组件metrics-server 是一个集群范围内的资源数据集和工具,显示数据,并不提供数据存储服务,主要关注的是资源度量 API 的实现,比如 CPU 、文件描述符、内存、请求延时等指标。部署之前需要开启k8s的扩展功能。vi /etc/kubernetes/manifests/kube-apiserver.yaml# 此参数在不修改核心代码的情况下,开启扩展API- --enable-aggregator-routing=true更新api原创 2022-03-05 22:23:48 · 205 阅读 · 0 评论 -
k8s-安装dashboard
1、 执行yaml文件安装dashboardkubectl create -f kubernetes-dashboard.yaml2、查看dashboard pod及svc状态3、配置dashboard外网访问kubectl get svc,pod -n kubernetes-dashboardtype: NodePort4、浏览器访问 https://192.168.241.191:30801/5 、创建用户授予管理员权限kubectl create .原创 2022-03-02 16:11:06 · 593 阅读 · 0 评论 -
k8s-admin(三、单master节点多node)
1 初始化masterkubeadm init \ --apiserver-advertise-address=192.168.241.191 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.20.0 \ --service-cidr=10.96.0.0/16 \ --pod-network-cidr=10.244.0.0/162 master 节点执行原创 2022-03-02 15:07:24 · 236 阅读 · 0 评论 -
k8s-kubeadm安装(五 网络插件calico)
1、为啥选择calico可以支持网络策略。2、安装calico插件kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml等状态都变成running后就可以正常通信了3 、测试原创 2022-03-01 15:10:19 · 3693 阅读 · 0 评论 -
k8s-kubeadm安装(四、多master安装)
1、 编辑集群配置文件vi k8s-config.yamlapiVersion: kubeadm.k8s.io/v1beta2kind: ClusterConfigurationkubernetesVersion: v1.20.6# vipcontrolPlaneEndpoint: 192.168.241.190:16443imageRepository: registry.aliyuncs.com/google_containersapiServer: certSANs: -原创 2022-03-01 14:50:12 · 549 阅读 · 0 评论 -
k8s-kubeadm安装(三 haproxy+keepalived 高可用配置)
# 安装yum install haproxy keepalived -y# 配置 haproxy(master1,2配置相同)# 修改配置文件vi /etc/haproxy/haproxy.cfgglobal log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user原创 2022-03-01 14:24:52 · 520 阅读 · 0 评论 -
k8s-kubeadm安装(二 安装docker及k8s组件)
1 、安装docker# 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。yum install -y yum-utils device-mapper-persistent-data lvm2# 选择国内的一些源地址(阿里源):yum-config-manager --add-repo http://mirrors.aliyun原创 2022-02-28 17:52:33 · 263 阅读 · 0 评论 -
k8s-kubeadm部署(一 环境准备)
1、kubeadm安装和二进制安装kubeadm安装:安装便捷,维护困难(必须对k8s个个组件有一定了解)二进制安装: 安装繁琐,维护便捷。(刚接触k8s推荐使用)2、安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:- 一台或多台机器,操作系统 CentOS7.x-86_x64- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多- 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点3、主机及IP规划角色原创 2022-02-27 15:12:30 · 728 阅读 · 0 评论 -
初识kubernetes(k8s)
k8s简介可移植、可扩展、开源的容器管理平台,是谷歌Bory的开源版本1、k8s强大功能批处理、弹性伸缩、故障自恢复、存储编排、机密和配置管理、自动部署和滚动升级、服务器发现和负载均衡2、发展史2014.6 谷歌宣布开源kubernetes 2014.9 第一个测试版本0.2发布 2015.7 第一个正式版本1.0发布,加入到CNCF基金 2018.3 从CNCF毕业,发布版本1.10 2020.12.8 1.20版本发布,宣布不再支持docker(目前还支持docker)3、原创 2022-02-27 11:42:06 · 189 阅读 · 0 评论