1. 前提条件就不再详细描写了:

  1. 关闭防火墙
  2. 升级内核到至少4.
  3. 关闭swap
  4. 关闭selinux

2. 本次安装采用酸酸乳和privoxy的方式进行, 不过发现部分rpm 包还是特别慢,没办法用vps从境外下载rpm包进行安装.

  1. 酸酸乳的方式不在描述
  2. 我这边是买了一个 某商的月5.88刀的service
  3. 设置到CentOS的服务器上面
  4. 然后设置privoxy
  5. 设置 proxy
    我还有有一个年费49刀的vps
    (自费 !-_-!)

3. 发现docker iamges 可以pull 但是  rpm包 下载实在是非常非常的缓慢, 没办法 改用某商vps下载rpm包

  1. vps 上面上 首先创建 rpm
  2. vim /etc/yum.repos.d/kubernetes.repo
  3.  
  4. 添加内容
  5.  
  6. [kubernetes]
  7. name=Kubernetes
  8. baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
  9. enabled=
  10. gpgcheck=
  11. repo_gpgcheck=
  12. gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
  13. exclude=kube*

下载最新的rpm包

  1. yumdownloader kubelet-1.18.- kubectl-1.18.- kubeadm-1.18. --disableexcludes=kubernetes

将下载好的文件放到 安装好 酸酸乳的centos服务器上面

4. centos 上面安装这三个包

  1. yum localinstall *.rpm

5. kubeadm 进行初始化

  1. kubeadm init --pod-network-cidr=10.244.0.0/
  2.  
  3. 注意如果之前有 kubeadm的集群的化 需要先执行
  4. kubeadm reset

等待教程时间就可以完成操作了 注意 这个时候需要能连网下载部分images才可以

注意设置好了之后需要进行一下 配置文件更新

  1. sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

这样就可以直接执行命令

  1. kubectl get nodes
    注意单节点测试服务时需要将master节点设置能够部署pod
    kubectl taint nodes --all node-role.kubernetes.io/master-
    不然无法使用.
    另外部署calico 要保证 80端口不被占用
    lsof -i:80
    如果端口被占用 会造成 pod无法正常开启.

6. 安装calico

  1. 一般说 flannel的性能不如calico 所以这次实验改用 calico
    建议还是在能上外网的情况下进行
  2.  
  3. 获取配置文件
    mkdir /root/calico
    wget -c https://docs.projectcalico.org/v3.8/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
    下载完成之后执行命令
    kubectl apply -f calico.yaml

7. 安装ingress-nginx

  1. mkdir /root/ingress-nginx
  2. wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/mandatory.yaml
  3.  
  4. 修改一下配置文件 image 上一层的配置文件加上
  5. hostNetwork: true
  6. 使之能够提供服务
  7. 注意层级与containers 这一层相同
  8. spec:
  9. # wait up to five minutes for the drain of connections
  10. terminationGracePeriodSeconds:
  11. serviceAccountName: nginx-ingress-serviceaccount
  12. hostNetwork: true
  13. nodeSelector:
  14. kubernetes.io/os: linux
  15. containers:
  16. - name: nginx-ingress-controller
  17. image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.30.0
  18.  
  19. 然后一样的执行一下 kubectl apply -f manadatory.yaml 即可

8. 重启一下服务器进行验证

我这边的效果为

  1. [root@k8s143 ingress-nginx]# kubectl get nodes
  2. NAME STATUS ROLES AGE VERSION
  3. k8s143 Ready master 51m v1.18.0
  4. [root@k8s143 ingress-nginx]# kubectl get pods --all-namespaces
  5. NAMESPACE NAME READY STATUS RESTARTS AGE
  6. ingress-nginx nginx-ingress-controller-77db54fc46-cfnsl / Running 34m
  7. kube-system calico-kube-controllers-77c5fc8d7f-pwk68 / Running 26m
  8. kube-system calico-node-lsqg2 / Running 26m
  9. kube-system coredns-66bff467f8-gv4m7 / Running 51m
  10. kube-system coredns-66bff467f8-hnrxb / Running 51m
  11. kube-system etcd-k8s143 / Running 51m
  12. kube-system kube-apiserver-k8s143 / Running 51m
  13. kube-system kube-controller-manager-k8s143 / Running 51m
  14. kube-system kube-proxy-hx74q / Running 51m
  15. kube-system kube-scheduler-k8s143 / Running 51m
  16. [root@k8s143 ingress-nginx]#

9. 下载好的 images和rpm包如下

  1. REPOSITORY TAG IMAGE ID CREATED SIZE
  2. calico/node v3.8.8- 3610c051aa19 days ago 192MB
  3. calico/cni v3.8.8- ca2a236d9210 days ago 161MB
  4. calico/kube-controllers v3.8.8 7125b7d47e9f days ago .9MB
  5. k8s.gcr.io/kube-proxy v1.18.0 43940c34f24f days ago 117MB
  6. k8s.gcr.io/kube-controller-manager v1.18.0 d3e55153f52f days ago 162MB
  7. k8s.gcr.io/kube-apiserver v1.18.0 74060cea7f70 days ago 173MB
  8. k8s.gcr.io/kube-scheduler v1.18.0 a31f78c7c8ce days ago .3MB
  9. calico/pod2daemon-flexvol v3.8.8 cacd6d732f12 weeks ago .38MB
  10. quay.io/kubernetes-ingress-controller/nginx-ingress-controller 0.30. 89ccad40ce8e weeks ago 323MB
  11. k8s.gcr.io/pause 3.2 80d28bedfe5d weeks ago 683kB
  12. k8s.gcr.io/coredns 1.6. 67da37a9a360 months ago .8MB
  13. sapcc/tiller v2.15.2 9bdad03644c7 months ago .1MB
  14. k8s.gcr.io/etcd 3.4.- 303ce5db0e90 months ago 288MB

