【python 操作 K8S】教程文章相关的互联网学习教程文章

入门 - k8s滚动更新部署中的镜像版本【代码】

目标使用 kubectl 执行 Rolling Update(滚动更新)更新应用程序用户期望应用程序始终可用,为此开发者/运维者在更新应用程序时要分多次完成。在 Kubernetes 中,这是通过 Rolling Update 滚动更新完成的。Rolling Update滚动更新 通过使用新版本的 Pod 逐步替代旧版本的 Pod 来实现 Deployment 的更新,从而实现零停机。新的 Pod 将在具有可用资源的 Node(节点)上进行调度。Kubernetes 更新多副本的 Deployment 的版本时,会逐步...

K8s在LinuxONE上搭建(一)【代码】

一、介绍 Kubernetes 是当先炙手可热的技术,它已然成为可开源界的PASS管理平台的标准,当下文章对大多数是对X86平台搭建Kubernetes平台,下面笔者进行在LinuxONE上搭建开源的Kubernetes平台。搭建K8S 平台主流的有两种方法,第一种是基于二进制的搭建,通过一步一步的搭建可以加深对K8S各个服务的理解。官方推荐的自动化部署工具 kubeadm本次使用官方推荐的Kubeadm 的搭建方法, kubedm 把K8S 自身的服务都被K8S自身的pod,除此之外...

k8s部署etcd集群【代码】【图】

1、k8s部署高可用etcd集群时遇到了一些麻烦,这个是自己其中一个etcd的配置文件例如:[Unit] Description=Etcd Server After=network.target After=network-online.target Wants=network-online.target Documentation=https://github.com/coreos[Service]User=k8s Type=notify WorkingDirectory=/var/lib/etcd/ExecStart=/opt/k8s/bin/etcd --data-dir=/var/lib/etcd \--name=ELK-chaofeng04 \--cert-file=/etc/etcd/cert/etcd.p...

k8s nginx ingress配置TLS【代码】

在没有配置任何nginx下,k8s的nginx默认只支持TLS1.2,不支持TLS1.0和TLS1.1默认的 nginx-config(部分可能叫 nginx-configuration)的配置如下:apiVersion: v1 data:allow-backend-server-header: ‘true‘enable-underscores-in-headers: ‘true‘generate-request-id: ‘true‘http-redirect-code: ‘301‘ignore-invalid-headers: ‘true‘max-worker-connections: ‘65536‘proxy-body-size: 20mproxy-connect-timeout: ‘10...

k8s-"节点控制器驱逐Pod"【图】

1 查看node信息# kubectl describe node <node-name>注: Conditions-Ready-Status, 如果节点是健康的且已经就绪可以接受新的Pod。则节点Ready字段为 True。False表明了该节点不健康,不能够接受新的Pod, Unknown表示节点不可达。2 节点控制器驱逐Pod(1) 节点控制器监控节点的健康状况。当节点变得不可触达时(例如,由于节点已停机,节点控制器不再收到来自节点的心跳信号),节点控制器将节点API对象的 NodeStatus Condition 取值...

k8s worker节点【代码】

root@cloud:~# apt-get install -y kubeadm-1.18.1 kubectl-1.18.1 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package kubeadm-1.18.1 E: Couldn‘t find any package by glob ‘kubeadm-1.18.1‘ E: Couldn‘t find any package by regex ‘kubeadm-1.18.1‘ E: Unable to locate package kubectl-1.18.1 E: Couldn‘t find any package by glob ‘...

21,k8s 监控之Heapster+InfluxDB+Grafana:【代码】

Heapster+InfluxDB+Grafana:[root@centos7 ~]# cat influxdb.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata:name: monitoring-influxdbnamespace: kube-system spec:replicas: 1template:metadata:labels:task: monitoringk8s-app: influxdbspec:containers:- name: influxdbimage: registry.cn-hangzhou.aliyuncs.com/google-containers/heapster-influxdb-amd64:v1.1.1volumeMounts:- mountPath: /dataname:...

【k8s】svc-selector【代码】

