kubeadm方式安装k8s

打印 上一主题 下一主题

主题 567|帖子 567|积分 1701

1、Master高可用
   其他   master   加⼊集群时,输⼊如下命令     如:必要⾼可⽤时,⼜克隆了   master02  、  03...  等,那么这些节点都执⾏下⾯的命令     留意:  每个主机的   token   值是不⼀样的,下⾯是我192.168.15.11 (master)主机的   token   值,这是集群初始化⽣成的代码,必要在当时记录下来。
  1. kubeadm join 192.168.15.11:6443 --token
  2. 7t2weq.bjbawausm0jaxury \
  3. --discovery-token-ca-cert-hash \
  4. sha256:73dc6f8d973fc70818e309386c1bfc5d330c19d52b4
  5. 94c6f88f634a6b1250a2f \
  6. --control-plane --certificate-key \
  7. 80fcc505867ccbc6550c18ed11f40e64ecf486d626403823f5
  8. 48dda65c19953d
复制代码
    2、Token    逾期处置惩罚        留意:   *   *   以下步骤是上述初始化命令产⽣的    Token    逾期了才必要执⾏以下步骤,假如没有逾期不必要执⾏,直接 join    即可。   **Token 逾期后⽣成新的    token      kubeadm token create   --print-join-command     Master   必要⽣成   --certificate-key  :    kubeadm init phase upload-certs   --upload-certs       3、、Node    节点设置        Node    节点上主要部署公司的⼀些业务应⽤,⽣产情况中不发起        Master    节点部署系统组件之外的其他    Pod   ,测试情况可以答应        Master    节点部署    Pod    以节流系统资源。        (   1   )   node    加⼊集群     
  1. [root@k8s-node01 ~]# kubeadm join
  2. 192.168.15.11:6443 --token 7t2weq.bjbawausm0jaxury
  3. \ # node01通过复制master初始化⽣成的token来加⼊集群
  4. > --discovery-token-ca-cert-hash \
  5. >
  6. sha256:73dc6f8d973fc70818e309386c1bfc5d330c19d52b4
  7. 94c6f88f634a6b1250a2f
  8. [preflight] Running pre-flight checks
  9. [preflight] Reading configuration from the
  10. cluster...
  11. [preflight] FYI: You can look at this config file
  12. with 'kubectl -n kube-system get cm kubeadm-config
  13. -o yaml'
  14. [kubelet-start] Writing kubelet configuration to
  15. file "/var/lib/kubelet/config.yaml"
  16. [kubelet-start] Writing kubelet environment file
  17. with flags to file "/var/lib/kubelet/kubeadmflags.env"
  18. [kubelet-start] Starting the kubelet
  19. [kubelet-start] Waiting for the kubelet to perform
  20. the TLS Bootstrap...
  21. This node has joined the cluster:
  22. * Certificate signing request was sent to
  23. apiserver and a response was received.
  24. * The Kubelet was informed of the new secure
  25. connection details.
  26. Run 'kubectl get nodes' on the control-plane to
  27. see this node join the cluster.
  28. # 正确加⼊集群后的输出信息
复制代码
    (   2   )检察集群状态        master    上检察集群状态(   NotReady    不影响)  
  1. [root@k8s-master ~]# kubectl get node # 获取所有节
  2. 点信息
  3. NAME STATUS ROLES AGE
  4. VERSION
  5. k8s-master NotReady control-plane 35m
  6. v1.28.2
  7. k8s-node01 NotReady <none> 6m39s
  8. v1.28.2
  9. k8s-node02 NotReady <none> 7m27s
  10. v1.28.2
复制代码
      4、Calico     组件安装           (    1    )切换     git     分⽀        
  1. [root@k8s-master ~]# cd /root/k8s-ha-install &&
  2. git checkout manual-installation-v1.28.x && cd
  3. calico/
  4. 分⽀ 'manual-installation-v1.28.x' 设置为跟踪
  5. 'origin/manual-installation-v1.28.x'。
  6. 切换到⼀个新分⽀ 'manual-installation-v1.28.x'
