ZBLOG

centos 7 搭建k8s

  1. 安装docker
# 安装必要的工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker
sudo yum install docker-ce

# 启动Docker
sudo systemctl start docker

# 设置Docker开机自启
sudo systemctl enable docker
  1. 安装kubeadm、kubelet和kubectl
# 添加Kubernetes源
sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF
[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
EOF

# 安装Kubernetes组件
sudo yum install -y kubelet kubeadm kubectl

# 启动kubelet服务
sudo systemctl start kubelet

# 设置kubelet自启动
sudo systemctl enable kubelet
  1. 部署Kubernetes集群

在一台节点上执行以下命令,创建一个初始化的Kubernetes主节点:

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

执行完成后,会输出如下信息:

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

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 <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

按照输出的提示,执行以下命令:

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

安装网络插件(这里以flannel为例):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

等待一段时间,查看集群状态:

kubectl get nodes
kubectl get pods --all-namespaces
  1. 加入Kubernetes节点

在其他节点上执行以下命令,将其加入到Kubernetes集群中:

sudo kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>

其中<control-plane-host><control-plane-port>是初始化Kubernetes主节点时输出的信息。执行完成后,在初始化Kubernetes主节点的控制台上,将会看到新节点的加入信息。

至此,Kubernetes集群搭建完成。可以使用kubectl命令来管理集群,例如:

# 查看节点状态
kubectl get nodes

# 部署一个应用
kubectl create deployment nginx --image=nginx

# 暴露服务
kubectl expose deployment nginx --port=80 --type=NodePort

# 查看服务访问地址
minikube service nginx --url

# 删除应用和服务
kubectl delete deployment/nginx
kubectl delete service/nginx

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1834

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?