Kubernetes
Kubernetes
Linux_白菜
一个IT大白
展开
-
Kubernetes命令操作
#创建并且运行pod kubectl run --image=nginx nginx-app --port=80 --env="DOMAIN=cluster" deployment "nginx-app" created#查看pod信息 kubectl get pods#查看pod详细信息 kubectl get pods -o wide#查看各组件详细信息 ...原创 2019-12-30 11:03:47 · 141 阅读 · 0 评论 -
Istio示例-故障注入
#访问“ratings”头部信息带“exact: jason”的请求超时7秒apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata: name: ratingsspec: hosts: - ratings http: - match: - headers: end-user: exact: jason fault: delay:原创 2021-08-31 10:09:34 · 184 阅读 · 0 评论 -
istio服务条目(ServiceEntry)
image: ccr.ccs.tencentyun.com/ imagePullPolicy: IfNotPresent name: test resources: limits: cpu: "2" memory: 2Gi requests:...转载 2021-08-11 14:11:31 · 229 阅读 · 0 评论 -
Kubernetes部署Coredns
背景:当集群node节点故障上面还在运行Pod,贸然关机重启会丢失Pod数据,严重造成节点故障流程:先将该故障节点进行隔离 将运行在该节点的Pod驱逐转载 2021-07-23 16:40:39 · 130 阅读 · 0 评论 -
Istio安装YAML模板
apiVersion: install.istio.io/v1alpha1kind: IstioOperatorspec: profile: default values: # grafana: # enabled: true # tracing: # enabled: true # gateways: # istio-ingressgateway: # sds: # enabled: true .原创 2021-07-23 16:34:32 · 375 阅读 · 0 评论 -
配置Docker加速源
mkdir -p /etc/docker/cat>/etc/docker/daemon.json<<EOF{ "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": [ "https://fz5yth0r.mirror.aliyuncs.com", "https://dockerhub.mirrors.nwafu.edu.cn/", "https://mirror..原创 2021-07-23 16:33:07 · 399 阅读 · 0 评论 -
将Pod完成创建后的信息注入为环境变量
apiVersion: v1kind: Podmetadata: name: test namespace: test-namespacespec: containers: - name: test-pod image: busybox env: - name: POD_NAME valueFrom: fileRef: filePath: metadata.name - name: POD_NAMESPA.原创 2021-06-11 10:57:15 · 371 阅读 · 1 评论 -
部署nacos
kubectl apply -f - <<EOF#构建命名空间apiVersion: v1kind: Namespacemetadata: name: nacos-system---#应用kind: DeploymentapiVersion: apps/v1beta1metadata: #名称 name: nacos #命名空间 namespace: nacos-systemspec: #配置标记k8s1.16必填 selector: .原创 2021-05-06 10:50:34 · 130 阅读 · 0 评论 -
Kubernetes中Yaml的参数lifecycle
概念:创建资源对象时,可以使用lifecycle来管理容器在运行前和关闭前的一些动作 PostStart:容器创建成功后,运行前的任务,用于资源部署、环境准备等。 PreStop:在容器被终止前的任务,用于优雅关闭应用程序、通知其他系统等等。 yaml语法:containers:- image: sample:v2 name: war lifecycle: postStart: exec: comma.原创 2021-02-25 11:25:48 · 833 阅读 · 0 评论 -
Kubernetes面试问题
Kubernetes包含几个组件,各个组件的功能是什么,组件之间是如何交互的?答: 组件有: scheduler:负责根据规则资源合理化的原则来调度容器运行在哪台节点上 controller-manager:负责控制容器的运行个数,保证容器健康稳定运行,监控pod运行状态 kube-proxy:负责将本机上的pod与其他node节点上的pod进行网络通信,以及将pod的端口转发到本机端口 etcd:以key/value形式存储,通常部署集群,负责存储当前节点所有信息,包括所.原创 2021-02-24 17:48:26 · 245 阅读 · 0 评论 -
Kubernetes部署Apollo多环境
创建K8s命名空间namespace.yamlapiVersion: v1kind: Namespacemetadata: name: apolloapollo-portal的web界面管理端portal-configmap.yamlapiVersion: v1kind: ConfigMapmetadata: name: apollo-portal namespace: apollodata: application-github.properties: |原创 2021-01-25 11:11:09 · 449 阅读 · 0 评论 -
清理Docker无用数据,删除无用容器
环境简介:kubernetes集群运行时间长的时候会发现Node节点的磁盘不够用,可以发现是Docker占用资源,查看可以看到很多之前上线遗留下来的旧镜像,以及一些待机Pod查看docker占用资源大小[root@k8s-01 ~]# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 16原创 2020-12-30 10:02:22 · 716 阅读 · 0 评论 -
Kubernetes的Node污点与Pod亲和性
简介:添加污点的Node节点默认不会参与日常调度,有两种策略分别为“NoSchedule”和“NoExecute”,加入污点的Node只有在Pod的Yaml文件设置相对应的容忍,Pod才会调度到该节点,但是注意不是NoSchedule:软策略,表示尽量不调度到污点节点上去,只会影响到新的pod而不会对已经运行在该Node节点其他pod造成影响NoExecute:该选项意味着一旦 Taint 生效,如该节点内正在运行的 pod 没有对应 Tolerate 设置,会直接被逐出eg:NoSch.原创 2020-12-24 14:08:05 · 366 阅读 · 0 评论 -
Docker常用小操作
通过阿里云提供yum源下载docker服务wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repoyum list docker-ce --showduplicates | sort -ryum -y install docker-ce-18.09.9-3.el7配置docker镜像下载加速curl -sSL https://get.原创 2020-12-07 10:18:37 · 98 阅读 · 0 评论 -
Kubernetes组件RBAC
Role:管理某一命名空间下pods,pods/log,pods/exec,deployment等资源。ClusterRole:管理面更广,可以授予整个namespace下的所有资源,以及Node级别的资源。操作的资源对象:pods pods/log pods/exec configmaps deployments nodes secrets namespaces操作create get delete list update edit watch execRo原创 2020-12-03 18:08:15 · 3533 阅读 · 0 评论 -
Kubernetes驱逐节点上的Pod
驱逐后该node节点将不参与被调度,Pod无法被调度到该节点上,该节点可以进行"关机/重启"等操作,对集群无感#驱逐节点上的所有Pod(包括Daemonset的容器)kubectl drain <node name> --ignore-daemonsets#驱逐节点上的所有Pod(不包括Daemonset的容器)kubectl drain <node name> --ignore-daemonsets=flase----------------------原创 2020-11-03 11:32:34 · 1677 阅读 · 0 评论 -
kubectl命令补全
yum install -y bash-completionsource /usr/share/bash-completion/bash_completionsource <(kubectl completion bash)echo "source <(kubectl completion bash)" >> ~/.bashrc原创 2020-10-30 14:40:02 · 138 阅读 · 0 评论 -
Kubernetes的Dashboard创建
使用令牌登陆dashboardwget http://pencil-file.oss-cn-hangzhou.aliyuncs.com/blog/kubernetes-dashboard.yamlvim kubernetes-dashboard.yamlapiVersion: v1kind: Secretmetadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard-certs names原创 2020-10-30 14:38:46 · 166 阅读 · 0 评论 -
Linux搭建minikube
kubectl到下面地址下载kubectl客户端,cp到/usr/local/bin之后chmod +xhttps://github.com/kubernetes/kubernetes/releasesdockeryum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reporpm --import http://mirrors.aliyun.com/docker原创 2020-10-30 14:32:18 · 191 阅读 · 0 评论 -
Kubernetes创建Kibana
Kubernetes创建ES集群https://blog.csdn.net/qq_41674452/article/details/109351320kibana.yamlapiVersion: v1kind: Servicemetadata: name: kibana namespace: elk labels: app: kibanaspec: ports: - port: 5601 type: NodePort selector: app原创 2020-10-29 10:20:56 · 133 阅读 · 0 评论 -
Kubernetes创建ES集群
创建命名空间kubectl create namespace elkes-deployment.yamlapiVersion: apps/v1kind: StatefulSetmetadata: name: es-test #名字和下面的变量改成一样,不然启动报错 namespace: elkspec: serviceName: elasticsearch replicas: 3 selector: matchLabels:原创 2020-10-29 09:52:23 · 213 阅读 · 0 评论 -
istio组件[gateway]
Istio-GateWay:负责控制域名流量的请求(请求/拒绝),以及一些证书配置apiVersion: networking.istio.io/v1alpha3kind: Gatewaymetadata: name: test-gateway-wai namespace: apmspec: #选择定义的ingressgateway,即为外网负载均衡 selector: istio: ingressgateway app: istio-ingressgateway原创 2020-10-23 14:20:17 · 407 阅读 · 0 评论 -
[Grafana]-Grafana-YAML
grafana-deployment.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata: name: grafana namespace: kube-system labels: app: grafanaspec: revisionHistoryLimit: 10 template: metadata: labels: app: grafana spec:原创 2020-10-22 12:00:40 · 593 阅读 · 0 评论 -
Kubernetes创建NFS的Storageclass
创建NFS的Deploymentkind: DeploymentapiVersion: apps/v1metadata: name: nfs-client-provisionerspec: replicas: 1 selector: matchLabels: app: nfs-client-provisioner strategy: type: Recreate template: metadata: labels:原创 2020-10-21 09:11:59 · 274 阅读 · 0 评论 -
Apollo配置中心多环境定制部署
服务名称 服务器地址 MySQL 192.168.3.1 config,admin,portal 192.168.3.1 三种环境:PRO,DEV,FAT一.下载源码,未build版GitHub官方地址:https://github.com/ctripcorp/apollo.git国内Gitee下载地址:https://gitee.com/nobodyiam/apollo(活跃度底)二.MySQL导入sql,初始化并且更改表内容1>导入sqlmy原创 2020-10-12 14:44:11 · 275 阅读 · 0 评论 -
[Python脚本]抓取一Deployment下所有Pod的qps
#!/usr/bin/python# -*- coding: UTF-8 -*-#===========================================================##该脚本根据匹配到的Deployment进入到每个Pod下面抓取Nginx的QPS#zabbixServer端可以获取到值,客户端无法通过该脚本获取#主要用于zabbix获取qps#=========================================================.原创 2020-10-09 14:05:22 · 753 阅读 · 0 评论 -
Kubernetes给Pod添加hosts解析
apiVersion: v1kind: Podmetadata: name: hostaliases-podspec: restartPolicy: Never hostAliases: - ip: "127.0.0.1" hostnames: - "foo.local" - "bar.local" - ip: "10.1.2.3" hostnames: - "foo.remote" - "bar.remote" contain.原创 2020-09-23 11:19:55 · 1047 阅读 · 0 评论 -
istio安装
istioctl安装安装包地址:https://github.com/istio/istio/releasesexport ISTIO_VERSION=1.6.0curl -L https://istio.io/downloadIstio | sh -30min later...#配置istioctl命令tar -zxvf istio-1.6.0-linux-amd64.tar.gzmv istio-1.6.0 /usr/local/istioecho "export PATH=/usr原创 2020-08-25 14:14:15 · 226 阅读 · 0 评论 -
Kubernetes组件HPA
apiVersion: autoscaling/v2beta1kind: HorizontalPodAutoscalermetadata: namespace: apm name: api-autoscaler labels: app: api-autoscalerspec: scaleTargetRef: apiVersion: apps/v1beta2 kind: Deployment name: api-app minReplicas: 2.原创 2020-07-24 13:55:05 · 172 阅读 · 0 评论 -
Ceph搭建
主机名 IP 角色 ceph1 192.168.3.1 monitor,admin ceph2 192.168.3.2 monitor ceph3 192.168.3.3 osd,mds ceph4 192.168.3.4 osd,mds 磁盘准备(cepn3,ceph4)mkfs.xfs /dev/sdbmkdir -p /var/local/osd0 ...原创 2020-07-09 18:25:56 · 196 阅读 · 0 评论 -
Dockerfile编写规则
From docker.io/ubuntu:latestRUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list#修改apt源RUN apt-get clean && apt-get update && m.原创 2020-07-07 15:48:24 · 256 阅读 · 0 评论 -
开启Istio-sidecar注入
通过修改namespace实现自动注入kubectl label namespaces auto istio-injection=enabledkubectl edit namespace auto原创 2020-06-11 14:41:38 · 291 阅读 · 0 评论 -
Python获取nginx-pod的QPS
#!/usr/bin/python# -*- coding: UTF-8 -*-#===========================================================##该脚本根据匹配到的Deployment进入到每个Pod下面抓取Nginx的QPS#zabbixServer端可以获取到值,客户端无法通过该脚本获取#主要用于zabbix获取qps#使用模块os,commands,time,sys,re#============================.原创 2020-06-01 13:58:40 · 505 阅读 · 0 评论 -
Kubernetes部署zk集群
apiVersion: v1kind: Servicemetadata: name: zk-hs namespace: new5x labels: app: zkspec: ports: - port: 2888 name: server - port: 3888 name: leader-election clusterIP: None selector: app: zk---apiVersion: v1kind: Servic.原创 2020-05-29 17:31:18 · 291 阅读 · 0 评论 -
Istio功能[灰度发布]
自定义流量百分比apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata: name: nginx-pubshingspec: hosts: - 'test1.test.com' gateways: - nginx-gateway http: - route: - destination: host: nginx subset: v1 w原创 2020-05-29 15:12:58 · 177 阅读 · 0 评论 -
Istio组件IngressGateway
创建HTTPS证书的secretkubectl create -n istio-system secret generic all-test.com-credential --from-file=key=private.key --from-file=cert=full_chain.pem创建网关kubectl apply -f test-gateway.yamlapiVersion: networking.istio.io/v1beta1kind: Gatewaymetadata:原创 2020-05-27 16:33:39 · 939 阅读 · 0 评论 -
Prometheus监控Kubernetes各项指标
Pod监控1.POD内存使用率container_memory_rss :是Pod实际使用内存数container_spec_memory_limit_bytes: 是分配给Pod的内存配额sum(container_memory_rss{container!="POD",container!="alermanager",image!="",pod!=""})by(pod) / sum(container_spec_memory_limit_bytes{container!="",con.原创 2020-05-19 13:33:43 · 5456 阅读 · 0 评论 -
Kubernetes组件Traefik
vimtraefik-rbac.yamlapiVersion: v1kind: ServiceAccountmetadata: name: traefik-ingress-controller namespace: kube-system---kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1beta1metadata: name: traefik-ingress-controllerrules: - ap.原创 2020-05-08 18:14:58 · 208 阅读 · 0 评论 -
Dockerfile构建自己的tomcat项目
拉取基础镜像较慢[root@txy-150-110 ~]# cat /etc/docker/daemon.json{ "log-driver": "json-file", "log-opts": { "max-size": "1G", "max-file": "3" }, "exec-opts": ["native.cgroup...原创 2020-05-07 18:05:25 · 213 阅读 · 0 评论 -
Kubernetes搭建metric server
简介相当于旧版本的heapster,可以查看集群中所有Nodes以及Pods的CPU内存资源使用情况转载 2020-03-31 14:58:17 · 268 阅读 · 1 评论