Centos7安装k8s

准备工作

准备三台虚拟机centos7

所有节点配置hosts,修改/etc/hosts如下:

cat >> /etc/hosts << EOF
192.168.0.10 k8s-master
192.168.0.11 k8s-node1
192.168.0.12 k8s-node2
EOF

分别ping下测试,如下:

ping k8s-master

ping k8s-node1

ping k8s-node2

修改主机名字:
将192.168.0.10 的主机修改为 hostnamectl set-hostname k8s-master

将192.168.0.11 的主机修改为 hostnamectl set-hostname k8s-node1

将192.168.0.12 的主机修改为 hostnamectl set-hostname k8s-node2

使用xshell,右键点击发送键输入到所有会话

# yum 更新
sudo yum update -y

# tab 命令补全
sudo yum install -y bash-completion
# wget
sudo yum install -y wget
# vim 编辑器
sudo yum install -y vim-enhanced
# 网络工具
sudo yum install -y net-tools
# gcc 编译器
sudo yum install -y gcc

#1关闭防火墙
systemctl stop firewalld
systemctl disable firewalld


#2关闭selinux  因为永久关闭需要重启才有效,所以这里两步都要执行
sed -i 's/enforcing/disabled/' /etc/selinux/config
临时关闭
setenforce 0

#3关闭 swap 同上,两步都要执行
#永久关闭
vi /etc/fstab
# 注释掉swap这行
# /dev/mapper/centos-swap swap swap defaults 0 0
临时关闭
swapoff -a

#4关闭 NetworkManager
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y bash-completion.noarch
yum install -y net-tools vim lrzsz wget tree screen lsof tcpdump

#4关闭 postfix.service
systemctl stop postfix.service
systemctl disable postfix.service

master节点安装

1.安装etcd服务,用于存储k8s数据的。

yum install -y etcd
vim /etc/etcd/etcd.conf
systemctl start etcd
systemctl enable etcd
#测试下
etcdctl -C http://192.168.0.10:2379 cluster-health

2.安装kubernetes-master

yum install kubernetes-master.x86_64 -y
vim /etc/kubernetes/apiserver 

apiserver配置修改这四项

controller-manager和scheduler共用/etc/kube/config文件,配置如下
上图改为下图

启动并设置为开机自启动

systemctl start kube-apiserver.service  
systemctl enable kube-apiserver.service  

systemctl start kube-controller-manager.service  
systemctl enable kube-controller-manager.service

systemctl start kube-scheduler.service 
systemctl enable kube-scheduler.service 

检查kubectl状态

kubectl get componentstatus

kubectl get componentstatus

node节点安装kubernetes-node

yum install kubernetes-node.x86_64 -y

安装时间比较长,因为会自动安装老版本的docker

vim /etc/kubernetes/config 

改为

vim /etc/kubernetes/kubelet 

改为

不用启动docker,只要启动kubelet.service,就会自动启动docker 

systemctl start kubelet.service
systemctl restart kubelet.service
systemctl enable kubelet.service
systemctl status kubelet.service

再启动

systemctl start kube-proxy.service
systemctl restart kube-proxy.service
systemctl enable kube-proxy.service
systemctl status kube-proxy.service

回到master节点,查询所有节点

kubectl get nodes

至此k8s的主节点和node节点安装完成。

Docker常用命令

# docker系统操作
# 启动、关闭、重启docker
systemctl start docker
systemctl stop docker
systemctl restart docker
# 设置docker开机自启动
systemctl enable docker
# 查看docker信息
docker version
docker info

# 镜像
# 从镜像仓库拉取镜像
docker pull IP:Port/imageName:imageTag
docker pull 192.168.1.180:5000/aengus/flow:v1.0
# 如果不使用IP:Port,默认从docker官方仓库拉取
docker pull nginx
# 查看所有镜像
docker images
# 删除镜像(不被任何容器使用方可删除)
docker rmi imageName
# 强制删除镜像
docker image rm imageName
# 使用Dockerfile制作镜像
docker build -t imageName:imageTag .
# 为镜像打标签
docker tag imageName:imageTag IP:Port/tagedImageName:tagedImageTag
# 向私有仓库推送镜像
docker push IP:Port/tagedImageName:tagedImageTag

