首页 > 系统相关 >Ubuntu部署Kubernetes

Ubuntu部署Kubernetes

时间:2023-07-14 16:11:29浏览次数:35  
标签:v1.18 aliyuncs cn Kubernetes 部署 registry Ubuntu docker com

Docker安装

信任DockerGPG公钥:

curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -`

添加软件仓库:

sudo add-apt-repository "deb [arch=amd64] https://repo.huaweicloud.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

更新索引文件并安装

sudo apt-get update
sudo apt-get install docker-ce

Docker配置

添加国内镜像仓库

root@ubuntu:# cat /etc/docker/daemon.json 
{
  "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://1nj0zren.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
        ]
}

保存后执行

sudo systemctl daemon-reload
sudo systemctl restart docker

安装指定版本(可选)

由于Kubernetes在1.20版本后,官方不再对Docker作为容器运行时提供官方支持,因此如果仍然希望使用docker需要安装指定版本的Kubernetes。安装指定版本docker操作如下,Kubernetes同理。

sudo apt-cache policy docker-ce

sudo apt-get install  docker-ce=5:20.10.7~3-0~ubuntu-xenial

我的软件版本

docker 19.03.13

Kubernetes v1.18.0

Kubernetes安装

关闭防火墙及虚拟内存、selinux

ufw disable
swapoff -a && sed -i 's/.*swap.*/#&/' /etc/fstab
setenforce 0

修改/etc/apt/sources.list.d/kubernetes.list文件

cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb https://repo.huaweicloud.com/kubernetes/apt/ kubernetes-xenial main
EOF

添加kubernetes的key

curl -s https://repo.huaweicloud.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

更新索引文件并安装kubernetes

sudo apt update
sudo apt install -y kubeadm kubelet kubectl

初始化Master

kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.18.0 --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.45.227

执行该命令会自动下载需要的镜像进行初始化,由于某些原因Google访问不了,因此指定了国内的仓库。如果仍然不行,可以考虑使用手动通过docker pull的方式拉取镜像。

手动拉取镜像

首先列出需要的镜像

kubeadm config images list --kubernetes-version v1.18.0

依据列出的镜像列表手动拉取

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0 
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 

给拉取下来的镜像修改tag,版本号需要前后一致,需要根据自己所需进行修改

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.18.0 k8s.gcr.io/kube-apiserver:v1.18.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.18.0 k8s.gcr.io/kube-controller-manager:v1.18.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.18.0 k8s.gcr.io/kube-scheduler:v1.18.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.3-0 k8s.gcr.io/etcd:3.4.3-0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.6.7 k8s.gcr.io/coredns:1.6.7

依据给出的信息创建配置以及添加新的node,记得apiserver替换成自己的ip地址,至于cidr子网可以考虑不更改,因为后续需要安装flannel,而flannel默认网段是10.244.0.0/16。

kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.45.227
 
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/
 
#之后在别的节点主机上执行以下命令,将别的Node挂到master节点下
Then you can join any number of worker nodes by running the following on each as root:
 
kubeadm join 192.168.45.227:6443 --token hbbn5i.u6fqjr0phforyr2q \
    --discovery-token-ca-cert-hash sha256:e3f40cb90a3d791deaf6b6606ec500cffc8b48d0351b085cd0d4f74a6ce0e794

安装flannel

如果无法访问可以直接将yaml文件下载到本机再apply

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

最后确认集群所有节点的状态

root@ubuntu:# kubectl get nodes
NAME            STATUS   ROLES    AGE     VERSION
adolph-server   Ready    <none>   7d20h   v1.18.0
ubuntu          Ready    master   7d20h   v1.18.0
ubuntu-b        Ready    <none>   7d20h   v1.18.0

标签:v1.18,aliyuncs,cn,Kubernetes,部署,registry,Ubuntu,docker,com
From: https://www.cnblogs.com/Modest-Hamilton/p/17553993.html

相关文章

  • mongodb4.4.22主从(副本集附仲裁节点)部署带认证模式
    环境:OS:CentOS7DB:4.4.22机器角色:192.168.1.102:29001主192.168.1.104:29001从192.168.1.105:29001仲裁节点 1.下载相应的版本https://www.mongodb.com/download-center/community我这里下载的是mongodb-linux-x86_64-rhel70-4.4.22.tgz 2.创建安装目录192.168.1.102......
  • 根据域名查询部署的服务
    1、根据域名解析的ip,获取对应的服务器2、找到服务器后,先找nginx,一般域名都是通过nginx转发到对应的服务3、在nginx配置找到对应的域名配置,如果直接在本地配置的前端代码,不需要走下一步了4、如果配置的是本地ip端口号,根据端口号查找对应的进程ss-ltnp'sport=:<端口号>'输......
  • Ubuntu DC + Samba4 AD 实现双域控主机模
    文章将讲解如何使用Ubuntu16.04服务器版系统来创建第二台Samba4域控制器,并将其加入到已创建好的SambaADDC林环境中,以便为一些关键的ADDC服务提供负载均衡及故障切换功能,尤其是为那些重要的服务,比如DNS服务和使用SAM数据库的ADDCLDAP模式。第一步:为设置......
  • ubuntu20.04 配置编译安装nginx的systemctl启动命令
    vim/usr/lib/systemd/system/nginx.service[Unit]Description=nginx-highperformancewebserverAfter=network.targetremote-fs.targetnss-lookup.target[Service]Type=forkin......
  • centos7部署Vsftpd服务
    安装并开启自启yuminstall-yvsftpdsystemctlenablevsftpd修改配置文件配置文件位置:/etc/vsftpd/vsftpd.conf常用的需要修改以下////默认是允许匿名,需要关闭anonymous_enable=No//启用本地用户,默认是开启,这里不需要修改local_enable=YES//设置本地用户登陆......
  • jenkins部署spring boot
    安装docker,apt-getinstalldocker-ydocker部署Jenkinsdockerrun--namejenkins-p8080:8080-p50000:50000--restart=on-failure-vjenkins_home:/var/jenkins_homejenkins/jenkins:lts-jdk11在日志打印可以找到密码没找到可以进入容器在输入以下命令打印初始密......
  • CentOS 30分钟部署免费在线客服系统
    前段时间我发表了一系列文章,开始介绍基于.netcore的在线客服系统开发过程。期间有一些朋友希望能够给出Linux环境的安装部署指导,本文基于CentOS7.9来安装部署。我详细列出了需要执行的命令的全过程,跟随本文可以在30分钟内完成部署。简介升讯威在线客服与营销系统是基......
  • 部署tomcat,在tomcat下部署前端项目
    #铺垫1.选择一个部署的工具,并且连接会话2.选择先把jdk放在home目录下,然后解压,解压的命令是#tar-zvxf压缩包名称3.配置java环境变量,(此处省略)4.再选择tomcat放到home目录下,解压5.进入tomcat的bin目录,启动tomcat./startup.sh6.在浏览器上输入ip:8080会访问到tomcat首页7.修......
  • winscp的root连接ubuntu“拒绝访问”
    问题解决:1、修改ssh配置文件:vimetc/ssh/sshd_config在#PermitRootLoginwithout-password此行下新增一行:PermitRootLoginyes 使用MobaXterm直接修改文件与vi命令修改文件第一种:使用MobaXterm第二种:使用vi命令修改文件vi命令没有+默认第一行;+到文件最后一行......
  • ChatGLM2 部署全过程每一步超详细
    打开autodl,创建实例TeslaT4*1卡使用miniconda镜像。方法一:从huggingface下载这个步骤不稳定我们换种下载方式apt-getupdateaptinstallgit-lfsgitlfsinstallgitclonehttps://huggingface.co/THUDM/chatglm2-6b方法二:去清华云下载模型这个链接只能下载所有的模型......