9 运维@小兵

尚未进行身份认证

我要认证

技术改变世界

等级
TA的排名 1w+

K8S之Ingress

文章目录一、概念`1.1.NodePort存在的不足``1.2.Ingress`二、部署Ingress Controller(全局的负载均衡)`2.1.下载yaml文件``2.2.下载镜像``2.3修改mandatory.yaml`三、基于HTTP的Ingress规则`3.1.yaml文件``3.2.访问域名`四、基于HTTPS的Ingress规则`4.1.生成自签证书``4.2.创建secret``4.3.Ingress规则`参考视频:https://ke.qq.com/user/index/ind

2020-09-26 16:28:44

openssl生成自签证书

yum install openssl -yopenssl genrsa > cert.keyopenssl req -new -x509 -key cert.key -subj “/CN=common” >cert.pemls

2020-09-26 15:41:00

K8S之Service详解

示例yaml文件tomcat-service.yamlapiVersion: v1kind: Servicemetadata: name: tomcat-servicespec: ports: - port: 8080 name: service-port - port: 8005 name: shutdown-port selector: tier: frontendkubectl apply -f tomcat-service.yaml解释定

2020-09-26 10:22:07

Linux sed用法

一、概念Stream Editor 流式编辑器,逐行处理二、基本语法sed [选项] ‘条件指令’ 文件名2.1.选项-n 屏蔽输出 -i 直接修改文档 -r 支持扩展正则2.2.条件指令= 显示行号 c 整行替换 $c 最后一行替换 3,6p 表示3到6行 3P;6P 3行和6行 1~2p 打印奇数行 3,+10p 第三行和后面的10行2.3.举例sed -n '$d' #删除

2020-09-25 20:40:13

python命令启动一个临时端口,用于测试

非常简单实用的一条命令python -m SimpleHTTPServer 80 &>/dev/null &

2020-09-24 21:47:55