复制代码
    (   2   )修改    Pod    ⽹段  
  1. [root@k8s-master calico]# POD_SUBNET=`cat
  2. /etc/kubernetes/manifests/kube-controllermanager.yaml | grep cluster-cidr= | awk -F=
  3. '{print $NF}'` # 获取已定义的Pod⽹段
  4. [root@k8s-master calico]# sed -i
  5. "s#POD_CIDR#${POD_SUBNET}#g" calico.yaml # 修改
  6. calico.yml⽂件中的pod⽹段
  7. [root@k8s-master calico]# kubectl apply -f
  8. calico.yaml # 创建calico的pod
复制代码
      (    3    )检察容器和节点状态   
  1. [root@k8s-master calico]# kubectl get po -n kubesystem
  2. NAME READY
  3. STATUS RESTARTS AGE
  4. calico-kube-controllers-6d48795585-wj8g5 1/1
  5. Running 0 130m
  6. calico-node-bk4p5 1/1
  7. Running 0 130m
  8. calico-node-kmsh7 1/1
  9. Running 0 130m
  10. calico-node-qthgh 1/1
  11. Running 0 130m
  12. coredns-6554b8b87f-jdc2b 1/1
  13. Running 0 133m
  14. coredns-6554b8b87f-thftb 1/1
  15. Running 0 133m
  16. etcd-master 1/1
  17. Running 0 133m
  18. kube-apiserver-master 1/1
  19. Running 0 133m
  20. kube-controller-manager-master 1/1
  21. Running 0 133m
  22. kube-proxy-46j4z 1/1
  23. Running 0 131m
  24. kube-proxy-8g887 1/1
  25. Running 0 133m
  26. kube-proxy-vwp27 1/1
  27. Running 0 131m
  28. kube-scheduler-master 1/1
  29. Running 0 133m
  30. [root@k8s-master calico]# kubectl get node # 此
  31. 时节点全部准备完成
  32. NAME STATUS ROLES AGE
  33. VERSION
  34. k8s-master Ready control-plane 40m
  35. v1.28.2
  36. k8s-node01 Ready <none> 12m
  37. v1.28.2
  38. k8s-node02 Ready <none> 12m
  39. v1.28.2
复制代码
        5、Metrics      部署              在新版的      Kubernetes      中系统资源的采集均使⽤      Metrics-server     ,可以通过 Metrics      采集节点和      Pod      的内存、磁盘、     CPU     和⽹络的使⽤率。              (     1     )复制证书到全部      node      节点              将      master      节点的      front-proxy-ca.crt      复制到全部      Node      节点,每有⼀个节点执⾏⼀次,仅需修改命令内的 node      节点主机名即可。   
  1. [root@k8s-master calico]# scp
  2. /etc/kubernetes/pki/front-proxy-ca.crt k8snode01:/etc/kubernetes/pki/front-proxy-ca.crt #
  3. 向node01节点发送代理证书
  4. front-proxy-ca.crt
  5. 100% 1123 937.0KB/s 00:00
  6. [root@k8s-master calico]# scp
  7. /etc/kubernetes/pki/front-proxy-ca.crt k8snode02:/etc/kubernetes/pki/front-proxy-ca.crt #
  8. 向node02节点发送代理证书
  9. front-proxy-ca.crt
  10. 100% 1123 957.4KB/s 00:00
  11. # 若有其他node节点,按照格式执⾏下⾯命令,这⾥不⽤执⾏,因
  12. 为node只有两台主机
  13. [root@k8s-master calico]# scp
  14. /etc/kubernetes/pki/front-proxy-ca.crt k8snode03:/etc/kubernetes/pki/front-proxy-ca.crt
复制代码
          (      2      )安装       metrics server     
  1. [root@k8s-master calico]# cd /root/k8s-hainstall/kubeadm-metrics-server
  2. [root@k8s-master kubeadm-metrics-server]# kubectl
  3. create -f comp.yaml # 添加metric server的pod资源
  4. serviceaccount/metrics-server created
  5. clusterrole.rbac.authorization.k8s.io/system:aggre
  6. gated-metrics-reader created
  7. clusterrole.rbac.authorization.k8s.io/system:metri
  8. cs-server created
  9. rolebinding.rbac.authorization.k8s.io/metricsserver-auth-reader created
  10. clusterrolebinding.rbac.authorization.k8s.io/metri
  11. cs-server:system:auth-delegator created
  12. clusterrolebinding.rbac.authorization.k8s.io/syste
  13. m:metrics-server created
  14. service/metrics-server created
  15. deployment.apps/metrics-server created
  16. apiservice.apiregistration.k8s.io/v1beta1.metrics.
  17. k8s.io created
复制代码
            (       3       )检察        metrics server        状态                       
  1. [root@master kubeadm-metrics-server]# kubectl get
  2. po -n kube-system -l k8s-app=metrics-server # 在
  3. kube-system命名空间下查看metrics server的pod运⾏状态
  4. NAME READY STATUS
  5. RESTARTS AGE
  6. metrics-server-8df99c47f-mkbfd 1/1 Running
  7. 0 34s
  8. [root@master kubeadm-metrics-server]# kubectl top
  9. node # 查看node节点的系统资源使⽤情况
  10. NAME CPU(cores) CPU% MEMORY(bytes)
  11. MEMORY%
  12. k8s-node01 51m 1% 831Mi
  13. 23%
  14. k8s-node02 55m 1% 931Mi
  15. 25%
  16. master 107m 2% 1412Mi
  17. 39%
  18. [root@master kubeadm-metrics-server]# kubectl top
  19. po -A
  20. NAMESPACE NAME
  21. CPU(cores) MEMORY(bytes)
  22. kube-system calico-kube-controllers-6d48795585-
  23. wj8g5 2m 25Mi
  24. kube-system calico-node-bk4p5
  25. 20m 155Mi
  26. kube-system calico-node-kmsh7
  27. 25m 152Mi
  28. kube-system calico-node-qthgh
  29. 24m 145Mi
  30. kube-system coredns-6554b8b87f-jdc2b
  31. 1m 22Mi
  32. kube-system coredns-6554b8b87f-thftb
  33. 1m 20Mi
  34. kube-system etcd-master
  35. 14m 66Mi
  36. kube-system kube-apiserver-master
  37. 29m 301Mi
  38. kube-system kube-controller-manager-master
  39. 10m 56Mi
  40. kube-system kube-proxy-46j4z
  41. 1m 22Mi
  42. kube-system kube-proxy-8g887
  43. 1m 24Mi
  44. kube-system kube-proxy-vwp27
  45. 1m 22Mi
  46. kube-system kube-scheduler-master
  47. 2m 26Mi
  48. kube-system metrics-server-8df99c47f-mkbfd
  49. 3m 29Mi
复制代码
    6、Dashboard   部署        Dashboard    ⽤于展示集群中的各类资源,同时也可以通过        Dashboard    及时检察    Pod    的⽇志和在容器中执⾏⼀些命令等。       (   1   )安装组件  
  1. [root@master kubeadm-metrics-server]# cd
  2. /root/k8s-ha-install/dashboard/
  3. [root@master dashboard]# kubectl create -f . #
  4. 建⽴dashboard的pod资源
  5. serviceaccount/admin-user created
  6. clusterrolebinding.rbac.authorization.k8s.io/admin
  7. -user created
  8. namespace/kubernetes-dashboard created
  9. serviceaccount/kubernetes-dashboard created
  10. service/kubernetes-dashboard created
  11. secret/kubernetes-dashboard-certs created
  12. secret/kubernetes-dashboard-csrf created
  13. secret/kubernetes-dashboard-key-holder created
  14. configmap/kubernetes-dashboard-settings created
  15. role.rbac.authorization.k8s.io/kubernetesdashboard created
  16. clusterrole.rbac.authorization.k8s.io/kubernetesdashboard created
  17. rolebinding.rbac.authorization.k8s.io/kubernetesdashboard created
  18. clusterrolebinding.rbac.authorization.k8s.io/kuber
  19. netes-dashboard created
  20. deployment.apps/kubernetes-dashboard created
  21. service/dashboard-metrics-scraper created
  22. deployment.apps/dashboard-metrics-scraper created
复制代码
      (    2    )登录     dashboard           假如是⾕歌浏览器,必要在启动⽂件中加⼊下⾯的启动参数,⽤于办理⽆法访问 Dashboard     的题目          --test-type --ignore-certificate-errors         
          (    3    )更改     svc     模式   
  1. [root@master dashboard]# kubectl edit svc
  2. kubernetes-dashboard -n kubernetes-dashboard
  3. # edit:进⼊kubernetes的⽂本编辑器
  4. # svc:指定某个服务项,这⾥指定的是kubernetes-dashboard
  5. # -n:指定命名空间,kubernetes-dashboard
  6. # 命令执⾏后相当于进⼊vim⽂本编辑器,不要⽤⿏标滚轮,会输出
  7. 乱码的!可以使⽤“/”搜索,输⼊“/type”找到⽬标,如果已经为
  8. NodePort忽略此步骤
  9. ......省略部分内容......
  10. selector:
  11. k8s-app: kubernetes-dashboard
  12. sessionAffinity: None
  13. type: NodePort
复制代码
   

          (    4    )检察访问端⼝号   
  1. [root@master dashboard]# kubectl get svc
  2. kubernetes-dashboard -n kubernetes-dashboard # 获
  3. 取kubernetes-dashboard状态信息,包含端⼝,服务IP等
  4. NAME TYPE CLUSTER-IP
  5. EXTERNAL-IP PORT(S) AGE
  6. kubernetes-dashboard NodePort 10.96.137.94
  7. <none> 443:30582/TCP 8m50s
复制代码
        找到端⼝号后,通过      master            IP+     端⼝     即可访问      dashboard     (端⼝为终端查询到的端⼝,要⽤ https      协议访问)              
             (    5    )创建登录     token   
  1. [root@master dashboard]# kubectl create token
  2. admin-user -n kube-system
  3. eyJhbGciOiJSUzI1NiIsImtpZCI6Inlvc2g1cWhWcjduaXI1ZU
  4. FpQWNwRFJYYW1saXVFM3lrdlJnaHlUSmY0RTAifQ.eyJhdWQiO
  5. lsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN
  6. 0ZXIubG9jYWwiXSwiZXhwIjoxNzAzMDU2Nzg4LCJpYXQiOjE3M
  7. DMwNTMxODgsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZ
  8. hdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pb
  9. yI6eyJuYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsInNlcnZpY2V
  10. hY2NvdW50Ijp7Im5hbWUiOiJhZG1pbi11c2VyIiwidWlkIjoiN
  11. zE0YWU1N2UtNjRiNC00NTU0LTk5OTctYjE2NmEwZTQyNzhjIn1
  12. 9LCJuYmYiOjE3MDMwNTMxODgsInN1YiI6InN5c3RlbTpzZXJ2a
  13. WNlYWNjb3VudDprdWJlLXN5c3RlbTphZG1pbi11c2VyIn0.l6z
  14. gXfNhppndKAqFJrR_vCi7w0_esGp7yQGNYdrQGlE5latyFKRXN
  15. Jub8dvDe-ZyquW1H-KTvZntAluwOXv79WKY8Z8d31FePN9LHzCXPDordzyg8rE7qvgAPNeU8FgVnYtr_ujpBmuBinjnzT7LjysJiBi6fsndiD5RUYcYr6bsLg91bcLgAdW3bn_
  16. 9W5587z_q-910wpxl9AwUL9xVzyvsVDDdXe1VthkoGYxyaznRf5omkmpwabQ3JQ0L8U_8Oop6HaZs
  17. g5cEBCqBHrgyjBsYRALjzRlFlC9CB4hrYY4P_zRSdoI0lyiG4Z
  18. eh0ber6awoeeKSMbJMTqwMlw
复制代码
        在     “     输⼊      token *”     内输⼊终端⽣成的      token              

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表