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

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

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

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

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

在 vps 上面上 首先创建 rpm 源
vim /etc/yum.repos.d/kubernetes.repo 添加内容 [kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=
gpgcheck=
repo_gpgcheck=
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kube*

下载最新的rpm包

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

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

4. centos 上面安装这三个包

yum localinstall *.rpm

5. kubeadm 进行初始化

kubeadm init --pod-network-cidr=10.244.0.0/

注意如果之前有 kubeadm的集群的化 需要先执行
kubeadm reset

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

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

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

这样就可以直接执行命令

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

6. 安装calico

一般说 flannel的性能不如calico 所以这次实验改用 calico
建议还是在能上外网的情况下进行 获取配置文件
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

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

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

我这边的效果为

[root@k8s143 ingress-nginx]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s143 Ready master 51m v1.18.0
[root@k8s143 ingress-nginx]# kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
ingress-nginx nginx-ingress-controller-77db54fc46-cfnsl / Running 34m
kube-system calico-kube-controllers-77c5fc8d7f-pwk68 / Running 26m
kube-system calico-node-lsqg2 / Running 26m
kube-system coredns-66bff467f8-gv4m7 / Running 51m
kube-system coredns-66bff467f8-hnrxb / Running 51m
kube-system etcd-k8s143 / Running 51m
kube-system kube-apiserver-k8s143 / Running 51m
kube-system kube-controller-manager-k8s143 / Running 51m
kube-system kube-proxy-hx74q / Running 51m
kube-system kube-scheduler-k8s143 / Running 51m
[root@k8s143 ingress-nginx]#

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

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

需要的rpm包为

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

最新文章

  1. rmarkdown教程
  2. python学习笔记-(十六)python操作mysql
  3. Java:通过反射复制父类字段到子类。
  4. 不在折腾----hadoop-2.4.1完全分布式集群搭建
  5. MyBatis出错Result Maps collection does not contain value for java.lang.Integer
  6. 论文笔记之:From Facial Parts Responses to Face Detection: A Deep Learning Approach
  7. iOS 复选框风格转换 Switchery 开关效果
  8. 印象烟大PPT大赛
  9. pypi 的使用
  10. VoiceEngine获取硬件信息
  11. OpenStack命令 创建网络和路由管理
  12. android6.0动态权限处理<一>
  13. 【转】Swig 使用指南
  14. xml 和数组的相互转化
  15. Java安全套接字扩展——JSSE
  16. Windows系统maven安装配置
  17. linux-shell系列3-wafAPI
  18. 使用stylus
  19. django by example 第五章 No module named 'sorl-thumbnail'
  20. MATLAB——单层感知器

热门文章

  1. .Net Core调用oracle存储过程
  2. Asp.Net Core Endpoint 终结点路由之中间件应用
  3. LeetCode 153.Find Minimum in Rotated Sorted Array(M)(P)
  4. CSS的四种样式
  5. 04 namenode和datanode
  6. 什么是SSH与SSH客户端
  7. Python学习字典.基础三
  8. 【Java实用工具】——使用oshi获取主机信息
  9. 03 Uipath调用VBA脚本,处理excel文档格式
  10. js 随机产生100个0~1000之间的整数