K8s 实际安装命令

本文档详细介绍了Kubernetes集群的安装过程,包括Master节点的dashboard证书配置和NODE节点上解决kubectl命令使用问题的方法,为K8s环境搭建提供实战指导。

Master:

       systemctl disable --now firewalld
   20  setenforce 0
   21   sed -i 's/enforcing/disabled/' /etc/selinux/config 
   22  swapoff -a
   23  sed -i.bak 's/^.*centos-swap/#&/g' /etc/fstab
   24  vim /etc/fstab
   25  vim /etc/hosts
   26  ping k8s-node01
   27  cat > /etc/sysctl.d/k8s.conf << EOF
   28  net.ipv4.ip_forward = 1
   29  net.bridge.bridge-nf-call-ip6tables = 1
   30  net.bridge.bridge-nf-call-iptables = 1
   31  EOF
   32  sysctl --system
   33  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
   34   yum install dnf ntpdate -y
   35  dnf makecache
   36  ntpdate ntp.aliyun.com
   44  vim /etc/ssh/sshd_config 
   50  firewall-cmd --zone=public --add-port=34538/tcp --permanent
   53  firewall-cmd --reload
   54  ifconfig

   58  mv /etc/yum.repos.d/* /tmp
   59  curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
   60  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
   61  ntpdate ntp.aliyun.com
   62  curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
   63  cat /etc/yum.repos.d/docker-ce.repo
   64  dnf list docker-ce --showduplicates
   65  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
   66  yum install dnf ntpdate -y
   67  dnf makecache
   68  dnf install -y  docker-ce docker-ce-cli
   69  systemctl enable --now docker
   70  docker --version
   72  systemctl restart docker
   73  cat > /etc/yum.repos.d/kubernetes.repo << EOF
   74  [kubernetes]
   75  name=Kubernetes
   76  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
   77  enabled=1
   78  gpgcheck=0
   79  repo_gpgcheck=0
   80  gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
   81  EOF
   82  dnf list kubeadm --showduplicates
   83  dnf install -y kubelet-1.18.6 kubeadm-1.18.6 kubectl-1.18.6
   84  systemctl enable kubelet
   85  kubeadm config print init-defaults > kubeadm-init.yaml
   88  cat kubeadm-init.yaml 
   90  kubeadm init --config kubeadm-init.yaml 
   91   mkdir -p $HOME/.kube
   92    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
   93    sudo chown $(id -u):$(id -g) $HOME/.kube/config
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  101  sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml
  102  kubectl apply -f kube-flannel.yml
  125  wget  https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  133  docker pull quay.io/coreos/flannel:v0.13.0-rc1-arm64
  134  kubectl apply -f kube-flannel.yml
  138  curl -o recommended.yaml   https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
  140  vim recommended.yaml 
  146  kubectl apply -f recommended.yaml 
  151  vim recommended.yaml 
  152  systemctl disable firewalld.service
  159  kubectl get pod -n kube-system
  160  kubectl get node

配置dashboard证书

       openssl genrsa -out dashboard.key 2048
  183  openssl req -new -out dashboard.csr -key dashboard.key -subj '/CN=192.168.30.38'
  185  openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt
  186  kubectl delete secret kubernetes-dashboard-certs -n kubernetes-dashboard
  187  kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard
  188  kubectl get pod -n kubernetes-dashboard
  189  kubectl delete pod dashboard-metrics-scraper-fb6c458d5-k5qzh -n kubernetes-dashboard
  190  kubectl delete pod kubernetes-dashboard-64dfcdf4b5-z49gz  -n kubernetes-dashboard
  202  kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
  203  kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}'
  206  kubectl get secret -n kube-system
  207  kubectl create serviceaccount dashboard-admin -n kube-system
  208  kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
  209  kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

NODE:

systemctl disable --now firewalld
    6  setenforce 0
    7  sed -i 's/enforcing/disabled/' /etc/selinux/config 
    8  swapoff -a
    9  sed -i.bak 's/^.*centos-swap/#&/g' /etc/fstab
   10  vim /etc/fstab
   11  cat > /etc/sysctl.d/k8s.conf << EOF
   12  net.ipv4.ip_forward = 1
   13  net.bridge.bridge-nf-call-ip6tables = 1
   14  net.bridge.bridge-nf-call-iptables = 1
   15  EOF
   16  sysctl --system
   17  mv /etc/yum.repos.d/* /tmp
   18  curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
   19  curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
   20  ntpdate ntp.aliyun.com
   21  curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
   22  cat /etc/yum.repos.d/docker-ce.repo
   23  dnf list docker-ce --showduplicates
   24  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
   25  yum install dnf ntpdate -y
   26  dnf makecache
   27  dnf install -y  docker-ce docker-ce-cli
   28  systemctl enable --now docker
   29  docker --version
   30  cat > /etc/docker/daemon.json << EOF
   31  systemctl restart docker
   32  cat > /etc/yum.repos.d/kubernetes.repo << EOF
   33  [kubernetes]
   34  name=Kubernetes
   35  baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
   36  enabled=1
   37  gpgcheck=0
   38  repo_gpgcheck=0
   39  gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
   40  EOF
   41  dnf list kubeadm --showduplicates
   42  dnf install -y kubelet-1.18.6 kubeadm-1.18.6 kubectl-1.18.6
   43  systemctl enable kubelet
   44  kubeadm join 192.168.30.38:6443 --token abcdef.0123456789abcdef \
   45  swapoff -a
   46  kubeadm join 192.168.30.38:6443 --token abcdef.0123456789abcdef     --discovery-token-ca-cert-hash sha256:f4e77c5554b0a3ebce1865ffe3c6ff513a9af78cca24d26bff95d7361bb4c087

解决NODE不能使用kubectl命令:

复制materadmin.conf文件到/etc/kubernetes/admin.conf
   73  scp -P 34538 root@k8s-master01:/etc/kubernetes/admin.conf /etc/kubernetes/admin.conf
   74  ls /etc/kubernetes/
   75  echo "KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile 
   76  source ~/.bash_profile 
   77  kubectl get pod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值