CentOS76 安裝k8s1.18的簡單步驟


1. 前提條件就不再詳細描寫了:

關閉防火牆
升級內核到至少4.19
關閉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=1
gpgcheck=1
repo_gpgcheck=1
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.0-0 kubectl-1.18.0-0  kubeadm-1.18.0 --disableexcludes=kubernetes

將下載好的文件放到 安裝好 酸酸乳的centos服務器上面

4. centos 上面安裝這三個包

yum localinstall *.rpm

5. kubeadm 進行初始化

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

注意如果之前有 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: 300
      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   1/1     Running   9          34m
kube-system     calico-kube-controllers-77c5fc8d7f-pwk68    1/1     Running   1          26m
kube-system     calico-node-lsqg2                           1/1     Running   1          26m
kube-system     coredns-66bff467f8-gv4m7                    1/1     Running   2          51m
kube-system     coredns-66bff467f8-hnrxb                    1/1     Running   2          51m
kube-system     etcd-k8s143                                 1/1     Running   3          51m
kube-system     kube-apiserver-k8s143                       1/1     Running   3          51m
kube-system     kube-controller-manager-k8s143              1/1     Running   3          51m
kube-system     kube-proxy-hx74q                            1/1     Running   3          51m
kube-system     kube-scheduler-k8s143                       1/1     Running   3          51m
[root@k8s143 ingress-nginx]# 

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

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

需要的rpm包為

-rw-r--r-- 1 root root  9204778 Apr  5 09:18 2d6ec4ae24a355c5818174f39e212f116cbd796cabcc113a68fc613d3d1fe147-kubeadm-1.18.0-0.x86_64.rpm
-rw-r--r-- 1 root root 21797010 Apr  5 09:18 3d1298e3f34961565204febc5da169d1ac3673b7eb772a7bc19c2b310526b0e8-kubelet-1.18.0-0.x86_64.rpm
-rw-r--r-- 1 root root  9996474 Apr  5 09:18 cf6754a3497c5c05de050f2409eb3b2854467967cf359a8ed9c6e6c32808c7de-kubectl-1.18.0-0.x86_64.rpm

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM