centos7 kubeadm安装k8s:1.15.1(单节点)

测试机:使master节点同时作为node节点

角色ip
master/node192.168.56.201

注:master节点加入/退出node中:

#master加入node
kubectl taint node master主机名 node-role.kubernetes.io/master-

#master退出node
kubectl taint node master主机名 node-role.kubernetes.io/master="":NoSchedule

1,拉取k8s:1.15.1的7个镜像

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1
################
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.15.1 k8s.gcr.io/kube-apiserver:v1.15.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.15.1 k8s.gcr.io/kube-controller-manager:v1.15.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.15.1 k8s.gcr.io/kube-scheduler:v1.15.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.1 k8s.gcr.io/kube-proxy:v1.15.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1 k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.3.10 k8s.gcr.io/etcd:3.3.10
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1

2,安装docker

https://blog.csdn.net/eyeofeagle/article/details/85015303
配置docker运行参数:修改Cgroup Driver类型:

 cat  > /etc/docker/daemon.json  <<EOF
{
  "registry-mirrors": ["https://yywkvob3.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

#重启docker
systemctl  daemon-reload
systemctl  restart docker

3, 安装k8s软件包

#1,配置环境
service firewalld stop
setenforce 0
swapoff -a

cat >> /etc/sysctl.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
modprobe br_netfilter 
sysctl -p

#2, 配置yum源
cat  >/etc/yum.repo.d/k8s.repo <<EOF
[kubernetes]
name=kubernetes Repo
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
enabled=1
EOF

#3,安装k8s
yum -y  install  wget kubelet kubeadm kubectl
systemctl enable kubelet

cat  > /etc/sysconfig/kubelet  <<EOF
KUBELET_EXTRA_ARGS="--node-ip=192.168.56.201"
EOF
systemctl start kubelet

#4, 配置flannel网络
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml

#5,初始化k8s集群
 kubeadm init --kubernetes-version=1.15.1  --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.56.201 --ignore-preflight-errors=NumCPU
 
#6,配置k8s环境变量
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

#7, 查看结果
[root@docker k8s]# kubectl get nodes --all-namespaces
NAME     STATUS   ROLES    AGE    VERSION
docker   Ready    master   125m   v1.15.2

4, 验证结果

获取mysql.yaml配置,使用k8s运行mysql:https://www.cnblogs.com/zoulixiang/p/9910337.html

[root@docker k8s]# kubectl get nodes
NAME     STATUS   ROLES    AGE    VERSION
docker   Ready    master   102m   v1.15.2

[root@docker k8s]# kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
mysql-rc-vpczb           1/1     Running   0          67m
nginx-7c45b84548-wblkc   1/1     Running   0          86m

[root@docker k8s]# kubectl get svc
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP          105m
mysql-svc    NodePort    10.110.110.209   <none>        3306:30060/TCP   67m
nginx        NodePort    10.107.239.151   <none>        80:30569/TCP     78m

[root@docker k8s]# wget docker:30569
--2019-08-13 17:48:26--  http://docker:30569/
正在解析主机 docker (docker)... 192.168.56.201
正在连接 docker (docker)|192.168.56.201|:30569... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:612 [text/html]
正在保存至: “index.html”
100%[===================================>] 612         --.-K/s 用时 0.001s  
2019-08-13 17:48:26 (1.13 MB/s) - 已保存 “index.html” [612/612])

[root@docker k8s]# kubectl exec -it  svc/mysql-svc  bash
root@mysql-rc-vpczb:/# mysql -uroot -p123456
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.62 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

5, 安装dashboard

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.5.1/src/deploy/kubernetes-dashboard.yaml
#修改image: registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.0

#应用配置
kubectl create -f kubernetes-dashboard.yaml
#[root@docker ui]# kubectl get pod -A -o wide |grep dash
#kube-system   kubernetes-dashboard-7d46676dcb-2zrs7   1/1     Running   0          10m     10.244.1.9       docker    <none>           <none>
#[root@docker ~]# kubectl get svc -A -o wide |grep dash
#kube-system   kubernetes-dashboard   NodePort    10.1.39.194    <none>        443:30389/TCP            6h24m   k8s-app=kubernetes-dashboard

#创建登陆账户
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
#浏览器访问 https://IP:30389, 输入登陆密钥:
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,下面是在节点 CentOS 7 上安装 Kubernetes 的步骤: 1. 安装 Docker Kubernetes 需要使用容器技术来运行,因此需要先安装 Docker。可以通过以下命令进行安装: ``` $ yum install -y docker ``` 安装完成后,启动 Docker 服务: ``` $ systemctl start docker ``` 2. 安装 kubeadmkubectl 和 kubelet Kubernetes 提供了一个叫做 kubeadm 的命令行工具,用于快速搭建 Kubernetes 集群。同时还需要安装 kubectl 和 kubelet。可以通过以下命令进行安装: ``` $ cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0 EOF $ yum install -y kubelet kubeadm kubectl ``` 安装完成后,启动 kubelet 服务: ``` $ systemctl start kubelet ``` 3. 初始化 Kubernetes 集群 在节点上初始化 Kubernetes 集群需要指定 --pod-network-cidr 参数,用于指定集群中 Pod 的 IP 地址范围。可以选择使用 Flannel 或 Calico 等网络插件,这里我们以 Flannel 为例。执行以下命令进行初始化: ``` $ 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 192.168.0.2:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ``` 将其中的命令执行一遍,即可使用 kubectl 访问 Kubernetes 集群: ``` $ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 4. 安装 Flannel 网络插件 Kubernetes 集群需要一个网络插件来管理 Pod 和 Service 的网络。在这里我们选择使用 Flannel。执行以下命令进行安装: ``` $ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 安装完成后,可以通过以下命令查看 Flannel 的状态: ``` $ kubectl get pods --all-namespaces ``` 以上就是在节点 CentOS 7 上安装 Kubernetes 的步骤,希望能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值