k8s部署 及 knative 开发环境部署
1。安裝kubeadm
版本一定要是1.26
1.25的kubelet有bug
早于1.23的版本無法編譯kanative
(都是血淚教訓嗚嗚嗚
https://blog.csdn.net/yudaxiaye/article/details/126919267
sudo apt install -y apt-transport-https ca-certificates curl
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt update
sudo apt install -y kubeadm=1.26.1-00 kubelet=1.26.1-00 kubectl=1.26.1-00
2。安裝運行時(1.23后docker不是默認的了,我這里裝了containerd
containerd安裝腳本我寫好了(python)
需要提前把幾個安裝包準備好:
cni,containerd,runc,containerd.service
import subprocess import os import shutil def copy_file():shutil.copy('文件的名字', '復制的路徑位置')def runcmd(cmd):ret=subprocess.run(cmd.split(" "))if ret.returncode==0:print(">>> ",cmd," succ \n")else:print(">>> ",cmd," fail ",ret,"\n")def trydo(cb):try:cb() finally:print("")trydo(lambda:runcmd("tar Cxzvf /usr/local containerd-1.6.15-linux-amd64.tar.gz") )shutil.copy("./containerd.service","/etc/systemd/system") runcmd("systemctl daemon-reload") runcmd("systemctl enable --now containerd")runcmd("install -m 755 runc.amd64 /usr/local/sbin/runc")runcmd("mkdir -p /opt/cni/bin") trydo(lambda:runcmd("tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.2.0.tgz") )3。創(chuàng)建集群
首先需要有個配置文件
關(guān)鍵的幾個地方:
advertiseAddress //專門用來訪問的ip,可以是本地,外網(wǎng),zerotier
imageRepository //國內(nèi)訪問需要代理鏡像
apiVersion: kubeadm.k8s.io/v1beta3 bootstrapTokens: - groups:- system:bootstrappers:kubeadm:default-node-tokentoken: abcdef.0123456789abcdefttl: 24h0m0susages:- signing- authentication kind: InitConfiguration localAPIEndpoint:advertiseAddress: 192.168.193.3bindPort: 6443 nodeRegistration:# criSocket: /var/run/dockershim.sockimagePullPolicy: IfNotPresentname: MasterNodetaints: null --- apiServer:timeoutForControlPlane: 4m0s apiVersion: kubeadm.k8s.io/v1beta3 certificatesDir: /etc/kubernetes/pki clusterName: kubernetes controllerManager: {} dns: {} etcd:local:dataDir: /var/lib/etcd imageRepository: registry.aliyuncs.com/google_containers kind: ClusterConfiguration kubernetesVersion: 1.26.0 networking:dnsDomain: cluster.localserviceSubnet: 10.96.0.0/12 scheduler: {}4.knative 開發(fā)環(huán)境安裝
部署完照著knative步驟做就行了
https://github.com/knative/serving/blob/main/DEVELOPMENT.md
需要.ko.yaml 修改成 defaultBaseImage: docker.io/ubuntu
go語言版本1.19 需要設(shè)置環(huán)境變量:GOFLAGS=-buildvcs=false
具體見:https://github.com/knative/serving/discussions/13647#discussioncomment-4778471
總結(jié)
以上是生活随笔為你收集整理的k8s部署 及 knative 开发环境部署的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Golang方差算法
- 下一篇: 常用汉字字典拼音解释mysql数据表