部署kubeedge 1.4启动edgecore组件报错“dial websocket error(x509: cannot validate certificate for 192.168.1.2”

一、websocket认证失败dial websocket error(x509: cannot validate certificate for 192.168.1.1 because it doesn’t contain any IP SANs)二、解决方法2.1.如果手动生成过证书,需先清理(在云端节点操作)kubectl delete secret casecret -nkubeedgekubectl delete secret cloudcoresecret -nkubeedge如

2020-09-22 16:58:01

K8S taint(污点)和tolerations(污点容忍)

一、Taint(污点)1.1概念节点亲和性是 Pod 的一种属性,它使 Pod 被吸引到一类特定的节点 。 这可能出于一种偏好,也可能是硬性要求。 Taint(污点)则相反,它使节点能够排斥一类特定的 Pod。1.2设置污点kubectl taint nodes [Node Name] key=value:[effect]effect可取三种值:NoSchedule #一定不能被调度【常用】PreferNoShedule #尽量不要调度NoExecute #不仅不会调度,而且还会驱

2020-09-20 22:39:56

K8S节点亲和性nodeAffinity

一、nodeAffinity类似于nodeSelector,根据节点上的标签来调度Pod到哪些节点二、调度策略硬策略(required):必须满足,不满足则Pod处于Pending状态软策略(preferred):尝试满足,但不保证操作符:In、NotIn、Exists、DoseNotExist、Gt、Lt三、示例3.1.硬策略affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution:

2020-09-20 15:35:22

K8S创建Pod的过程

参考视频:https://ke.qq.com/user/index/index.html#/plan/cid=1709963&term_id=102815140一、流程图二、具体过程0.kubectl apply -f pod.yaml1.kubectl将yaml文件转换为json,提交给apiserver,apiserver将数据存储到etcd中2.scheduler通过list watch机制监听到创建新Pod的事件,根据Pod属性调度到Node上,同时给Pod打标签指明调度到具体哪

2020-09-19 22:13:31

K8S初始化容器init container

一、特征优先级最高,先于其他容器启动,主要做一些初始化配置,如下载配置文件、注册信息、证书等二、示例在初始化容器中把init container test写入到/work_dir/index.html下,并把/work_dir挂载到/usr/share/nginx/html,那么当访问Nginx首页时显示的内容为init container test三、yaml文件apiVersion: apps/v1kind: Deploymentmetadata: labels: app

2020-09-18 22:10:42

K8S配置健康检查

官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/一、重启策略Always: 当容器终止后,总是重启,默认策略OnFailure: 当容器异常退出(退出状态码非0)时,才重启容器Never: 当容器终止退出,从不重启容器二、健康检查有两种类型2.1.livenessProbe(存活检查)如果检查失败,将杀死容器,根据Pod的重启策

2020-09-17 21:58:32

解决github下载速度慢的问题

转载文章:https://zhuanlan.zhihu.com/p/93436925一、修改本地hosts文件windows系统的hosts文件的位置如下:C:\Windows\System32\drivers\etc\hostsmac/linux系统的hosts文件的位置如下:/etc/hosts二、增加http://github.global.ssl.fastly.net和http://github.com的映射访问https://www.ipaddress.com,分别输入github.gl

2020-09-17 16:36:17

解决K8S Token过期的问题

由于我是用kubeadm搭建的K8s集群,kubeadm创建的Token的默认有效期为24小时,因此24小时后会失效,导致kubectl命令不能使用一、解决办法1.1创建永久tokenkubeadm token create --ttl 0kubeadm token list1.2.过一会Kubectl命令就可以用了,其中原理未知...

2020-09-16 22:01:11

K8S部署skywalking

一、安装K8S集群kubeadm部署k8s v1.16.2+docker 18.06.3集群二、部署skywalking2.1.创建命名空间kubectl create ns skywalking2.2.给节点打标签kubectl label node 节点名 nodetype=wedesign2.3.skywalking-oap.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: oap namespace: skyw

2020-09-16 16:48:12

K8S为 Pod 或容器配置安全性上下文securityContext,解决Docker容器限制文件句柄数的问题

文章目录一、问题浅谈Docker安全性支持二、解决方法`方法一:简单粗暴``方法二:温柔可佳`Capability能力介绍点这里一、问题我需要在容器里面把最大文件句柄数设置为204800,但发现被拒绝。这是Docker自身安全机制导致的浅谈Docker安全性支持二、解决方法方法一:简单粗暴设置容器为特权模式即可,但安全性不高在yaml文件添加如下两行securityContext: privileged: truekubectl apply -f pod-01.yam

2020-09-12 11:14:59

通过WebHook+Jenkins实现不同gitlab相同项目的代码同步

文章目录Jenkins配置jenkins+gitlab+webhook自动触发代码构建同步代码的脚本(配置在Job的Build里)Jenkins配置jenkins+gitlab+webhook自动触发代码构建同步代码的脚本(配置在Job的Build里)time=`date "+%Y%m%d%H%M"`flag=0srcgit="A套gitlab的test项目地址"dstgit="B套gitlab的test项目地址t"branchs=${gitlabSourceBranch} #A

2020-09-10 16:21:54

k8s Deployment示例

tomcat-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: frontendspec: replicas: 1 selector: matchLabels: tier: frontend matchExpressions: - {key: tier, operator: In, values: [frontend]} template: metadat

2020-09-09 21:06:09

K8S部署metrics-server查看集群资源利用率

文章目录参考:https://ke.qq.com/user/index/index.html#/plan/cid=1709963&term_id=102815140git地址:https://github.com/kubernetes-sigs/metrics-server一、原理图二、部署metrics-server2.1下载yaml文件并修改2.2创建metrics-server2.3部署检查三、查看资源使用率参考:https://ke.qq.com/user/index/index.ht

2020-09-05 16:47:19

k8s之pod详解

一、Pod概念1.1. Pod是k8s的最小单位,里面包含一组容器,其中一个为Pause容器,也称为“根容器”。Pod里面的多个业务容器共享Pause容器的网络和Volume卷。1.2. 每个Pod都有一个唯一的IP地址,称之为Pod IP。在K8S集群中,一个Pod里的容器与另外主机上的Pod容器能够直接通信二、定义一个Pod2.1. YAML文件tomcat.yamlapiVersion: v1kind: Podmetadata: name: tomcat labels:

2020-09-05 10:44:27

shell脚本部署k8s集群

github地址:https://github.com/anqixiang/k8s/tree/develop由于相关镜像的离线包上传不到github,因此github只支持在线部署一、脚本说明autoinstall.sh #主脚本config_ssh.sh #配置部署机与k8s所有节点的ssh免密,并把部署包传到所有节点deploy_master.sh #部署master节点deploy_node.sh #部署node节点install_docker.sh #安装docker

2020-08-09 21:42:20

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。