一. 创建Redis的deployment和service 1. 创建Redis deployment redis-master-deployment.yaml  apiVersion: apps/v1 # use apps/v1beta2 kind: Deployment metadata: name: redis-master labels: app: redis spec: selector: matchLabels: app: redis role: master tier: backe…
Kubernetes 远程工具连接k8s集群 1.将Master的kubectl文件复制到Node内 scp k8s/kubernetes/server/bin/kubectl root@192.168.1.110:/root/ 2.创建admin证书的json文件.证书为:k8s管理员证书 { "CN": "admin", "hosts": [], "key": { "algo": "rsa&q…
k8s集群Job Pod 容器可能因为多种原因失效,想要更加稳定的使用Job负载,有哪些需要注意的地方? 面试官:"计数性Job默认完成模式是什么?Indexed模式如何发布自定义索引呢?" 面试官:"k8s的Job Pod 中的容器可能因为多种不同原因失效,想要更加稳定的使用Job负载,有哪些可以注意的地方?" 面试官:"为什么k8s建议在调试 Job 时将 `restartPolicy` 设置为 "Never"?" 面试官…
一.概述 一般情况下,在k8smaster节点上集群管理工具kubectl是连接的本地http8080端口和apiserver进行通讯的,当然也可以通过https端口进行通讯前提是要生成证书.所以说kubectl不一定部署在master上,只要能和apiserver进行通讯,那么你可以将kubectl部署在任何一台你想连接到集群的主机上,以下将介绍基于证书的kubectl部署方式,以下基于kubernets1.13部署. 二.生成ca证书 如果已经有了ca证书那就不需要在生成了,只需要利用该证书…
基于Kubeadm 搭建K8s集群: 通过上一篇博客,我们已经基本了解了 k8s 的基本概念,也许你现在还是有些模糊,说真的我也是很模糊的.只有不断地操作去熟练,强化自己对他的认知,才能提升境界. 我们就去搭建一个集群来感受一下.我这里搭建的一个Master 2个 Worker.尽量保持机器环境干净,我由于minikube没装好导致kubelet一直无法启动. 配置要求(官网推荐https://kubernetes.io/docs/setup/production-environment/too…
这一块自己没做测试,与平台樊娟娟沟通后,直接从history命令里面找到的相关命令,感谢原作者以及提供帮助的同事网友.如果有问题后续再改. 1. 在服务里面增加endpoint 见图 创建 连接名称随意 服务器URL 应该是 APIserver的路径 kubeconfig 应该是创建的TFSadmin的用户信息 樊娟娟的创建方法是: kubectl create sa tfs-admin -n kube-system kubectl create clusterrolebinding tfs-a…
kubernetes认证,授权概括总结: RBAC简明总结摘要:API Server认证授权过程: subject(主体)----->认证----->授权[action(可做什么)]------>准入控制[Object(能对那些资源对象做操作)] 认证: 有多种方式,比较常用的:token,tls,user/password 账号: k8s中账号的概念不是我们理解的账号,它并不真的存在,它只是形式上存在. 它有两种账号: UserAccount(人使用的账号), ServiceAccou…
     前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行.当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了.但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源,导致系统变得很慢.据说windows 上的WSL 2 性能不错,这次我尝试在WSL Linux上安装K8s并部署我们的微服务,看看还会不会出现系统资源消耗过大的情况.      关于网络:我用的是…
前言:上篇已介绍了jenkins在k3s环境部署,本篇继续上篇讲述流水线构建部署流程 1.从gitlab上拉取代码步骤 在jenkins中,新建一个凭证:Manage Jenkins -> Manage Credentials 点击jenkins -> 全局凭据 -> 添加凭据:选择用户名和密码类型,输入用户名和密码,点击创建 编写pipeline script脚本,拉取代码 选择git代码仓库还有凭证等信息,点击"生成流水线脚本",即帮我们生成了拉取代码的脚本 复制…
Prometheus 监控K8S集群中Pod 目前cAdvisor集成到了kubelet组件内,可以在kubernetes集群中每个启动了kubelet的节点使用cAdvisor提供的metrics接口获取该节点所有容器相关的性能指标数据.cAdvisor对外提供服务的默认端口为***4194***,主要提供两种接口: Prometheus格式指标接口:nodeIP:4194/metrics(或者通过kubelet暴露的cadvisor接口nodeIP:10255/metrics/cadviso…
今天给同事 一个k8s 集群 出现not ready了 花了 40min 才搞定 这里记录一下 避免下载 再遇到了 不清楚. 错误现象:untime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized 解决办法: docker pull quay.io/coreos/flann…
我们需要做以下工作: (1)安装VMware,运行CentOs系统,一个做master,一个做node. (2)安装K8s. (3)安装docker和部分镜像会需要访问外网,所以你需要做些网络方面的准备工作,大家可以去某宝找一下,或者在网络上找别人下好的也可以. 一.安装VMware 官网地址:https://my.vmware.com/zh/web/vmware/downloads  (网上有很多自带破解的下载,大家也可以找一下) 我这里下载的是VM15(安装和新建虚拟机的步骤就跳过了,我也是…
之前体验了minikube,掉深坑里至今还没有爬出来,玩单节点用minikube够了, 但傻瓜试的安装让人对k8s理解不是很深刻(坑),而且多节点好像有什么奇怪的问题 所以我这次要用两个虚拟机来模拟k8s集群   一主节点一工作节点 hostname     ipaddr cpu 硬盘 内存 OS docker k8s m1 1921.168.1.200 2 20G  2G   centos7 18 1.16.2 w1 1921.168.1.201 2 20G  2G   centos7 18…
一.简介 简介请参考:https://www.cnblogs.com/panwenbin-logs/p/10218099.html 二.安装Harbor主机环境及安装要求 主机环境: OS: CentOS Linux release (Core) kernel:- mem: 4GB python: Base&EPEL:aliyun  harbor组件: 组件 版本 Postgresql 9.6.10-1.ph2 Redis 4.0.10-1.ph2 Clair 2.0.8 Beego 1.9.0…
kubernetes是google开源的容器集群管理系统,提供应用部署.维护.扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应用,简称:k8s(k与s之间有8个字母) Pod:若干相关容器的组合,Pod包含的容器运行在同一host上,这些容器使用相同的网络命令空间.IP地址和端口,相互之间能通过localhost来发现和通信.另外,这些容器还可共享一块存储卷空间.在k8s中创建,调度和管理的最小单位就是Pod,而非容器,Pod通过提供更高层次的抽象,提供了更加灵活的部署和管…
一开始写了一个client-java版本的,但是java放在k8s集群上跑需要装jvm而且java的包比较大,client-go版本更适合主机端,下面是整个实现 说明:k8s官方维护的客户端库只有go和python版本,所以为了稳定性建议使用这两个版本,考虑到k8s是go实现的,我这里也就选择go版本.至于客户端连接k8s集群,在具体的生产环境中不建议外部连接访问.原因一是生产环境中的k8s配置文件重要,一般如果对接其他公司的业务,虽然有鉴权,人家也不愿意把配置文件拷贝给你,因为有了集群的配置文…
K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y install epel-release 2. 关闭防火墙服务和selinx,避免与docker容器的防火墙规则冲突 # systemctl stop firewalld # systemctl disable firewalld # setenforce 0 3. 安装配置Kubernetes Maste…
K8S集群搭建 摘要 是借鉴网上的几篇文章加上自己的理解整理得到的结果,去掉了一些文章中比较冗余的组件和操作,力争做到部署简单化. K8S组件说明 Kubernetes包含两种节点角色:master节点和minion节点 Master 节点负责对外提供一系列管理集群的 API 接口,并且通过和 Minion 节点交互来实现对集群的操作管理. Minion 节点是实际运行 Docker 容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能. master节点组件 apiser…
本文中所有带引号的命令,请手动输入引号,不知道为什么博客里输入引号,总是自动转换成了中文 基本组成 pod:k8s 最小单位,类似docker的容器(也许) 资源清单:资源.资源清单语法.pod生命周期 调度器:将容器分配到对应pod的功能组件(描述应该没错吧) 服务发现:通过暴露地址和端口,让客户端访问 存储组成: configMap:配置文件 secret:安全相关 volume:数据 安全体系:集群认证.体系.访问控制 HELM :貌似包含了一些集群一键部署的命令 证书:k8s许可只有一年…
一.概述 详情参考阿里云说明:https://help.aliyun.com/document_detail/98886.html?spm=a2c4g.11186623.6.1078.323b1c9bpVKOry 项目资源分配(数据库.中间件除外): 二.部署镜像仓库 1) 部署docker-compose,然后参考下文部署docker. $ sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/dock…
1. k8s集群的安装 目录 1. k8s集群的安装 1.架构: 2.环境准备 3.master节点安装etcd 4. master节点安装kubernetes 5.node节点安装kubernetes 6.所有节点配置flannel网络 7.配置master为镜像仓库 Kubernetes借鉴了Borg的设计理念,比如Pod.Service.Labels和单Pod单IP等.Kubernetes的整体架构跟Borg非常像,如下图所示: 1.架构: 除了核心组件,还有一些推荐的Add-ons: 组…
二进制方法-部署k8s集群部署1.18版本 1. 前置知识点 1.1 生产环境可部署kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式 kuberadm Kubeadm是一个K8s部署工具,提供kubeadm init和kubeadm join,用于快速部署Kubernetes集群. 二进制包 从github下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群. Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查.如果想更容易可控,…
Linkerd 是 Kubernetes 的服务网格. 它通过为您提供运行时调试(runtime debugging).可观察性(observability).可靠性(reliability)和安全性(security),使运行服务更轻松.更安全 - 所有这些都不需要对您的代码进行任何更改. 服务网格是用于处理服务间通信的专用基础设施层.它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求.实际上,服务网格通常通过一组轻量级网络代理来实现,这些代理与应用程序代码一起部署,而不需要感知应…
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token过期处理 Kubeadm Node及Calico节点配置 Dashboard&Metrics Server安装 k8s高可用架构解析 Etcd Cluster:键值数据库,存放k8s的数据,比如我们创建的资源,所做的变更 Master:控制节点,控制整个集群 Node:主要用来跑pod和容器 Kub…
目录 二进制Metrics&Dashboard安装 二进制高可用集群可用性验证 生产环境k8s集群关键性配置 Bootstrapping: Kubelet启动过程 Bootstrapping: CSR申请和证书颁发原理 Bootstrapping: 证书自动续期原理 二进制Metrics&Dashboard安装 安装CoreDNS 安装Metrics Server 安装dashboard 安装CoreDNS 安装对应版本(推荐) cd /root/k8s-ha-install/ 如果更改了…
感谢!原文链接:https://blog.csdn.net/sinat_35930259/article/details/79994078 kubectl是k8s的客户端程序,也是k8s的命令行工具,kubectl提供了大量的子命令可以让用户和集群进行交互.kubectl不一定部署在master上,可在master或node节点上执行,用户通过kubectl连接到master上然后将命令通过master分发到集群的node节点上. 默认情况下是在执行k8s集群安装的master节点,默认连接本地…
1.K8s集群升级 集群升级有一定的风险,需充分测试验证后实施 集群升级需要停止服务,可以采用逐个节点滚动升级的方式 1.1 准备新版本二进制文件 查看现在的版本 root@k8-master1:~# /usr/local/bin/kube-apiserver --version Kubernetes v1.21.0 1.1.1 从github上下载需要版本的二进制安装包,比如 1.21.5 root@k8-deploy:~/k8s-update/kubernetes-v1.21.5## ll…
本文首发于 Nebula Graph Community 公众号 解决思路 解决 K8s 部署 Nebula Graph 集群后连接不上集群问题最方便的方法是将 nebula-algorithm / nebula-spark 运行在与 nebula-operator 相同的网络命名空间里,将 show hosts meta 的 MetaD 域名:端口 格式的地址填进配置里就可以了. 注:这里需要 2.6.2 或者更新的版本,nebula-spark-connector / nebula-algo…
1.概述 Kubenetes集群的控制平面节点(即Master节点)由数据库服务(Etcd)+其他组件服务(Apiserver.Controller-manager.Scheduler...)组成. 整个集群系统运行的交互数据都将存储到数据库服务(Etcd)中,所以Kubernetes集群的高可用性取决于数据库服务(Etcd)在多个控制平面(Master)节点构建的数据同步复制关系. 由此搭建Kubernetes的高可用集群可以选择以下两种部署方式: 使用堆叠的控制平面(Master)节点,其中…
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 0x01 环境准备 主机规划 软件版本 网络规划 0x02 安装部署 1.准备基础主机环境配置 2.负载均衡管理ipvsadm工具安装与内核加载 3.高可用HAProxy与Keepalived软件安装配置 4.容器运行时containerd.io安装配置 5.安装源配置与初始化集群配置准备 6.使…