首页
学习
活动
专区
工具
TVP
发布

sktj

专栏成员
1542
文章
1965270
阅读量
34
订阅数
Kubernetes(11:打包)
Helm有两个重要的概念:chart和release。 chart是创建一个应用的信息集合,包括各种Kubernetes对象的配置模板、参数定义、依赖关系、文档说明等。chart是应用部署的自包含逻辑单元。可以将chart想象成apt、yum中的软件安装包。 release是chart的运行实例,代表了一个正在运行的应用。当chart被安装到Kubernetes集群,就生成一个release。chart能够多次安装到同一个集群,每次安装都是一个release。
用户5760343
2019-09-24
3920
Kubernets(8:自检)
用户通过Liveness探测可以告诉Kubernetes什么时候通过重启容器实现自愈;Readiness探测则是告诉Kubernetes什么时候可以将容器加入到Service负载均衡池中,对外提供服务。
用户5760343
2019-09-24
5350
Kubernetes(6:访问)
出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节 点。如果希望将k8s-master也当作Node使用,可以执行如下命令: kubectl taint node k8s-master node-role.kubernetes.io/master- 如果要恢复Master Only状态,执行如下命令: kubectl taint node k8s-master node-role.kubernetes.io/master="":
用户5760343
2019-09-24
4840
Kubernetes(5:运行)
Controller类型:Deployment Replicaset DaemonSet StatefuleSet Job 1 部署 kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2 2 查看 kubectl describe deployment nginx-deployment
用户5760343
2019-09-24
3570
Kubernetes(4:架构)
Master 是cluster 的大脑: 运行 kube-apiserver kube-scheduler kube-controller-manager etcd pod restful api scheduler 调度器Scheduler负责决定将Pod放在哪个Node上运行。Scheduler在调度 时会充分考虑Cluster的拓扑结构,当前各个节点的负载,以及应用对高可用、性能、数据亲和性的需求。 Controller Manager负责管理Cluster各种资源,保证资源处于预期的状态。Controller Manager由多种controller组成,包括replicationcontroller、endpoints controller、namespace controller、serviceaccounts controller等。 etcd负责保存Kubernetes Cluster的配置信息和各种资源的状态信息。当数据发生变化时,etcd会快速地通知Kubernetes相关组件。 Pod要能够相互通信,Kubernetes Cluster必须部署Pod网络,flannel是其中一个可选方案。
用户5760343
2019-09-24
3430
Kubernetes(3:部署)
1 3个节点: k8s-master k8s-node1 k8s-node2 2 yum install -y docker 3 所有节点安装kubelet kubeadm kubectl 4 master执行:105为MASTER的IP,网络方案是flannel kubeadm init --apiserver-advertise-address 192.168.56.105 --pod-network-cidr=l0.244.0.0/16 5 master配置kubectl,不要用root用户 su - ubuntu mdkir -p xx/.kube sudo cp -i /etc/kubernetes/admin.conf xx/.kube/config sudo chown ubuntu:root xx/.kube/config echo "source <(kubectl completion bash)" >>~/.bashrc 6 master安装pod网络(使用flannel) kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 7 查看token: kubeadm token list 8 两台node注册到master kubeadm join --token xxxxxx masterip:6443 9Master上查看node kubectl get nodes
用户5760343
2019-09-24
6090
Kubernetes(1)
1、部署应用 kubectl run kubernetes-bootcamp --image=docker.io/kubernetes-bootcamp:v1 --port=8080 2 Pod:容器的集合,同一个Pod中的所有容器共享IP地址和PORT空间。 查看Pods kubectl get pods 3 映射容器端口 kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port=8080 4查看映射的端口 kubectl get services 5查看副本数 kubectl get deployments 6增加副本数 kubectl scale deployments/kubernetes-bootcamp --replicas=3
用户5760343
2019-09-24
4470
Kubernetes(2:概念)
cluster 计算存储和网络资源的集合,利用这些资源运行各种基于容器的应用。 Master 负责调度,运行在LINUX中。 Node 负责运行容器,由MASTER管理,监控和汇报容器状态,运行在LINUX上。 Pod:容器的集合,同一个Pod中的所有容器共享IP地址和PORT空间,是最小单位。 Service:外界访问容器。 Namespace:Namespace 可以将一个物理的Cluster 逻辑上划分成多个虚拟Cluster,每个Cluster 就是一个Namespace o 不同Namespace 里的资源是完全隔离的。Kubernetes 默认创建了两个Namespace,default :创建资源时如果不指定, 将被放到这个Namespace 中。kube-system: Kubernetes 自己创建的系统资源将放到这个Namespace 中。 Controller:Kubernetes 通常不会直接创建Pod ,而是通过Controller 来管理Pod 的。Controller 中定义了Pod 的部署特性,比如有几个副本、在什么样的Node 上运行等。为了满足不同的业务场景, Kubernetes 提供了多种Controller ,包括Deployment 、ReplicaSet 、DaemonSet 、StatefuleSet、Job。 C 1 ) Deployment 是最常用的Controller,比如在线教程中就是通过创建Deployment 来 部署应用的。Deployment 可以管理Pod 的多个副本,并确保Pod 按照期望的状态运行。 C 2) ReplicaSet 实现了Pod 的多副本管理。使用Deplo严nent 时会自动创建ReplicaSet, 也就是说Deployment 是通过ReplicaSet 来管理Pod 的多个副本的,我们通常不需要直接使用ReplicaSeto ( 3 ) DaemonSet 用于每个Node 最多只运行一个Pod 副本的场景。正如其名称所揭示 的, DaemonSet 通常用于运行daemon 。 C 4) StatefuleSet 能够保证Pod 的每个副本在整个生命周期中名称是不变的,而其他 Controller 不提供这个功能。当某个Pod 发生故障需要删除并重新启动时, Pod 的名称会发生变化,同时StatefuleSet 会保证副本按照固定的顺序启动、更新或者删除。 ( 5) Job 用于运行结束就删除的应用,而其他Con往oller 中的Pod 通常是长期持续运行。
用户5760343
2019-09-24
3460
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档