环境kubernetes 1.20.4Spring Boot 2.5.0-M3目标selector 可以定义选择器,如果这个选择器选中了 Pod,那么会自动将 Pod 的地址关联到服务上。 Pod 的 IP 地址变化了也会自动更新。如果没有定义选择器,那么就需要自己维护 ep 端点。示例Deploy.yamlapiVersion: apps/v1 kind: Deployment metadata:name: spring-k8s spec:selector:matchLabels:app: spring-k8stemplate:metadata:labels:app: spring-k8sspec:containers:- name: s...

k8s与Docker有啥关系【图】

原文引用地址:https://www.cnblogs.com/haha-9527/p/10463466.html 简要介绍: 官方定义1:Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行的Linux机器上,也可实现虚拟化。 官方定义2:k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。 与传统技术对比: 接下来我们看两张经典的图:一、从虚拟化角度:图1: 图1是Docke...

kubeadm单集群部署k8s1.15.1&calico网络【代码】

说明本次实验在Windows下的VMware进行 系统配置及初始化配置在所有的主机执行 容器镜像全部替换为国内可拉取的 pod网络采用calico实验环境主机名IP地址角色OSCPU/MEM网卡/模式平台k8s-master01192.168.181.158masterCentOS7.62C/2Gx1/NATVMwarek8s-node1192.168.181.159node1CentOS7.62C/2Gx1/NATVMwarek8s-node2192.168.181.160node2CentOS7.62C/2Gx1/NATVMware初始配置基本配置为三个主机都需要的操作history格式设置cat >> /etc...

【k8s】Pod-topologySpreadConstraints【代码】

环境kubernetes 1.20.4Spring Boot 2.5.0-M3目标topologySpreadConstraints 表示拓扑分布约束,可以控制 Pod 在某些节点的分布。示例设置地点分布[root@master ~]# kubectl get nodes --show-labels NAME STATUS ROLES AGE VERSION LABELS master Ready control-plane,master 63d v1.20.4 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes....

jenkins 基于https的k8s配置【代码】【图】

一、摘要jenkins 连接低版本的k8s时,不需要验证。但是新版本的启用了https和角色管理 二、安装kubernetes插件登录jenkins,点击 Manage Jenkins --> Manage Plugins --> 可选插件在搜索框中,输入关键字 kubernetes勾选Kubernetes,点击直接安装 等待几分钟,提示安装完成。点击安装完成后重启Jenkins(空闲时) 提示正在重启中 重新登录jenkins,返回首页。点击 Manage Jenkins --> Configure System将网页拉动到最底下,点击新增...

解决k8s"failed to set bridge addr: "cni0" already has an IP address different from 10.244.1.1/24"【转】【代码】

测试环境由于机房断电,导致对应虚拟机暴力重启,之后所在k8s服务error,查看系统日志,发现k8s三个节点的flannel文件均丢失。 1.首先我们重新配置k8s的flannel文件,可以参考其他环境的文件配置,也可以重新安装插件生成,会在/run下面生成flannel文件夹,下面包含网络配置环境变量 注明:三个节点的subnet网段不能相同2.重配flannel之后发现,有两个节点依然不能分配网络,导致服务error 查看error的pod日志,发现报错,对应节...

Ubuntu上k8s集群里创建证书【代码】【图】

证书: k8s里创建证书(使用证书文件命令创建):kubectl create secret tls scdsc-org-cn --cert=/etc/letsencrypt/live/scdsc.org.cn/fullchain.pem --key=/etc/letsencrypt/live/scdsc.org.cn/privkey.pem -n gymopk8s里创建证书(yaml文件创建):apiVersion: v1 data:tls.crt: (certtag)tls.key: (keytag) kind: Secret metadata:labels:cattle.io/creator: normanname: scdsc-org-cnnamespace: gymop type: kubernetes.io/tl...

linux运维、架构之路-K8s Secret & Configmap【代码】

一、介绍 应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名、密码或者秘钥等。这些信息保存在镜像中不太好。Secret会以密文方式存储数据,避免直接在配置文件中保存敏感信息,Secret会以Volume的形式被mount到Pod,容器通过文件的方式使用Secret中的敏感数据;此外,容器也可以通过环境变量的方式使用这些数据。二、Secret1、创建Secret①通过 --from-literakubectl create secret generic mysecret --from-liter...