随笔分类 - k8s
摘要:kube-system命名空间pod启动一直:ContainerCreating K8S中coredns服务提示: networkPlugin cni failed to set up pod "coredns-c8c45564f-dpwmw_kube-system" network: open /
阅读全文
摘要:1. 探针 探针分为3种 livenessProbe (存活探针)∶判断容器是否正常运行,如果失败则杀掉容器(不是pod),再根据重启策略是否重启容器 readinessProbe(就绪探针)∶判断容器是否能够进入ready状态,探针失败则进入noready状态,并从service的endpoint
阅读全文
摘要:rancher部署K8S对内核有要求,要求5.4以上版本的内核 cat >update-kernel.sh <<EOF #!/bin/bash sudo yum install -y https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noa
阅读全文
摘要:#!/bin/sh pods=`kubectl get pods -n prod |grep $1|awk '{print \$1}'` for pod in $pods do echo $pod; kubectl exec -it --tty -n prod $pod -- cat /sys/fs
阅读全文
摘要:# 每天0点执行这个脚本,用于切割nginx日志 for pod in $(kubectl get pods -n service-a | grep gateway | awk '{print $1}'); do kubectl exec -ti -n service-a $pod -- /bin/
阅读全文
摘要:#!/bin/bash /bin/kubeadm alpha certs renew all cd cp /root/.kube/config /root/.kube/bak-config-$(date +%F) #备份原来的文件 /bin/\cp /etc/kubernetes/admin.con
阅读全文
摘要:cat start_k8s.sh #!/bin/bash for i in `cat /tmp/replicas.txt`;do kubectl scale deployment `echo $i | awk -F ":" '{print $2}'` -n `echo $i | awk -F ":"
阅读全文
摘要:kubectl create secret -n service-a docker-registry secret_name --docker-server=registry_name_url --docker-username=ci-user --docker-password=123456 --
阅读全文
摘要:如果把日志保存在容器内部或通过数据卷挂载在宿主机上还是保持在远程存储上,比如保存在容器内部,也就是说没有经过任何改动,自是在容器里原封不动的启动了,起来之后日志还是和原来一样保持在原来的目录里,但是这个容器是会经常的删除,销毁和创建是常态。因此我们需要一种持久化的保存日志方式。 如果日志还是放在容器
阅读全文
摘要:1. 定义目标与规则istio 服务网格中对服务进行了进一步抽象:可以使用 Pod 标签对具体的服务进程进行分组;可以定义服务的负载均衡策略;可以为服务指定 TLS 要求;可以为服务设置连接池大小。istio 中,同一服务不同组别的后端被称为 子集(Subset) ,也经常被称为 服务版本 。在 i
阅读全文
摘要:简介 Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控等功能,而不需要对服务的代码做任何改动。 istio 适用于容器或虚拟机环境(特别是 k8s),兼容异构架构。 istio 使用 sidecar(边车模式)代理服务的网络,不需要对业务代码本身做任何的改
阅读全文
摘要:三种收集方案的优缺点: 下面我们就实践第二种日志收集方案 一:安装ELK 1.安装jdk yum install -y java-1.8.0-openjdk 2.添加ELK源 cat << EOF >>/etc/yum.repos.d/logstash.repo [logstash-7.x] nam
阅读全文
摘要:K8S正常部署应用是如下方式 kubectl create deployment web --image=nginx --dru-run=client -o yaml > web.yaml kubectl expose web --port=80 --target-port=80 --type No
阅读全文
摘要:Kubernetes作为容器集群系统,通过健康检查+重启策略实现了Pod故障自我修复能力,通过调度算法实现将Pod分布式部署,并保持预期副本数,根据Node失效状态自动在其他Node拉起Pod,实现了应用层的高可用性。 针对Kubernetes集群,高可用性还应包含以下两个层面的考虑:Etcd数据库
阅读全文
摘要:镜像制作网上有很多教程,本地镜像仓库也有很多教程,这里不去详细介绍和部署了 生成yaml文件 kubectl create deployment web --image=fage/java-demo:v1 --dry-run=client -o yaml >deployment.yaml 部署前需要
阅读全文
摘要:kubernetes使用etcd数据库实时存储集群中的数据,安全起见,一定要备份 需要指定使用etcdctl的版本 etcd数据库备份是使用数控快照的方式进行备份的,备份后的新数据不会保留,后面创建的pod也会被清除掉 kubeadm方式 kubeadm部署方备份: 首先需要安装etcdctl 命令
阅读全文
摘要:ETCD证书 自签证书颁发机构(CA) ca.crt ca.key etcd集群中相互通信事业的客户端证书 peer.crt peer.key pod中定义Liveness探针事业的客户端证书 healthcheck-client.crt healrhcheck-client.key etcd节点服
阅读全文
摘要:TLS Bootstraping:在kubernetes集群中,Node上组件kebelet和kube-proxy都需要与kube-apiserver进行通信,为了增加传输安全性,采用https方式, 这就涉及到node组件需要具备kube-apiserver用的证书颁发机构CA签发客户端证书,当规
阅读全文
摘要:master组件 kube-apiserver kubernetes API集群的同一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给APIserver处理再提交给Etcd存储 kube-controller-manager 处理集群中常规后台任务,一
阅读全文
摘要:kubernetes安全框架 访问K8S集群的资源需要过三关:认证、鉴权、准入控制,任意一个不通过都会失败 普通用户若要安全访问集群API server,往往需要证书、token或者用户名+密码,pod访问需要ServiceAccout K8S安全控制框架主要由下面三个阶段进行控制,每个阶段都支持插
阅读全文

浙公网安备 33010602011771号