| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Ubuntu20安装kubernets集群 -> 正文阅读 |
|
[系统运维]Ubuntu20安装kubernets集群 |
安装版本总览: 1、Ubuntu20.04 LTS 2、kubernets 1.21.0 3、Calico 3.19.1 集群配置:
准备工作:1、关闭交换空间并永久生效swapoff -a /etc/fstab 注释12行 2、关闭防火墙 ufw disable 3、配置DNS vi /etc/systemd/resolved.conf 4、安装docker #更新源:sudo apt-get update #安装所需依赖: apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common #添加 Docker 的官方 GPG 密钥: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - #新增软件源信息: sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu yakkety stable" sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu yakkety $(lsb_release -cs) stable" #再次更新源:sudo apt-get update #安装docker ce版: sudo apt-get install docker-ce #配置docker加速器: 阿里云免费镜像加速:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors /etc/docker/daemon.json { ? "registry-mirrors": [ ? ? "https://xxxx.mirror.aliyuncs.com",? // 根据上面链接使用自己的镜像 ? ? "https://registry.docker-cn.com" ? ] } 参考链接:https://www.cnblogs.com/songxi/p/12788249.html 5、安装Kubernetes工具 #安装系统工具: apt-get update && apt-get install apt-transport-https #添加 Kubernetes的官方 GPG 密钥: curl -fsSL http://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - #写入软件源: cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-yakkety main EOF #安装: apt-get update && apt-get install -y kubelet kubeadm kubectl 6、同步时间 #同步时区: dpkg-reconfigure tzdata #安装ntp和同步时间: apt-get install ntpdate ntpdate cn.pool.ntp.org #将系统时间写入硬件时间: hwclock --systohc 7、配置静态ip(会导致虚拟机无法联网) 注意:配置静态ip会导致虚拟机无法联网,未配置静态ip情况下,重启虚拟机,ip未发生变化,因此在实际操作中,未配置静态ip #配置ip: vi /etc/netplan/01-network-manager-all.yaml 添加: ? ethernets: ? ? ens33: // 使用ip a获取网卡名称 ? ? ? addresses: ? ? ? ? - 192.168.16.110/24 ? ? ? gateway4: 192.168.1.1 ? ? ? nameservers: ? ? ? ? addresses: [114.114.114.114] #配置ip生效:sudo netplan apply 8、修改主机名,编辑/etc/hosts #重启虚拟机 8. 在VMWare克隆虚拟机 ?集群安装:1. 在主节点配置kuberbetes #导出配置文件到新建目录:/usr/local/kubernetes/cluster kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml #修改配置 advertiseAddress: {本机ip} imageRepository: registry.cn-hangzhou.aliyuncs.com name: {本地主机名} #增加podSubnet podSubnet: "10.244.0.0/16"? -- 不能和主机ip网段一致,避免和calico的虚拟网段重叠 #查看所需镜像 kubeadm config images list --config kubeadm.yml #拉取镜像 kubeadm config images pull --config kubeadm.yml 解决coredns:v1.8.0无法拉取问题: docker pull coredns/coredns:1.8.0 docker tag coredns/coredns:1.8.0 registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0 参考资料:https://my.oschina.net/u/131940/blog/5058471 #安装主节点 kubeadm init --config=kubeadm.yml --upload-certs | tee kubeadm-init.log 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 Alternatively, if you are the root user, you can run: ? export KUBECONFIG=/etc/kubernetes/admin.conf 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.16.102:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:5e5ca33b30ed811eef0d3433a8809ec1defedfb09df34b918f28f17073eee313 2.按照上一步提示操作,在slave节点执行命令加入到kube集群 在master节点使用普通用户: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 修改/etc/profile文件,在最后一行添加: export KUBECONFIG=/etc/kubernetes/admin.conf source /etc/profile 在slave节点执行: kubeadm join 192.168.16.102:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:5e5ca33b30ed811eef0d3433a8809ec1defedfb09df34b918f28f17073eee313 #查看集群: kubectl get node 补充(如有需要):如果上述步骤配置错误,想重置kube: 1、在salve和master节点:kubeadm reset 2、在主节点:kubeadm init --config=/usr/local/kubernetes/cluster/kubeadm.yml --upload-certs | tee kubeadm-init.log 3、按照10步中,方式将slave节点加入到kube集群 3.安装calico:参考官方指导安装单节点kube集群: https://docs.projectcalico.org/getting-started/kubernetes/quickstart 1、安装Calico operate和自定义资源 kubectl create -f https://docs.projectcalico.org/manifests/tigera-operator.yaml 2、下载和修改文件custom-resources.yaml,安装Calico: wget https://docs.projectcalico.org/manifests/custom-resources.yaml 修改cidr: 10.244.0.0/16 kubectl create -f custom-resources.yaml 3、确认所有 pod 都在运行 watch kubectl get pods -n calico-system watch kubectl get pods -n kube-system 4.当创建单机版的 k8s 时,这个时候 master 节点是默认不允许调度 pod 的,需要执行命令将 master 标记为可调度。去除master污点 kubectl taint nodes --all node-role.kubernetes.io/master- 5. kubectl get nodes -o wide 6.kubectl get pods --all-namespaces ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 0:27:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |