k8s的安装部署流程

环境准备工作(每个节点都需要的操作)

####如果部署过程中遇到任何问题可私信:

IP地址

节点名

172.16.1.156

masts

172.16.1.162

node1

172.16.1.152

node2

1.更改主机名

hostnamectl set-hostname masts hostnamectl set-hostname node1 hostnamectl set-hostname node2

2.关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/configgetenforce 查看关闭没有

3.关闭swap

[root@masts ~]# swapoff -a[root@masts ~]# free -m

4.在每个节点生成一个密钥然后发送给每个节点

ssh-keygen

ssh-copy-id masts

ssh-copy-id node1

ssh-copy-id node2

5.时间同步

yum install chrony -y

systemctl enabled chront.service

vim /etc/chrony.conf 修改的配置文件如下

删除

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

默认 NTP 服务地址替换为国内阿里云 NTP 服务器地址

server ntp1.aliyun.com iburst

server ntp2.aliyun.com iburst

server ntp1.tencent.com iburst

server ntp2.tencent.com iburst

6.修改内核参数

[root@xuegod64 ~]# modprobe br_netfilter[root@xuegod64~]# lsmod | grep br_netfilterbr_netfilter 22256 0bridge 151336 1 br_netfilter[root@xuegod64 ~]# cat > /etc/sysctl.d/k8s.conf <<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOF

安装Docker:k8s所需的镜像和插件和Dokcer和k8s源(注意版本信息)每个节点都需要完成的操作

1.部署Docker的yum源
yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.部署k8s的源
 tee /etc/yum.repos.d/kubernetes.repo <<-'EOF'
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

3.下载Docker和启动流程
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl enable docker && systemctl start docker

4.生成Docker的配置文件(此页面最下面有daemon的包可以直接下载)
 tee /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors":["https://vh3bm52y.mirror.aliyuncs.com","https://registry.dockercn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hubmirror.c.163.com"],
          "exec-opts": ["native.cgroupdriver=systemd"]
} 
EOF
 systemctl daemon-reload
 systemctl restart docker
 systemctl enable docker
 systemctl status docker

5.下载k8s所需要的文件
 yum install -y kubelet-1.23.1 kubeadm-1.23.1 kubectl-1.23.1
  systemctl enable kubelet
6.初始化集群就是拉取k8s所需的镜像
方法一:docker load -i k8s-images-v1.23.1.tar.gz在页面最下方的文件里面找到这个压缩包然后执行此文件即可
方法二:
1.kubeadm config images list查看 Kubernetes 安装所需镜像(会列出一批镜像文件然后执行docker pull 镜像文件名拉取)
2.docker images 查看镜像的下载情况

部署 Kubernetes 的 Master 节点(只需要在masts节点部署)

1.生成yaml的配置文件
kubeadm config print init-defaults > kubeadm.yaml生成yaml文件

配置文件内容如下:(特别标注的颜色的需要更改的地方)
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint: 
  advertiseAddress:172.16.1.156  masts节点的自己IP地址
  bindPort: 6443
nodeRegistration:
  criSocket: /var/run/dockershim.sock
  imagePullPolicy: IfNotPresent
  name: masts
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.23.1  这个版本号一定要和安装k8s的版本对的上号才行
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/12
  podSubnet: 10.244.0.0/16   添加这一行
scheduler: {}
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd    这几行也是需要添加的  

然后在masts节点上执行此命令进行k8s的部署(此命令执行完成会生成如下的配置)
kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

Your Kubernetes control-plane has initialized successfully!

To start using your cluster, you need to run the following as a regular user:

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
  https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:

kubeadm join 172.16.1.156:6443 --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:186cec7d72382f6464ee79b543dcbb90b94e0f2520daf9c3114933fa533a1883

在matsts节点执行如下命令即可
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config
在管理节点上使用如下命令
kubeadm join 172.16.1.156:6443 --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:186cec7d72382f6464ee79b543dcbb90b94e0f2520daf9c3114933fa533a1883
  
  kubectl get nodes  此命令查看部署的情况
  
安装网络插件
上传 calico.yaml 到 masts 中,使用 yaml 文件安装 calico 网络插件 。
[root@masts ~]# kubectl apply -f calico.yaml
注:在线下载配置文件地址是: https://docs.projectcalico.org/manifests/calico.yaml
拉取镜像需要一定时间,所以我们查看 pod 状态为 running 则安装成功。
[root@masts ~]# kubectl get pod --all-namespaces
再次查看集群状态。
[root@xuegod63 ~]# kubectl get node
masts Ready <none> 97s v1.23.1
node1 Ready control-plane,master 5m43s v1.23.1
node2 Ready <none> 99s v1.23.1

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值