Centos7通过kubeadm部署k8s

机器准备

192.168.71.60 master
192.168.71.61 node1

关闭防火墙(两台机器都做)

systemctl stop firewalld
setenforce 0

更改主机名(两台机器都做)

hostnamectl set-hostname  master
bash #直接生效

关闭swap(两台机器都做)

swapoff -a  # 临时
# vim /etc/fstab  # 永久

设置host(两台机器都做)

cat <<EOF >>/etc/hosts

192.168.71.60 master
192.168.71.61 node1
192.168.71.62 node2

EOF

更改源(两台机器都做)

cd /etc/yum.repos.d/
rm -f *
curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
        http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all  
yum makecache  
yum repolist

安装docker(两台机器都做)

查看docker可安装的版本可用yum list docker-ce --showduplicates|grep "^doc"|sort -r

yum install -y docker-ce
systemctl enable docker && systemctl start docker  #设置docker开机启动

安装kubelet、kubeadm、kubectl、kubernetes-cni(两台机器都做)

yum install -y kubeadm
systemctl enable kubelet.service

初始化kubeadm(只在master机器执行)

kubeadm init --pod-network-cidr=10.244.0.0/16  --apiserver-advertise-address=192.168.71.60 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.1.0.0/16 

根据提示执行下面语句(只在master机器执行)

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/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml

查看pod

kubectl get pods -n kube-system

将node1加入集群,token要根据上面安装完的提示(在node1上操作)

kubeadm join 192.168.71.60:6443 --token y58e7a.c938uwuaz1fbeeys \
    --discovery-token-ca-cert-hash sha256:fc18a5172423e70b915158ea34a2101284b3ee98c86cba79bcafadb691f75942 

测试集群(在master上操作)

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-servic

安装dashboard(在master上操作)

wget https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml
vi kubernetes-dashboard.yaml

将其中的image镜像地址改成registry.aliyuncs.com/google_containers
在service中添加type: NodePort,然后

kubectl apply -f kubernetes-dashboard.yaml

kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl get secret -n kube-system

找到带有dashboard-admin-token...的

kubectl describe secret dashboard-admin-token-pbnnk -n kube-system
得到admin的token,然后在网页登录dashborad

转载于:https://my.oschina.net/u/585210/blog/3062053

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值