ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kubernetes

2020-05-31 16:03:12  阅读:291  来源: 互联网

标签:kubernetes ngx 镜像 docker com pod


说明:用kubeadm部署kubernetes

一、主机环境预设

  1. 借助ntp服务设置各节点时间同步
  2. 通过dns完成各节点主机名称解析,使用hosts文件完成
  3. 关闭各节点的iptables与firewalld服务,并确保他们被禁止随系统引导过程启动
  4. 各节点禁用selinux
  5. 各节点禁用所有的swap设备
  6. 若要使用ipvs模型的proxy,各节点还需要载入ipvs相关的模块

1、systemctl restart chronyd 启动chronyd同步时间
date 查看各服务器时间是否一致,如果出现EDT时令而不是CST,则执行
mv /etc/localtime /etc/localtime.bak
ln –s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date
4 setenforce 0 or vi /etc/selinux/config
5 swapoff –a or vi /etc/fstab 注释swap行
6 见照片,加载ipvs模块

二、安装程序包

1安装docker 使用阿里云厂库

Wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Yum –y install docker-ce

2 安装k8s安装包

Vi  /etc/yum.repos.d/k8s.repo
[k8s]
name=k8s
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
       https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
yum –y install kubeadm kubectl kubelet

三启动docker

vi /usr/lib/systemd/system/docker.service
增加
Environment="HTTPS_PROXY=http://www.ik8s.io:10070"
Environment="NO_PROXY=192.168.204.0/24,127.0.0.0/8"
ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT 

启动

Systemctl daemon-reload
Systemctl start docker

Sysctl –a |grep bridge

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

设置docker开机自启

Systemctl enable docker

四、启动k8s

1、Kubeadm init --dry-run

检查是否正常

2、如果正常,先获取到镜像docker config images pull (无法从国内网络直接获取)

通过其他方法获取镜像并上传到阿里云镜像库
登陆镜像库
docker login --username=modehouse@126.com registry.cn-shenzhen.aliyuncs.com
tag需上传的镜像
docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/zhiwei/zowie:[镜像版本号]
上传
docker push registry.cn-shenzhen.aliyuncs.com/zhiwei/zowie:[镜像版本号]

回到搭建k8s的服务器上
登陆镜像库,然后下载该镜像
docker pull registry.cn-shenzhen.aliyuncs.com/zhiwei/zowie:[镜像版本号]
并用tag修改为原名称
docker tag  registry.cn-shenzhen.aliyuncs.com/zhiwei/zowie:[镜像版本号] [ImageId]

3、初始化

kubeadm init --pod-network-cidr='10.244.0.0/16'
  • 初始化成功,并根据提示创建config文件
  • kubeadm reset #关闭集群
  • 如果需要添加新加载项,则先进行reset,然后初始化,然后复制config文件

4、to deploy a pod network to the cluster

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

5、查看各个pod是否runing

kubectl get pods -n kube-system 

6、node加入集群

  • 在master上执行: kubeadm token create --print-join-command
  • 将执行结果复制到node1执行
  • 如果加入失败,加-v=’10’ 参数查看日志
  • 如果是no route,则关闭master防火墙尝试

K8S:容器编排

控制面板:

  • Api server :443
    需要用户认证:双向认证
  • Scheduler 进行调度pod到哪个node上
  • Controller 控制器,来做创建、删除等pod操作

Node:工作平面

  • Pode-porxy: 运行pod,并给pod相关的service转换为ipvs
    随时watch api-server上的资源变动然后变动ipvs规则

Pod controller,service

  • Deployment是控制器中的一个pod控制器的类型,用depeloyment进行实例化出ngx-depoly(管理nginx pod的depoly),然后用ngx-depoly创建出nginx pod
    Deployment-ngx-deloly-nginx-pod
  • Service是一个资源类型,用service实例化出一个ngx-service的ngx的service,可以关联到ngx-pod上,从而实现请求调度到nginx-pod
    Servicenginx-svcnginx-pod

概念:node与master是集群概念,统一集群又可以划分不同的namespace名称空间

标签:kubernetes,ngx,镜像,docker,com,pod
来源: https://www.cnblogs.com/zoer/p/13019380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有