按照官网教程https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/,master节点kubectl init,每个从节点kubectl join之后,在master节点执行kubectl get pods -n kube-system,发现coredns一直处于pending状态 网上找的资料都是安装一个网络插件,怕他们乱写不敢这样做,最后在官网上找到了答案,地址是:https://kubernetes.io/zh/docs/setup/production-environment/tools/kubea...
一、在一个节点配置资源清单[root@sx7-22 ~]# vim nginx-ds.yamlapiVersion: extensions/v1beta1
kind: DaemonSet
metadata:name: nginx-ds
spec:template:metadata:labels:app: nginx-dsspec:containers:- name: my-nginximage: harbor.od.com/public/nginx:v1.7.9ports:- containerPort: 80二、配置和检查[root@sx7-22 ~]# kubectl create -f nginx-ds.yaml
daemonset.extensions/nginx-ds created
[root@sx7-22 ~]# kubectl get...
前文介绍使用ingress结合traefik实现了入口的动静分离,本文将在前文基础上实现ingress的https配置。为了简单且高效,建议应用容器化部署之后,https卸载在ingress这一级实现。通俗一点来说就是用户到ingress的连接走https协议,ingress到后端服务的连接走https协议。我们对https的配置要求也比较简单,主要如下:1、http自动重定向到https2、https支持虚拟主机(TLS SNI)一、初始环境准备1、这里为了方便测试,把前文配置的网站动...
1.服务器要求:建议最小硬件配置:2核/2G/20G
网络需求:最好能访问外网,需要拉取一些必要的镜像;若没有网络条件,需要提前导入必要的镜像2.kubeadm常用工具功能:?kubeadm init:初始化一个Master节点
?kubeadm join:将工作节点加入集群
?kubeadm upgrade:升级K8s版本
?kubeadm token:管理 kubeadm join 使用的令牌
?kubeadm reset:清空 kubeadm init 或者 kubeadm join 对主机所做的任何更改
?kubeadm version:打印 kube...
1.登录到k8s master服务器$ ssh developer@192.168.3.2482.查看服务容器所在的节点(以wx-server为例)$ kubectl get pods -nwx -o wide3.远程连接所在节点$ ssh <节点>4.筛选出正在运行的容器(以wx-server为例)$ docker ps | grep wx5.进入docker(以wx-server为例)$ docker exec -it <docker container> sh6.修改相关代码vi <文件名>7.重启docker$ docker restart <docker container>注:此处不需要删除原有的k8s pod,直接重启相关...
Kubeconfig 用途kubectl 命令行工具通过 kubeconfig 文件的配置来选择集群以及集群API Server通信的所有信息。kubeconfig 文件用来保存关于集群用户、命名空间和身份验证机制的信息。默认情况下 kubectl 读取 $HOME/.kube/config 文件,也可以通过设置环境变量 KUBECONFIG 或者 --kubeconfig 指定其他的配置文件。Kubeconfig 文件结构kubeconfig 文件主要由下面几部分构成:集群参数用户参数上下文参数当前上下文apiVersion: v1
ki...
使用kubeadm部署k8s集群00-缓存rpm包
2018/4/12鉴于部分童鞋不知道如何缓存 rpm 包到本地,本文作为简单指导下述操作在国外节点上操作使用官方 yum 源# mkdir k8s_rpms && cd k8s_rpms
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/...
kubeadm部署k8s集群目录kubeadm部署k8s集群环境准备安装docker-ce安装kubeadm使用kubeadm初始化k8s集群master节点配置flannel网络metric-server弹性伸缩StatefulSet 资源Job资源CronJob资源官方文档环境准备主机IP配置软件k8s-adm-master10.0.0.152核2Gdocker-ce,kubelet,kubeadm,kubectlk8s-adm-node110.0.0.162核2Gdocker-ce,kubelet,kubeadm,kubectl关闭:selinux,firewalld和NetworkManager,postfix(非必须)修改IP地...
一、部署环境操作系统:CentOS Linux release 7.6.1810 (Core)安装软件:docker:18.06.3-cekubernetes:v1.15.4二、部署架构: 部署开始前,先把主机名改成如上图所示。同时修改/etc/hosts,如下: 三、部署过程1、安装docker(所有节点)1.1、卸载可能存在的依赖包sudoyum remove docker docker-common container-selinux docker-selinux docker-engine1.2、安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源sudoy...
Etcd 是一个分布式键值存储系统,Kubernetes使用Etcd进行数据存储,所以先准备一个Etcd数据库,为解决Etcd单点故障,应采用集群方式部署,这里使用3台组建集群,可容忍1台机器故障,当然,你也可以使用5台组建集群,可容忍2台机器故障。1 准备cfssl证书生成工具
cfssl是一个开源的证书管理工具,使用json文件生成证书,相比openssl更方便使用。找任意一台服务器操作,这里用Master节点。
wget https://pkg.cfssl.org/R1.2/cfssl_li...
K8s二进制生产环境扩容node节点由于项目微服务也是部署在k8s集群中去维护的,所以扩容node节点也是必要的联系,扩容node节点一定要保证你整个集群的容器环境的网络都是互通的,这也是很重要的一步,这里我根据自己的经验去扩容,仅供参考首先我这里是安装的二进制方式去部署的k8s集群,进行扩容node的时候,也是非常方便的扩容node节点分为两步,第一步先将我们旧的node节点上的配置先去拷贝到我们新的节点上,第二点就是将我们的容...
目录k8s调度器SchedulerScheduler工作原理请求及Scheduler调度步骤:k8s的调用工作方式常用预选策略常用优先函数节点亲和性调度节点硬亲和性节点软亲和性Pod资源亲和调度Pod硬亲和调度Pod软亲和调度Pod反亲和调度污点和容忍度定义污点和容忍度effect定义排斥等级:在Pod上定义容忍度时:管理节点的污点k8s调度器SchedulerScheduler工作原理请求及Scheduler调度步骤:节点预选(Predicate):排除完全不满足条件的节点,如内存大小,端...
一、部署环境1.1 主机列表主机名Centos版本ipdocker versionflannel versionKeepalived version主机配置备注lvs-keepalived017.6.1810172.27.34.28//v1.3.54C4Glvs-keepalivedlvs-keepalived017.6.1810172.27.34.29//v1.3.54C4Glvs-keepalivedmaster017.6.1810172.27.34.3518.09.9v0.11.0/4C4Gcontrol planemaster027.6.1810172.27.34.3618.09.9v0.11.0/4C4Gcontrol planemaster037.6.1810172.27.34.3718.09.9v0.11.0/4C4Gcontrol ...
一、环境准备
1.集群规划主机名IP角色VIP20.0.20.200master-VIPk8s-master0120.0.20.201masterk8s-master0220.0.20.202masterk8s-master0320.0.20.203masterk8s-node0120.0.20.204nodek8s-node0220.0.20.205nodek8s-node0320.0.20.206node2.基础环境配置关闭防火墙关闭selinux配置hosts配置master之间的ssh免密登录关闭swap分区sed -i ‘/ swap / s/^\(.*\)$/#\1/g‘ /etc/fstab配置时钟同步systemctl start chronyd
systemctl ena...
一、环境准备 1.准备至少3台CentOS7版本的虚拟机# IP地址 主机名称192.168.1.160 rancher192.168.1.161 master 192.168.1.162 node1 192.168.1.163 node2 192.168.1.164 node3 2.每台虚拟机上需要做的配置1.安装Docker$ yum install -y docker 2.设置hostname$ hostnamectl --static set-hostname rancher #根据下面名称进行对应配置 3.设置host$ vim /etc/hosts# 粘贴配置192.168.1.160 rancher192.168.1.161 master...