k8s
文章平均质量分 75
小代灬
这个作者很懒,什么都没留下…
展开
-
k8s高可用集群
server2清理之前的k8skubectl delete node server4kubeadm resetipvsadm --clear准备新的环境docker images | grep google | awk '{print $1":"$2}'docker images | grep google | awk '{print $1":"$2}'| awk '{system("docker save -o k8s.tar "$1"")}'docker rmi `docker ima原创 2021-03-09 23:54:09 · 264 阅读 · 0 评论 -
Helm之web UI
helm repo add bitnami https://charts.bitnami.com/bitnamihelm pull bitnami/kubeapps #拉取最新的5.2.2tar zxf kubeapps-5.2.2.tgz#镜像拉取位置,及镜像本地化vim /root/helm/kubeapps/values.yamlvim /root/helm/kubeapps/charts/postgresql/values.yaml#环境域名访问cd /root/he原创 2021-03-08 18:18:17 · 438 阅读 · 0 评论 -
自己编写Helm Chart
构建一个 Helm Charthelm create mycharttree mychart/cd mychart/vim Chart.yaml #编写mychart的应用描述信息,修改app版本,和包版本vim values.yaml #编写应用部署信息helm lint mychart/ #检查依赖和模板配置是否正确helm package mychart/ #打包helm install demo mychart-1.1.0.tgz #安装拉伸helm sho原创 2021-03-08 16:56:50 · 1425 阅读 · 1 评论 -
k8s包管理工具
1.Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。2.Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。3.对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。4.对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernete原创 2021-03-04 22:06:29 · 484 阅读 · 1 评论 -
pod自动扩缩
HPA示例参考可以根据 CPU 利用率自动扩缩 ReplicationController、 Deployment、ReplicaSet 或 StatefulSet 中的 Pod 数量原创 2021-03-04 17:17:59 · 182 阅读 · 1 评论 -
k8s资源监控
k8s官网api参考资源下载,国外服务器gitee同步github资源server2wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml #提前下好所需镜像并上传到本地仓库,在文件中注意修改镜像拉取位置server1docker search metrics-serverdocker pull bitnami/metrics-server:0.4.0原创 2021-03-04 16:22:50 · 511 阅读 · 1 评论 -
k8s资源限制
k8s容器资源限制(一)Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求):即运行Pod的节点必须满足运行Pod的最基本需求才能运行Pod。limit(资源限额):即运行Pod期间,可能内存使用量会增加,那最多能使用多少内存,这就是资源限额。(二)资源类型:1.CPU 的单位是核心数,内存的单位是字节。一个容器申请0.5个CPU,就相当于申请1个CPU的一半,你也可以加个后缀m 表示千分之一的概念。比如说100m的CPU,100豪的CPU和原创 2021-03-04 15:18:53 · 1139 阅读 · 1 评论 -
k8s访问控制
一.kubernetes API 访问控制更加详细(一)Authentication(认证)1.认证方式现共有8种,可以启用一种或多种认证方式,只要有一种认证方式通过,就不再进行其它方式的认证。通常启用X509 Client Certs和Service Accout Tokens两种认证方式。2.Kubernetes集群有两类用户:由Kubernetes管理的Service Accounts (服务账户)和(Users Accounts) 普通账户。k8s中账号的概念不是我们理解的账号,它并不真的原创 2021-03-04 14:20:53 · 280 阅读 · 1 评论 -
kubernetes调度
一.kubernetes调度1.调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。2.kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一个调度组件并替换原有的 kube-scheduler。3.在做调度决定时需要考虑的因素包括:原创 2021-03-04 10:19:51 · 221 阅读 · 0 评论 -
k8s之有状态应用
一.StatefulSet(一)StatefulSet 是用来管理有状态应用的工作负载 API 对象。实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,称为“有状态应用”(二)StatefulSet 用来管理 Deployment 和扩展一组 Pod,并且能为这些 Pod 提供序号和唯一性保证。(三)StatefulSets 对于需要满足以下一个或多个需求的应用程序很有价值:1.稳定的、唯一的网络标识符。2.稳定的、持久的存储。3.有序的、优雅的部署和缩放。4.有序的、自动的滚动更新原创 2021-03-02 22:10:01 · 1575 阅读 · 0 评论 -
k8s存储之Volumes卷类型
Volumes配置管理emptyDir卷[root@server2 volumes]# cat emptydir.yaml apiVersion: v1kind: Podmetadata: name: vol1spec: containers: - image: busyboxplus name: vm1 stdin: true tty: true volumeMounts: - mountPath: /cache name: ca原创 2021-02-26 22:13:44 · 1587 阅读 · 0 评论 -
k8s存储之Configmap&Secret
一.Configmap配置管理(一)Configmap用于保存配置数据,以键值对形式存储。configMap 资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。(二)典型的使用场景1.填充环境变量的值2.设置容器内的命令行参数3.填充卷的配置文件(三)创建ConfigMap的方式有4种1.使用字面值创建kubectl create configmap my-config --from-literal=key1=config1 --from原创 2021-02-26 16:00:02 · 280 阅读 · 0 评论 -
k8s网络优化
适用于公有云上的 Kubernetes 服务kubectl edit configmap -n kube-system kube-proxykubectl get pod -n kube-system |grep kube-proxy| awk '{system("kubectl delete pod "$1" -n kube-system")}'mkdir /root/metallbcd /root/metallbwget https://raw.githubusercontent.com/m原创 2021-02-26 11:23:56 · 993 阅读 · 0 评论 -
k8s网络通信
k8s网络通信(一)k8s通过CNI接口接入其他插件来实现网络通讯。目前比较流行的插件有flannel,calico等CNI插件存放位置:# cat /etc/cni/net.d/10-flannel.conflist(二)插件使用的解决方案如下:虚拟网桥,虚拟网卡,多个容器共用一个虚拟网卡进行通信。多路复用:MacVLAN,多个容器共用一个物理网卡进行通信。硬件交换:SR-LOV,一个物理网卡可以虚拟出多个接口,这个性能最好。(三)各个节点网络通信1.容器间通信:同一个pod内的多个容器原创 2021-02-26 10:30:29 · 691 阅读 · 0 评论 -
k8s之pod管理详解
一.service(一)Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应用可以方便地实现服务发现和负载均衡;service默认只支持4层负载均衡能力,没有7层功能,可以通过其他方式(Ingress)实现(二)service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个NodeIP:nodePort都将路由到ClusterIP原创 2021-02-23 22:01:14 · 718 阅读 · 0 评论 -
k8s之pod管理
一.Pod管理Pod是可以创建和管理Kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC、Network和UTC namespacekubectl命令(一)创建Pod应用# 上一篇已经指定私有镜像仓库,保证私有仓库有此镜像kubectl run app --image=myapp:v1kubectl run demo --image=busyboxp原创 2021-02-23 14:17:41 · 600 阅读 · 0 评论 -
Kubernetes集群部署
一.Kubernetes简介(一)在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应用了很多年,Borg系统运行管理着成千上万的容器应用(二)Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了Borg系统中的经验和教训(三)Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将最终的应用服务交给用户(四)Kubernetes的好处:1.隐藏资源管理和错误处理,用户仅需要关注应用的开发2.服务高可用、高原创 2021-02-03 21:58:50 · 169 阅读 · 0 评论