Kubernetes学习笔记(持续更新)-程序员宅基地

技术标签: 网络  运维  

1.常用命令

服务启动

[root@k8s-master ~]# systemctl start etcd
[root@k8s-master ~]# systemctl start docker
[root@k8s-master ~]# systemctl start kube-apiserver.service 
[root@k8s-master ~]# systemctl start kube-apiserver.service 
[root@k8s-master ~]# systemctl start kube-controller-manager.service
[root@k8s-master ~]# systemctl start kube-scheduler.service
[root@k8s-master ~]# systemctl start kubelet.service 
[root@k8s-master ~]# systemctl start kube-proxy.service
[root@k8s-master ~]# kubectl expose deployment nginx-app --type=NodePort --port=80 --target-port=80
service "nginx-app" exposed
[root@k8s-master ~]# kubectl describe service nginx-app
Name:            nginx-app
Namespace:        default
Labels:            run=nginx-app
Selector:        run=nginx-app
Type:            NodePort
IP:            10.254.73.139
Port:            <unset>    80/TCP
NodePort:        <unset>    30048/TCP
Endpoints:        172.17.0.2:80
Session Affinity:    None
No events.

滚动升级

[root@k8s-master ~]# kubectl rolling-update frontend-v1 frontend-v2 --image=image:v2

k8s概念

kubernetes集群

etcd:分布式存储;保存了整个集群的状态;

controller:控制节点; 控制节点负责整个集群的管理,例如:容器调度、资源状态维护、自动扩展、滚动更新等;

node:服务节点;服务节点是真正运行容器的主机;负责管理镜像和容器以及cluster内的服务发现和负载均衡;

k8s架构原理

核心层:Kubernetes最核心的功能,对外提供API构建高层应用,对内提供插件式应用执行环境;

应用层:部署(无状态应用、有状态应用、批处理任务、集群应用)和路由(服务发现、DNS解析)

管理层:系统度量()

pod概念

K8S SLB限制

  1. 接入已有的负载均衡的设备;
  2. 多租户的网络情况下,容器网络和主机网络是隔离的,这种情况下Kube-proxy是无法工作的;

核心组件

  1. etcd:用于服务发现、共享配置以及一致性保障;
  2. API server: 核心组件,提供集群管理的REST API接口,
  3. Kubelet: 每个节点上运行一个Kubelet服务进程,默认监听10250端口,接收并执行master发来的指令,管理Pod及Pod中的容器;

容器健康检查

  1. LivenessProbe探针:判断容器是否健康,如若检查到不健康则执行删除操作;
  2. ReadinessProbe探针:判断容器是否启动完成且准备接受请求;如果探测失败则修改容器状态;
  3. LivenessProbe探针检测方式:
ExecAction#在容器内执行一个命令,如果退出状态码为0,则容器健康;
TCPSocketActioon#通过容器的IP地址和端口号执行TCP检查;
HTTPGetAction#通过HTTP GET方法检查,如果状态码大于200且小于400,则容器健康;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34050519/article/details/88939675

智能推荐

关于华为ensp一些报错处理分享及基础命令_error: unrecognized command found at '^' position.-程序员宅基地

文章浏览阅读4.2w次,点赞51次,收藏201次。1.Error: Unrecognized command found at '^' position.这里会发现在输入sys按TAb键时不会自动补全,那我们这是就应该反应过来,肯定是哪里有问题了,比如输入system-view时报错,你注意看是<>还是[]了吗,[]时输入system-view是错误的,也不会自动补全,解决方法是ctrl+z,其实他下面也有提示后来我发现是视图的原因eNSP有种视图模式 : 用户视图 | 系统视图 | 接口视图 ..._error: unrecognized command found at '^' position.

2016.01.24--h5第四天-程序员宅基地