# 容器
# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps -a
# 进入容器(只能进入正在运行的容器,-it后面跟容器id)
docker exec -it b648cde72e9c /bin/bash
# 如果上条命令不能进入,可以尝试
docker exec -it b648cde72e9c /bin/sh
# 查看容器日志
docker logs -f containerId
# 启动容器
docker run -itd -p 5000:5000 --restart always -v /opt/data/registry/:/var/lib/registry --name registry registry 
# -i: 以交互模式运行容器; -t: 为容器重新分配一个伪输入终端 -it通常连用。 -d:后台运行容器; -p:指定端口映射 宿主机端口:容器端口; --restart always:在容器退出时总是重启; -v:目录映射 宿主机目录:容器目录; --name:容器名字 最后的registry指定使用的镜像为registry
# 停止容器
docker stop containerId
# 删除容器
docker rm -f containerId
# 启动容器
docker start containerId
# 重启容器
docker restart containerId
#  删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'`
# 清除所有无容器使用的镜像和容器,包括容器临时停止。此命令会删除无用容器,再删除无用镜像,需慎用
docker system prune -a

K8S常用命令

# 查看命名空间
kubectl get ns
# 创建命名空间
kubectl create namespace heu

# kubectl语法
kubectl [command] [TYPE] [NAME] [flags]
# command:指定要在资源上执行的操作例如create、get、describe、delete、apply等; type:指定资源类型(pod、node、services、deployment); name: 指定资源名称; flags:可选参数,例如使用-n指定命名空间

# 以下命令均为操作某一命名空间下的资源
# 查看资源命令 get
# 查看指定命名空间下的pod
kubectl get pod -n heu
# 查看指定命名空间下的deployment
kubectl get deployment-n heu
# 查看指定命名空间下的service
kubectl get service -n heu
# 查看指定命名空间下的configMap
kubectl get configmap -n heu
# 查看指定命名空间下的secret
kubectl get secret -n heu

# 查看资源详细信息 describe
kubectl describe pod mynginx -n heu  #查看pod的具体运行情况
kubectl describe deployment mynginx -n heu   #了解deployment的详细信息
kubectl describe replicaset mynginx -n heu  #了解replicaset的详细信息
kubectl describe secret mynginx -n heu    #查看secret信息
kubectl describe configmap mynginx -n heu  #查看configmap信息

# 通过配置文件部署资源
kubectl apply -f gateway.yaml
# 查看pod日志:
kubectl logs podId -n heu
# 进入容器
kubectl exec -it podId -n heu /bin/bash
# 缩放副本数量
kubectl scale deployment mynginx --replicas=2

# 删除资源 delete 
kubectl delete podmynginx -n heu # 单纯删除pod可能无法删除,原因是deployment会维持重复数量
kubectl delete deployment mynginx -n heu
kubectl delete service mynginx -n heu
kubectl delete configmap mynginx -n heu
# 删除所有
kubectl delete deployment --all -n heu
kubectl delete service --all -n heu
kubectl delete configmap --all -n heu

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,我会尽力为您解答问题。有关CentOS 7安装K8s的问题,您可以参考以下步骤: 1. 确认CentOS版本 使用以下命令确认CentOS版本: ``` cat /etc/centos-release ``` 如果版本是7.x,那么您可以继续进行安装。 2. 安装Docker 要安装Kubernetes(简称K8s),必须先安装Docker。使用以下命令安装Docker: ``` yum install docker -y ``` 启动Docker服务并设置开机自启动: ``` systemctl start docker systemctl enable docker ``` 3. 关闭SELinux和Swap Kubernetes安装时需要禁用SELinux和Swap。使用以下命令进行禁用: ``` swapoff -a sed -i 's/^\(.*swap.*\)$/#\1/' /etc/fstab setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ``` 4. 安装和配置Kubernetes 使用以下命令添加Kubernetes安装源并安装K8s组件: ``` 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 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF yum install kubelet kubeadm kubectl -y ``` 启动Kubernetes并设置开机自启动: ``` systemctl start kubelet systemctl enable kubelet ``` 5. 初始化Kubernetes 使用以下命令初始化Kubernetes: ``` kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 这个命令将初始化一个Kubernetes集群,并生成一个令牌(token)。请注意令牌的值,后续使用需要用到。 6. 安装网络插件 使用以下命令安装网络插件(这里以Flannel为例): ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 安装完成后,您就可以开始使用Kubernetes了。如果您需要添加节点,请重新运行初始化命令,并使用令牌加入集群。 希望上述内容可以帮助到您。如果有任何问题或需要进一步帮助,请随时提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值