![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kubernetes
文章平均质量分 63
L.Sir
这个作者很懒,什么都没留下…
展开
-
Kubernetes Ingress-Nginx实现灰度发布
目录背景介绍Ingress-Nginx-Annotation Canary 功能介绍基于权重的小规模版本测试基于header的A/B测试基于cookie的流控总结背景介绍某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在0.21版本引入了Canary功能,可以为网关入口配置多个版本的应用程序,使用annotation来控制多个后端服务的流量分配。Ingress-转载 2021-02-24 16:02:04 · 650 阅读 · 1 评论 -
kubernetes单节点数据备份与恢复
下载etcd如果集群使用kubeadm搭建的话需要在master节点下载etcd服务yum install -y etcd备份etcd数据ETCDCTL_API=3 etcdctl --endpoints=https://[127.0.0.1]:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key=/etc/kubernetes/pki/e原创 2021-02-18 15:11:44 · 207 阅读 · 0 评论 -
k8s之滚动更新、金丝雀发布、蓝绿发布
k8s Pod三种升级方式哪几种发布方式滚动更新金丝雀发布蓝绿发布演示时间滚动更新金丝雀发布蓝绿发布哪几种发布方式滚动更新滚动更新通过设置MaxSurge和MaxUnavailable来规定可以有多少个额外的Pod和可以忍受多少个Pod无法提供服务(两个参数可以为0,但是不能同时为0),在整个更新的过程中都是平滑无缝衔接。金丝雀发布金丝雀发布,又称:灰度发布,在k8s中通过暂停滚动跟新来实现灰度发布。灰度发布,是将一个新的版本放入到整个集群中,当没有发现问题后再将其他Pod进行更新。原创 2020-12-07 17:31:06 · 1965 阅读 · 0 评论 -
kubernetes收集Pod日志
k8s日志收集方案三种方案优缺点对比方式优点缺点方案一:Node上部署一个日志收集程序每个Node仅需部署一个日志收集程序消耗资源少,对应用无侵入应用程序日志需要写到标准输出和标准错误输出,不支持多行日志方案二:Pod中附加专用日志收集的容器低耦合每个Pod启动一个收集代理,增加资源消耗,且增加运维维护成本方案三:应用程序直接推送日志无需额外收集工具侵入应用,增加应用复杂度以第二种方案收集NGINX日志为例搭建Kibana和Elasticsea原创 2020-07-07 15:21:12 · 2928 阅读 · 0 评论 -
kubernetes-RBAC权限管理
RBAC 可授权对象PodsConfigMapsDeploymentsNodesSecretsNamespacesendpointscrontabsjobsDaemonsets以上资源对象可授权操作有:creategetdeletelistupdateediswatchexec创建一个用户对dev namespace下的Pod只有create和get权限创建Clusterkubectl config set-cluster dev-cluster --se原创 2020-06-20 14:24:46 · 229 阅读 · 0 评论 -
kubernetes亲和性调度策略
环境描述Node节点选择器nodeSelectornodeSelector基于node节点label选择匹配的节点apiVersion: v1kind: Podmetadata: name: nodeselector-demo labels: app: myappspec: containers: - name: myapp image: nginx nodeSelector: app: node-2删除此pod修改nodeSelect原创 2020-06-10 15:45:05 · 490 阅读 · 0 评论 -
kubernetes基于storageClass实现动态存储
部署NFS服务参见文章:NFS服务安装创建rbac权限kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata: name: nfs-client-provisioner-runnerrules:- apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "create", "delete"]- api原创 2020-06-05 11:48:26 · 1038 阅读 · 0 评论 -
kubernetes ImagePullSecret的创建与使用
创建secretkubectl create secret docker-registry <secret名称(docker-image-secret)> --namespace=<命名空间名称> --docker-username=<镜像仓库用户名> --docker-password=<镜像仓库密码> --docker-server=<镜像仓库地址> 创建serviceaccount关联secretapiVersion: v1kind原创 2020-06-03 17:51:16 · 6852 阅读 · 0 评论 -
kubernetes之confingmap的使用
常用创建configmap方式命令行模式kubectl create configmap nginx-config --from-literal=nginx_port=888 --from-literal=server_name=myapp.test.com[root@k8s0 ~]# kubectl describe cm nginx-configName: nginx-configNamespace: devLabels: <none>A原创 2020-05-28 16:49:34 · 253 阅读 · 0 评论 -
kubernetes之ingress配置https
创建测试证书openssl genrsa -out nginx.key 2048openssl req -new -x509 -key nginx.key -out nginx.crt -subj /C=CN/ST=Beijing/L=Beijing/O=ssltest/CN=www.test.com其中CN=www.test.com为想要访问的域名创建secretkubectl create secret tls nginx-secret --cert=nginx.crt --key=ngin原创 2020-05-23 10:47:21 · 724 阅读 · 0 评论 -
k8s高可用集群搭建
环境说明[root@ha ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)主机名IP地址说明master-1192.168.3.128master-2192.168.3.131master-3192.168.3.132node-1192.168.3.133haprox主机ha192.168.3.134haproxy主机VIP192.168.3.10原创 2020-05-12 17:27:34 · 752 阅读 · 0 评论 -
k8s更换过期证书
首先查看当前证书到期时间for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`;do openssl x509 -in $item -text -noout| grep Not;echo ======================$item===================;done备份过期证书备份证书cp -rp /etc/kubernetes /etc/kubernetes.bak更新新证书生成新证书原创 2020-05-11 18:46:28 · 5139 阅读 · 0 评论 -
k8s搭建日志收集工具
环境准备修改内核参数sysctl -w vm.max_map_count=262144安装kibana与elasticsearchkind: ListapiVersion: v1items:- apiVersion: apps/v1 kind: Deployment metadata: name: kb-single spec: selector:...原创 2020-04-23 11:18:31 · 457 阅读 · 0 评论 -
k8s中ResourceQuota与LimitRange的作用
什么是NamespaceNamespace是对全局系统资源的一种封装隔离,使处于不同Namespace的进程拥有独立的系统资源。通过不同的Namespace可以合理地管理不同的服务。他们相互隔离,但又可以相互通信。常见的pods,services,replication,controllers和persistentVolumes等都是属于某一个Namespace的(默认为default),但是...原创 2020-03-30 19:31:14 · 2402 阅读 · 2 评论 -
基于k8s搭建Jenkins Slave
创建pv与pvc创建数据持久化目录mkdir /data/jenkins-dataecho "/data/jenkins-data 192.168.0.0/20(rw,sync,all_squash)" >> /etc/exportsystemctl restart nfs创建PV与PVCapiVersion: v1kind: Namespacemetada...原创 2020-03-26 18:32:58 · 564 阅读 · 0 评论 -
k8s——持久化存储之nfs
准备所有k8s节点需要安装nfs服务一台nfs服务器提供存储根据需求创建数据挂载目录例如我的:创建PV// vi pv-nfs.yamlapiVersion: v1kind: PersistentVolumemetadata: name: web-pv labels: app: web-pvspec: capacity: storage: 1...原创 2019-12-31 15:58:15 · 655 阅读 · 0 评论 -
k8s——部署一个nginx应用
创建nginx-deployment.yaml文件apiVersion: apps/v1kind: Deploymentmetadata: name: nginxdeployspec: replicas: 1 selector: matchLabels: name: nginxdeploy template: metadata: la...原创 2019-11-01 14:35:00 · 1529 阅读 · 0 评论 -
k8s——通过暴漏端口实现外部访问服务
通过nodeport暴漏端口修改nginx-service.yaml文件apiVersion: v1kind: Servicemetadata: name: nginxdeployspec: type: NodePort ports: - port: 82 protocol: TCP targetPort: 80 name: http ...原创 2019-11-01 14:33:25 · 2806 阅读 · 0 评论 -
使用 kubeadm安装kubernetes v1.15.3
环境准备主机说明主机名IP地址角色master192.168.50.184k8s_masternode192.168.50.56k8s_node所有节点均需做以下操作关闭防火墙与selinux关闭防火墙systemctl stop firewalldsystemctl disable firewalld关闭selinuxseten...原创 2019-09-17 17:24:03 · 1758 阅读 · 1 评论