文章浏览阅读293次。css开发工具:Intellij IDEA基本语法selector{ 属性:属性值}属性选择器例如:h1{color:red;font-size:14px;}如果值大于1是一个单词,则需加上引号p{front-famliy:"sans serif"}选择器分组h1,h2,h3{color:red;font-size:14px;}继承body{

通过npm 和 yarn 缓存策略 解决前端打包慢的问题_npm cache verify-程序员宅基地

文章浏览阅读4.3k次。npm特性:串行安装它是按照包的排序,也就是队列挨个下载,一个下载完成后,再下载另一个缓存命令npm cache 提供了三个命令,分别是npm cache add, npm cache clean, npm cache verify。npm cache add官方解释说这个命令主要是 npm 内部使用,但是也可以用来手动给一个指定的 package 添加缓存。(This command..._npm cache verify

jdk升级17 项目报错java.lang.reflect.InaccessibleObjectException-程序员宅基地

文章浏览阅读1.8w次,点赞9次,收藏24次。java11 升级到java17 项目启动正常,执行mybatis 查询的时候报错根据报错信息怀疑mybatis xml 配置问题,发现其实没有问题,jdk11 的时候正常启动reating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3c88e19e] was not registered for synchronization because synchronization is

去掉VC 2005 2008的安全警告提示-程序员宅基地

文章浏览阅读88次。去掉VC 2005 2008的安全警告提示

Dijkstra最短路(迪克斯特拉算法)(C++实现)(邻接矩阵)_c++实现狄克斯算法-程序员宅基地

文章浏览阅读1.3k次。Dijkstra最短路(迪克斯特拉算法)(C++实现)(邻接矩阵)实现代码/*author : eclipseemail : [email protected] : Sun Apr 19 22:11:03 2020*/#include<bits/stdc++.h>using namespace std;const int INF = 0xFFFF;v..._c++实现狄克斯算法

随便推点

引力先知丨5款AI黑科技,水壶居然会唱歌?-程序员宅基地

文章浏览阅读380次。人工智能时代,AI技术已经渗透到人类生活的方方面面。「引力先知」精选了来一些自全球的AI创新产品和技术,汇集成特色栏目,为大家展示那些令人耳目一新的AI黑科技。让我们一起见证科技如何改变世界、改变人类生活。1、MyEye2.0:让盲人轻松“看见”这个世界“利用AI阅读文本和识别面孔,盲人也可以探索世界”OrCam 公司推出的 MyEye2.0,利用AI技术来阅读文本和识别面孔,让视...

nodejs + ueditor 富文本编辑上传图片到aws s3 中-程序员宅基地

文章浏览阅读275次。2019独角兽企业重金招聘Python工程师标准>>> ...

K8s ❉ 配置存储-ConfigMap / secret_k8s configmap secret-程序员宅基地

文章浏览阅读981次。配置存储,ConfigMap和secret的详解_k8s configmap secret

python学习——Python基础之数据基本运算(二)_python中0.00001文本-程序员宅基地

文章浏览阅读394次。核心数据类型在python中变量没有类型,但关联的对象有类型。通过type函数可查看。空值对象 None表示不存在的特殊对象。作用:占位和解除与对象的关联。# 占位:只希望有个变量,指向的对象还不确定。name = Noneskill01 = "乾坤大挪移"# 解除"乾坤大挪移" 与 变量 skill01 的关系skill01 = None整形int1. 表示整数..._python中0.00001文本

poj 1050 【最大子矩阵和DP】-程序员宅基地

文章浏览阅读585次。最大子矩阵问题:问题描述:(具体见http://acm.pku.edu.cn/JudgeOnline/showproblem?problem_id=1050) 给定一个n*n(0Example: 0 -2 -7 0 9 2 -6 2 -4 1

.Net 三款工作流引擎比较:WWF、netBPM 和 ccflow_asp.net 工作流-程序员宅基地

文章浏览阅读3.6k次。http://www.open-open.com/news/view/a6c3ef_asp.net 工作流