需要的rpm包为

  1. -rw-r--r-- root root Apr : 2d6ec4ae24a355c5818174f39e212f116cbd796cabcc113a68fc613d3d1fe147-kubeadm-1.18.-.x86_64.rpm
  2. -rw-r--r-- root root Apr : 3d1298e3f34961565204febc5da169d1ac3673b7eb772a7bc19c2b310526b0e8-kubelet-1.18.-.x86_64.rpm
  3. -rw-r--r-- root root Apr : cf6754a3497c5c05de050f2409eb3b2854467967cf359a8ed9c6e6c32808c7de-kubectl-1.18.-.x86_64.rpm

CentOS76 安装k8s1.18的简单步骤的更多相关文章

  1. Flume1.9.0的安装、部署、简单应用(含分布式、与Hadoop3.1.2、Hbase1.4.9的案例)

    目录 目录 前言 什么是Flume? Flume的特点 Flume的可靠性 Flume的可恢复性 Flume的一些核心概念 Flume的官方网站在哪里? Flume在哪里下载以及如何安装? 设置环境变 ...

  2. VMware 安装CentOS 6.5图文步骤 以及安装后无法联网的解决办法

    一.VMwareWorkstation10 中安装Centos6.5(64位)步骤: 首先下载vmware 和centos6.5 1. 打开VMware-workstation点击“新建虚拟机”,到向 ...

  3. dell 7559 安装Manjaro 18

    本来是装黑苹果的,折腾好几天都装好了,是可以正常使用的,可是clover始终有一个问题,每次启动前需要覆盖一遍EFI分区内EFI目录的CLOVER目录内的所有文件,方能引导MAC. 不然就卡Init ...

  4. linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点. vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BS ...

  5. eclipse安装Axis2插件和简单的webservice发布

    2019独角兽企业重金招聘Python工程师标准>>> Axis2与CXF是现在很主流的WebService开发框架(java6也已经支持了),项目上还都是基本上用前两种做开发,今天 ...

  6. Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器

    1 安装 1.1 下载和安装 1.2 什么是REPL?如何使用? 1.3 npm对单一模块的安装和删除功能 1.4 通过package.json自定义模块(安装模块) 1.5 设置全局目录 2 部署网 ...

  7. 使用autotools工具用configure、make、make install编译安装linux工程的详细步骤

    使用autotools工具用configure.make.make install编译安装linux工程的详细步骤 转载tmxkwzy 最后发布于2016-11-24 10:20:15 阅读数 324 ...

  8. kubespray-2.14.2安装kubernetes-1.18.10(ubuntu-20.04.1)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. VirtualBox安装Debian6的方法和步骤(详细)

    下面是用VirtualBox安装Debian6的方法和步骤 l 新建一个文件夹,用于存放虚拟硬盘,如Debian l 打开VirtualBox,点击新建 l 输入虚拟机名称,Debian_6 l 给虚 ...

随机推荐

  1. LeetCode--链表1-单链表

    LeetCode--链表1-单链表 单链表模板 初始化 头部插入 尾部插入 删除节点 Index插入 Index返回对应的节点指针和val值 class MyLinkedList { private: ...

  2. 密码学习(一)——Base64

    简介 Base64是一种非常常用的数据编码方式,标准Base64可以把所有的数据用"A~Z,a~z,0~9,+,/,="共65个字符(‘=’号仅是一个占位符,作为后缀)表示,当然在 ...

  3. java反序列化-ysoserial-调试分析总结篇(5)

    前言: 这篇文章继续分析commonscollections5,由如下调用链可以看到此时最外层的类不是annotationinvoke,也不是priorityqueue了,变成了badattribut ...

  4. Nuxt简单使用Google/Baidu Analyze

    博客地址: https://www.seyana.life/post/17 具体账号注册方法和绑定方法可以去到官网下,都有相应的指南, 一般设置也比较简单,只需要把对应js代码添加到head中即可, ...

  5. VUE实现Studio管理后台(完结):标签式输入、名值对输入、对话框(modal dialog)

    一周的时间,几乎每天都要工作十几个小时,敲代码+写作文,界面原型算是完成了,下一步是写内核的HTML处理引擎,纯JS实现.本次实战展示告一段落,等RXEditor下一个版本完成,再继续分享吧.剩下的功 ...

  6. CORS(cross-origin-resource-sharing)跨源资源共享

    其实就是跨域请求.我们知道XHR只能访问同一个域中的资源,这是浏览器的安全策略所限制,但是开发中合理的跨域请求是必须的.CORS是W3的一个工作草案,基本思想就是:使用自定义的HTTP头部让浏览器与服 ...

  7. oracle的wm_concat函数实现行转列

    有以下数据 deptname phone username isboss 部门A 电话1 员工A 0 部门A 电话1 领导A 1 部门B 电话2 员工B 0 部门B 电话2 员工C 0 部门B 电话2 ...

  8. feign源码解读

    对于feign的接口请求失败的重试配置可通过如下自定义配置文件实现(一般不建议配置) @Configuration public class FeignConfig { @Bean public Re ...

  9. spring Boot登录验证之验证码 邮箱

    一 验证码 登录login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java&qu ...

  10. tars之springboot的初步使用

    公司要求使用tars框架,现学习的,听老大讲的经验和看的一些技术博客,感觉和SpringCloud有些相似,不过内部有自己的规范,基于rpc实现的服务与服务之间的远程调用,而cloud的远程调用是基于 ...